「api」を含む日記 RSS

はてなキーワード: apiとは

2022-08-13

プログラマー生産性は人により100倍くらい差があるというけれど

 割りとマジだよねと思う出来事をふと思い出したので書いてみる。

 といっても後輩が俺の思ってもいないところでつまづいて、それに俺がカルチャーショックを受けたというだけの話。

 問題の話なんだけど、とある有名サービスJSON APIを叩いて呼び出し結果を手元のオブジェクトマッピングするというただそれだけのコードを書くというもの

 普通に考えて一日もしないで出来ると思うような代物だけど、三日以上悩んで彼はそれでも出来なかった。

 何があったかというと、そのJSON API

{ ..., "count": 10000000000000000000000000000000000000, ...}

 という感じで多倍長整数リテラルとして書かれているのを前提として受け取る仕様だった。

 JavaScriptの通常の整数と違って、JSON整数リテラル仕様上大きさの制限記載がないので、上のようなのも合法

 で、彼の使ってたプログラミング言語オブジェクト から JSONの変換ライブラリが、多倍長整数文字列("")としてシリアライズするような仕様なことがわかって、彼は行き詰まった。

 そこで何をやり始めたかというと、JSON整数がそのまま1000000000000000みたいにシリアライズされるライブラリ探し始めたんだけど、それは見つからないまま。

 というわけで「増田さん、詰まってるんですけど……」と言われて助け舟出すことになったはいものの、彼のコード見るとJSON抽象構文木クラスがそのまま使えるようだった。

 なので、

String serialiaze(Ast.JsValue value) {
    return switch(value) {
        case Ast.JsNull nullValue-> "null";
        case Ast.JsInt bigIntValue -> bigIntValue.toString();
        case Ast.JsArray arrayValue -> arrayValue.stream().map(v -> serialize(v)).collect(Collectors.joining(", ", "[", "]"));
        // 他のJSONの木についても同様に処理
        default -> throw new RuntimeException("cannot reach")
    };
}

 1時間しない内にこんな感じのコード言語Javaじゃなかったけど、だいたいこういう感じ)を書いて無事問題解決。細かいタイポとかあるかもだけど、日記では確認してないのでそれはおいといて)。

 結局、JSONの形が期待と違って、しか既存APIじゃいいのがなかったのに延々API探すことしか出来なかったのが問題解決できなかった原因だけど、このくらいのは割りとちょこちょこある。

 きっと、それから一週間放置しても問題解決できなかっただろうし、どうも同じチームの同僚も問題解決できなかったようだった。

 最近APIは叩けるけど、そこでトラブルとどうにもならなくエンジニアにちょくちょく遭遇するんだけど、やっぱりもうちょっと基礎出来てないと駄目だなと思った出来事だった。

 具体的には、再帰が相性が良いプログラムを書けるとか、APIに頼れないときはさっさと自作する頭の切り替えとかもろもろ。

 それと、情報大学出てるのなら、せめて木構造に対してはサクっと再帰関数くらい書けてほしかったなと思う出来事だった。

プログラマー生産性は人により100倍くらい差があるというけれど

 割りとマジだよねと思う出来事をふと思い出したので書いてみる。

 といっても後輩が俺の思ってもいないところでつまづいて、それに俺がカルチャーショックを受けたというだけの話。

 問題の話なんだけど、とある有名サービスJSON APIを叩いて呼び出し結果を手元のオブジェクトマッピングするというただそれだけのコードを書くというもの

 普通に考えて一日もしないで出来ると思うような代物だけど、三日以上悩んで彼はそれでも出来なかった。

 何があったかというと、そのJSON API

{ ..., "count": 10000000000000000000000000000000000000, ...}

 という感じで多倍長整数リテラルとして書かれているのを前提として受け取る仕様だった。

 JavaScriptの通常の整数と違って、JSON整数リテラル仕様上大きさの制限記載がないので、上のようなのも合法

 で、彼の使ってたプログラミング言語オブジェクト から JSONの変換ライブラリが、多倍長整数文字列("")としてシリアライズするような仕様なことがわかって、彼は行き詰まった。

 そこで何をやり始めたかというと、JSON整数がそのまま1000000000000000みたいにシリアライズされるライブラリ探し始めたんだけど、それは見つからないまま。

 というわけで「増田さん、詰まってるんですけど……」と言われて助け舟出すことになったはいものの、彼のコード見るとJSON抽象構文木クラスがそのまま使えるようだった。

 なので、

