あぁ、やはりJSとかいう頭ゆるふわ言語から吐かれたJSONとかいうゆるふわフォーマットを静的型言語でしばくのだっっっっっっっっっる
ボンクラプログラマー
頭とお腹が弱い。
最近は個人鯖の @shibafu528 がメインです。
⚠️ CW設定のない下品な発言が非常に多いです。これは仕様ですのでご了承下さい。
ℹ️ spam対策でフォロー承認制にしています。上の一文が構わないという方ならお気軽にどうぞ。
FINAL FANTASY XIV 関連の著作物は
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
あぁ、やはりJSとかいう頭ゆるふわ言語から吐かれたJSONとかいうゆるふわフォーマットを静的型言語でしばくのだっっっっっっっっっる
もっと鬱になってるのはこのJSONにはordered objectが含まれていることです
number | stringが湧いてくるわ、ordered objectが湧いてくるわ、JSだなあ。
error[E0277]: the trait bound `indexmap::map::IndexMap<std::string::String, std::string::String>: _::_serde::Deserialize<'_>` is not satisfied
そもそもOption<BTreeMap<String, String>>で受けてたほうがおかしかったか
Option<serde_json::Map<String, serde_json::Value>> で宣言部コンパイル通過した
JSON の曖昧な部分は struct レベルでは Value で受けて型チェックを自前でやると曖昧さが増したときに対応しやすいかもしれない(個人の感想です)
cargo run stub "$(jq うにゃうにゃ ファイル)"
みたいなコマンドラインだからね…
流石にコマンドライン上は正気を保ってるけど、展開結果がヤバすぎるし実運用できそうだったら本番でこうなる予定なんだよな……
あとはこれをgRPCでサーバ(※実装は存在していないものとする)に送りつければ、このクライアントexecutableの役割は終わりです
いい加減なデータの加工はいい加減にデータを操作できる言語でやったほうがいい、これが私の遺言です
このアカウントは、notestockで公開設定になっていません。
テキスト処理なんもわからんし、何なら任意の事象分からんから何も言わんほうがマシやwww
かくいう私も日本語2バイトに親しむ必要性とかはあっても他の国を理解していないので、他国のエンジニアに残念そうな目を向けられたことはあります
このアカウントは、notestockで公開設定になっていません。
調べ物でタブ開きすぎて、あーこれだからChromeはクソなんだよなーってなってる
tonic-buildで生成したコードがIntelliJで補完されないのつれぇ〜〜〜
ProtobufではMessage型のフィールドはnullableだけど、しかしこれがRustとなるといちいちSomeでラップすることになるのか……?
Protobufメッセージをそのままドメインタイプとして使うのはよくないが、しかしそれはそれとして雑にメソッドをextensionできたほうが取り回しやすいんだけどなあ
pb typeだけ別crateで生成してるから何も拡張できなく自分でしてるだけとも