0512
わりと黙々と作業をしていた。謎の遅いSQLを直したり、別プロジェクトのコードをサッと書いたりした。collationについての理解を深めたが、Postgresのja-JP-x-icuの挙動を仕様として決めるのも無理がある気がするし、どうすればいいのかねえ。
夜は久々にフロントエンドのコードを書いた。React Routerの便利機能は便利〜という感じだけど、ぴったりハマらないときは難しさがある。あとこれエラーの時どうすればいいんだ。
寝ます。
わりと黙々と作業をしていた。謎の遅いSQLを直したり、別プロジェクトのコードをサッと書いたりした。collationについての理解を深めたが、Postgresのja-JP-x-icuの挙動を仕様として決めるのも無理がある気がするし、どうすればいいのかねえ。
夜は久々にフロントエンドのコードを書いた。React Routerの便利機能は便利〜という感じだけど、ぴったりハマらないときは難しさがある。あとこれエラーの時どうすればいいんだ。
寝ます。
昼頃に起きて、スマホゲームやったりWebデザインやったりしていた。Webデザイン?Tailwind CSSのリファレンスを検索して書き写すことをデザインとは呼ぶまい。まあなんかそういう作業をしていた。完成度を90%から99%に近づけていく作業ってあんまりテンションが上がらないよな。99%から99.9%にする作業は逆に熱中したりするものだが。
夜は焼肉を食べた。なんとなく連休の終わりに焼肉を食べることが多いような気がする。まあ別に今回は連休ではないが。でもなんか、先週も三日しか仕事してないし、ゴールデンウィークが不甲斐ない感じだったから、今日まで飛び石連休だったような意識もちょっとある。そんなもんでいいのか?
「言語化」という営みの意味・是非についてずっと考えている。僕自身は感情を言葉にしようと手を尽くすタイプではあるし、そうすることでネガティヴな感情の落とし所を見つけるみたいな効果がある程度あるけれど、ここ数年(?)インターネットで持て囃されている「言語化」は、誰かがうまいこと表現したのがバズるというだけの現象の名前という感じがして好きになれない。お前は言語化が好きなんじゃなく言語化が好きな自分が好きなだけだろ。いや、まあ別にそれでもいいんだけど。
言語化の弊害もいろいろある。もちろん未分化な感情を顕わに書くことは必然的にディテールを捨象することだし、思い込みに囚われれば思い込みが強固になるだけだし、なにより有害なのは、言語はどこまでも届くということで、背景も何も共有されていない他人に伝わって(時にはバズって)しまうのは、無関係の多くの人に偽りの気づきを与えてしまうことだ。言語には言語のルールがあり、レトリックがあり、そしてそれは非常にしばしば誤解を生む。発言者が意図していない範疇にまで拡大して解釈されることも当然可能だし(それ自体は批評の対象として有意義でもあるが)、内容がなくとも雄弁術で納得させることもできる。納得。納得というのは危険だ。人間は何かを理解することではなく納得することを報酬として文章を読んでいる。
水みたいに飲める日本酒が危険であるように、心地よく納得できる文章も危険である(無論これもまた、納得感を増強するレトリックである)。
寝ます。
E2Eテストがflakyになってた問題は80%くらい直った。80%というのは今でもまだたまに謎の落ち方をするからだけど、まあ落ちる頻度がある程度下がったからいいことにする。そもそもE2Eテストなんかやってもなという気もする。
あと細かいCSS修正をちまちまやっている。あまり楽しい作業ではないが、やらないとリリースできないから仕方なくやる。フロントエンドエンジニアじゃないのにナ〜と思うしそもそもデザインが確定してない(当たり前)のだが。
寝ます。そういえば、なんかゴールデンウィークってもう終わったらしいですね。
早起きして負荷テストのリハーサルなどをする。まだ小規模だがとりあえず小規模なら問題なさそうとわかったのですこし安心した。課題もいくつか見えたし。来週はそこを直す。
夜はtailwindをv4に上げたりなんだりしていた。今更ながらE2Eテストが壊れている、というよりmswが有効になってなかったことに気づいたのだけど、有効にしようとするとビルドが通らなくなったりして困った。issueはあるんだけど誰も解決している様子がない。うーん……。
寝ます。
ねむーい。
何してたっけ。デプロイとかか。最近はtimesとかにあまり書かないようにしているから一日の終わりに何してたか思い出しづらい。
夜は同僚などと飲んでた。何の話をしたかは忘れた。これって僕の記憶力が死んでるだけか?
寝ます。
連休明けなので「ハァ〜なんにも思い出せないワ〜」みたいなことを言うのが社会性なのだけども、マジで倦んでいるとそういうことを言う気にもなれないのだなと思った。言って馴れ合いたいという感情がない。
仕事はなんかレスポンスキャッシュをとるつもりだったんだけど、SpringBoot+Kotlinがあんまり相性よくなくて挫折。SpringBootのバージョンを上げればいけると思われるのだが、なんか謎のエラーが出て上げられない。謎なのは無論僕が悪いのだが、謎の依存関係が多いSpringBootにも非があると思う。あとGradleも意味不明で嫌だ。
夜はTypeScript、というかViteと格闘していた。結局Viteは悪くなくて、React RouterとOpenTelemetryの相性のせいだったことがわかり、ChatGPTに教えられた通りに設定変更したらとりあえず回避はできた。そのあとTailwindをv4に上げようとしてまた躓いている。
これら2つの事例を見て思うんだけども、「Rustを採用しない」理由の2つ目くらいに挙げられる「エコシステムの枯れ具合」なんてのは、実際はどうとでもなるんじゃないのか。確かにRustはあらゆるクレートがバージョン0で不安を誘うけれども、この2つよりはずっと正気でバージョンを上げられる。それは無論習熟度の差も大きいのだろうし、運用に入ってしまえばバージョンなんか上げなくていいのかもしれないが。
エンジニア人生、他人の書いた謎のコードや他人の導入した謎の技術のマイナスをゼロに持っていく仕事ばかりしているなと暗い気持ちになる。これは、結局仕事なんてそんなものであるのかもしれないし、なんらかの不運があるのかもしれないし、貧乏くじを引きやすい性格であるのかもしれない。俺だって俺の考えた最強の設計でなんか作りてえよ。結局やり遂げる経験無しには人は成長しないわけで、その意味で尻拭いに良いところなどない。多彩な尻拭い経験が活きる日もいずれあるのかもしれないが、それはたぶんまた別の尻だ。そんなキャリアは嫌だよな。
さすがに他責的過ぎる?そうかもな。そうならちゃんとそう言ってくれればいいのに。
寝ます。
ハ〜 ニャオニャオ。
連休最終日。コード書いてたけどあまりうまくいかない。バックエンドのOtelのバージョン上げたらフロントエンドと連携されなくなっちゃってて、なんでかな〜と思ってガチャガチャやってた。Propagatorがないとダメらしかった。前は動いてたんだけどな。
あとは?DB絡みのテストを書く方法がないか調べていたけどSeaORMではsqlxのように簡単には書けなさそうだった。まあsqlx::testにデータベースだけ作らせてそこから自前でマイグレイションするとかはできるみたいだけど、そこまでするのもナという感じ。結合テストは書いてるしな。
今書いてるくらいの規模だとSeaORMなんかやめてsqlxに寄せるという判断も全然あり得るとは思うが、まああとで考えよう。
そしてViteのバージョン上げたら?フロントエンドも壊れてしまったので直さないといけない。フロントエンド開発ってのはこれだからな。
寝ます。思い掛けず夜更かししてしまったや。
相変わらずエラーハンドリングで悩んでいる。結局、エラー発生箇所でログを取るのは書きづらいし忘れやすいが、エラーレスポンスを作るときにログを取るとSpanとの紐付けが失われてしまうジレンマは回避できない。ChatGPTに相談したらこれは両方でエラーログを取りつつ適宜UUIDなどで重複をフィルタできるようにするなどを提案されたが、それもそれで大変そうだなと思っている。うーん。なんか自分で作ったほうが良いのか?
微分形式についてすこし学んでいるが、結局手を動かしてないのでサッパリである。今年の後半はひさびさに数学に取り組むのもいいかもしれない。まあ微分形式をやりたい動機はどちらかというと物理学だけど。
寝ます。もう連休も終わり。(先週も2日休んでいるとはいえ)4連休しかなかったから、なんか全然ゴールデンウィークって感じではなかったな。
error-stack対応をようやく終わらせたが、結局thiserrorもanyhowも入った形になっており、本当にこれがやりたかったことか?と思っている。いや、トレースが見やすいのはとりあえず加点だけども。でもログがちゃんとエラー発生元のspanに紐づかないので、まだ何が追加でやる必要がありそう。
これはsnafuでよくない?という気持ちは正直あるが……。
引き続きChatGPTにコホモロジー群とコホモロジー環について教えてもらう。まあ正直あまりよくわからないが、一旦満足したので、今度は微分形式について教えてもらう。n-formの何たるかはわかったような気がするが、外微分は何なのかイマイチわからない。あとこの辺って記法がややこしすぎない?僕がよくわかってないだけか?
寝ます。
なんとはなしに代数的トポロジーの復習をしている。ホモロジー群までは一応雰囲気だけ分かっているが、コホモロジーのことは勉強しなかったので、ChatGPTに教えを乞うている。o3は相変わらず説明が駆け足だが、待ってくれと言えば待ってくれる。ただ、加群の双対とか言い出すと抽象的で難しいな。ポテンシャルのアナロジーでコバウンダリ作用素の気持ちはちょっとわかったが、コホモロジー群が何を計算していることになっているのかはまだよくわかっていない。御利益も。
寝ます。