String serialiaze(Ast.JsValue value) {
    return switch(value) {
        case Ast.JsNull nullValue-> "null";
        case Ast.JsInt bigIntValue -> bigIntValue.toString();
        case Ast.JsArray arrayValue -> arrayValue.stream().map(v -> serialize(v)).collect(Collectors.joining(", ", "[", "]"));
        // 他のJSONの木についても同様に処理
        default -> throw new RuntimeException("cannot reach")
    };
}

 1時間しない内にこんな感じのコード言語Javaじゃなかったけど、だいたいこういう感じ)を書いて無事問題解決。細かいタイポとかあるかもだけど、日記では確認してないのでそれはおいといて)。

 結局、JSONの形が期待と違って、しか既存APIじゃいいのがなかったのに延々API探すことしか出来なかったのが問題解決できなかった原因だけど、このくらいのは割りとちょこちょこある。

 きっと、それから一週間放置しても問題解決できなかっただろうし、どうも同じチームの同僚も問題解決できなかったようだった。

 最近APIは叩けるけど、そこでトラブルとどうにもならなくエンジニアにちょくちょく遭遇するんだけど、やっぱりもうちょっと基礎出来てないと駄目だなと思った出来事だった。

 具体的には、再帰が相性が良いプログラムを書けるとか、APIに頼れないときはさっさと自作する頭の切り替えとかもろもろ。

 それと、情報大学出てるのなら、せめて木構造に対してはサクっと再帰関数くらい書けてほしかったなと思う出来事だった。

2022-08-11

anond:20220811194557

追加で何かを学べば引き出し増えるのはUNIXCLIに限った話でもないやん

WEBしかやってない人がiOSAndroidAPIIDE学んだって引き出し増えるし

UNIXCLIという特定環境依存したもの(組み込みスマホアプリPCアプリ作成者にとっては知らなくても開発可能)である必要もない

お前がWEB系以外の開発スタイルを知る気がないのと同じように非WEB系いTエンジニアWEB系のことなぞ知る気があるわけではないことに気づけやで

anond:20220811134028

質問内容がOS公式APIやGooglePlayAppleStoreの使い方やら言語仕様だったりでワイの開発したソフトウェアに関する質問やないので

公式ドキュメント嫁と思ってしまうが上司から素直に教えてるやで

2022-08-08

anond:20220808000147

Python の次は Go なんて不要

必要でしょ。

Goなら、Pythonで扱うにはいささか高度あるいは込み入った内容を、いきなりJavaで学ぶよりは効率的に学べる。

Javaは依然として現代的なプログラミング言語一角を占めるけど、反面API関係大袈裟すぎて、APIを探し回る事が高度なプログラミングみたいな勘違いを起こさせそうな所が、個人的にはイマイチ

2022-08-06

golangechoフレームワーク勉強してるんだが

これ画面のあるwebアプリケーション作るのに向いてないよね?

PythonのFlaskみたいな感じかなと思って触ってみたが、Flaskが超多機能に思えるほど、webアプリケーション基本的機能がない。

formのCSRF対策なんかの基本的セキュリティ機能さえないのにはぶったまげた。

APIには向いてると思うよ、でも画面のあるwebアプリケーションに向いてる気が全くしない。

みんなgolangで画面のあるwebアプリケーション作るときどうしてんの?

2022-08-03

AIについて

AIは、トンカチでしかない、というのを理解するにはどうしたらいいのだろうか。

トンチンカンクライアントからすると、AIがあるとすべてよしなにやってくれると想像するが、

現実としては、AIAPIと同じなので、

システムがあって、システムがそのAPIを呼び出して結果を得て、それを後続につなぐので、AIは一部分でしかない。

2022-08-02

anond:20220802100107

結論から言います

作れません

開発には公式が発行するAPI必要だけど新規受付は5年前に停止しました

スクレイピングなら作れますが、規約上では一応禁止です

2022-07-30

ハテブにクマ顔文字を多数つける人ってスターをたくさんもらう前提で

建設コメント順位付けモデルAPI対策してるの?

それってすごく痛くない?

2022-07-27

anond:20220727151441

SE脳だけど

Excel(少なくとも表形式)じゃないDB定義書想像できない

DB定義書なり機能定義書ベストプラクティスがあったら是非教えてほしい

API定義書swaggerとかで良いんじゃないかと思ってる(業務では使ってない)

低学歴の世界

anond:20220727042958

はてなスター取得 APIというのがあるので、ブコメに対してスターをつけてる人を調べることはできる

https://developer.hatena.ne.jp/ja/documents/star/apis/entry

今まで書いた自分ブコメ一覧を調べる方法は知らない。全文検索APIでできるかも(試してない)

https://developer.hatena.ne.jp/ja/documents/bookmark/apis/fulltext_search

2022-07-20

建設コメント順位付けモデルAPI 調査メモ

めったに調査しないのですが、気付いたとき追記していきます

