andante

2021-03-30

0329

人々は平日ですが僕は四連休の三日目なので休日でもまあ結局書斎でコード書いてるのだし普段の仕事と特に違いはないという話もある会社のSlackは見てるし

それでtwlgの実装を進めたフロントエンドはほぼ完成と思うテストは書きたいけど問題はバックエンドで完成していたと思っていたクローラの挙動が不穏だったので調べていたrustでTwitter APIを叩くegg-modeというクレートがあるのだけどこいつはEntityの文字列オフセットを勝手に変換しているようだTwitter APIはコードポイントオフセットで返しているがegg-modeはrustで扱いやすいようにバイトオフセットにしているそれはそれでありがたいけど過去のデータとの互換性が壊れて困るので結局Twitterクライアントを書きなおすことになったtokio 1.xと互換性のあるreqwestのOAuth1拡張がなかなか見つからなくて難儀した
あとserdeはクリーンアーキテクチャと相性がよくない気配があるというのもderive(Deserialize)は構造体定義につけるものだからドメイン層のものだけどよく考えるとJSONデシリアライズは実装詳細インフラ層なのであった真面目にやると結局インフラ層のためのモデルとドメイン層のためのモデルが分離することになるし実際今回はそうしたのだけど……まあそこは変換不要であれば同一視するくらいの感覚がよいのだろう今回はでもTwitter APIがRFC 5322の形式で日付を返すのでモデルが必要だっただるい
tokio 1.xと互換性のあるクレートが地味に足りていない問題はたびたび躓く活発なプロジェクトであればβ版くらいは提供されているがそうでもないとそうでもないrust自体はそれなりに勢いのある界隈だし時間が解決するのだとは思うけれども
今日デプロイまでこぎ着けたかったけどバックアップのことを忘れていたので一回休み明日やろう


こういうことをわざわざ言うと嘘くさくなるのは承知なんだけど僕はもしかすると競争というものからけっこう自由なのかもしれないと思う中学受験を経験しておいて競争してないってのも変な話なのだけどその先ではけっこう競争の価値観から外れて生きられているのではないだろうかまあドラマとかで表現されている競争社会がどの程度リアルなものなのかはわからないしけっこう割り引いてみないといけないだろうけれど……少なくとも僕はこの五年くらいは好き勝手やっていると思っているしそれで満足できているのは幸運なことだろう
そういう状況のために有効だったのはやっぱり中学受験だったりなんだろうかそれとも結局僕のような人間はどこでもそういう風に生きていけるということなのだろうかでも結局僕のような人間が僕のように育つためには僕が生きてきたような環境が必要だったと考えることもできるだろう僕は単に幸運だったのだろうかそれとも僕に教育を施そうとした両親の努力の結果なのだろうかまあ両親は僕にもうちょっと立派になってほしかったようだけど……