いつもの都の意気込み「最大約29万件/日の体制を確保」(https://www.bousai.metro.tokyo.lg.jp/_res/projects/default_project/_page_/001/021/799/91/20220630_09.pdf) ←いったいどんな条件が整ってれば実現できるんですか???

最後の?が4つだとセーフ、5つだとアウト。

2022-07-19

建設コメントAPI導入から1年

大喜利が盛り上げらなくなかったとの声はあるし俺もその気持ちは分かるが、そもそもブックマーク大喜利をすることがまともとは言えないのも確かなこと

この導入を理由はてブをやめた奴はいなかったわけで、嫌だ嫌だと言いながらもみんな受け入れていったんだ

現状が建設的なコメントであふれているとはとても思わないが、ユーザ数の推移を見るに、はてな的にはまずまずの成果なんじゃないの

はてなにはなお一層の努力を期待しますʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ

2022-07-17

山上徹也さんこと@333_hillさんのツイートアーカイブしました

リンクhttps://mega.nz/file/gclB0aLC#YICFsYuQBica-0Pis4sgj88GDwL6dzahfBJW2w2wc7E

消される前に。

APIで取得しています。1(リ)ツイートが1つのjsonファイルになっています

すべての情報が含めれる代わりに検索には不向きです。

何らかのデータ加工をして利用してください。

取得したのは今日20時ぐらいです。

2022-07-13

IDaaSって設計複雑なん?

API連携したら終わりって単純なもんじゃないのかな

質問ぐらいさせろよ

〇ニーの請負

Oktaの仕様おかしい所あるから質問したいって例文作ったらなんか難癖つけられて困る

発生する症状がおかしいからこっちも困ってんのに担当者半日説明ばっか

無駄検証を一日中やってやっぱりおかしいと思って質問させてってお願いしたら再検証

もうめんどいanond:20220713112242

2022-07-09

anond:20220709071435

そのために建設コメントなんちゃらAPI導入したんじゃないの?

2022-07-08

React とは「選ばれし者たちだけが振れる伝説の剣」である

私がまだ駆け出しだったころ React に挑んで挫折した。

JSX別に気持ち悪いとは思わなかった。classNameとhtmlFor以外は)

------------------------------------------------------------------

そんな自分でも Vue は一瞬で理解できた。

使いたいデータは data に書けばいいし、使いたい関数は methods に書けばいい。

非常に単純明快だ。

------------------------------------------------------------------

React は、JS をある程度理解していないと使うことすらままならない。

さらに React の設計思想を深く理解していないと、うまく使いこなすことはできず render 地獄が生まれしまう。

「俺たちの設計思想理解できない奴は使わなくていいよ。初心者のためにわかやすくなんか絶対しないよ」と言うメッセージを、駆け出しの私は確かに受け取った(実際そう思ってるんじゃないかな)。

------------------------------------------------------------------

React 推しエンジニアほとんどは、発表当初すでに JS に強かった人が多い。

そして Vue すら理解できないエンジニア世間にはゴロゴロいることも知らない層だと思う。

から批判に React を礼賛できる。そりゃ自分や周りが振る分には切れ味最高なわけだからね。

その剣を持ち上げることすらできなかったり、持ち上げられてもうまく振れない人々がいるなんて、思いもしないのだろう。

------------------------------------------------------------------

React は実際、多くの美点を持つライブラリである

しかし強いエンジニアに影響された何もわかってない駆け出しが「React 最高〜〜 Vue はクソ」みたく嘯いているのを聞くと「本当にわかってて言ってる?」と思わざるを得ない。

Vue の Options API すら理解できない人々に、useEffect が使えるわけないからだ。

React 信者たちは「俺達が簡単に覚えられたんだからお前らもできるだろ」的な知的マッチョ思想で、不特定多数の駆け出しにReactを勧めるのを今すぐやめるべきだ。

------------------------------------------------------------------

もちろん強いとわかってる後輩には勧めていいけどね。

日本エンジニア給与の下限は、Reactを習得する対価としては低すぎるのです。

------------------------------------------------------------------

最後一言、Svelteはいいぞ

(こんなことを書くとステマだと言われるが、書かないと「じゃあ代替案を出せ」と言われるから一応ね)

2022-07-07

インボイス公表情報ダウンロード

インボイス公表情報ダウンロード

https://www.invoice-kohyo.nta.go.jp/download/index.html

すでに登録済みの個人事業主名前の一覧がダウンロードできます。住所も記載している人は一緒に住所がダウンロードできます。 住所書いている人は10%もなさそうだけど。

番号検索したら、その人かどうか確認できるくらいの仕様にしておけばよかったのに。なぜ一括ダウンロード機能をつけちゃったのか。

会計ソフトとか連動するのはAPI連携でいいだろうしね。

anond:20220707114826

ところで英語苦手な人にありがちなんだけど、boolだったらなんでもかんでもisXxxってつけるのやめてほしい

「このAPIログイン必要とする」

「このデータにはログイン情報が含まれる」

「この処理はログイン操作である

みたいな異なる意味パラメータが全部isLoginで表されてるひどいコードを見たことがある

ログイン ユーザー登録
ようこそ ゲスト さん