1120
胃もたれがひどい。なんだこれ。
ちまちまコードを書いたりGitHub Action沼にはまったりしている。GHAは実際動かしてみないとデバッグできなくて不便だなあと思っていたが、どうやらローカルで試せるツールがあるらしい。試してみようかな。でも金曜日休みだから明日のうちに実装を一段落させておきたい気もする。
相変わらず具合がよくない。寝る。
胃もたれがひどい。なんだこれ。
ちまちまコードを書いたりGitHub Action沼にはまったりしている。GHAは実際動かしてみないとデバッグできなくて不便だなあと思っていたが、どうやらローカルで試せるツールがあるらしい。試してみようかな。でも金曜日休みだから明日のうちに実装を一段落させておきたい気もする。
相変わらず具合がよくない。寝る。
風邪ひいたかもしれない。喉がちりちりしたり、頭が重かったりする。
どうやってもその本質について語ることができないなら、何かについて語ることは無意味なのではないか、と言っている人がいた。でも、面白いマンガが多様なように、多様な在りかたのそれぞれについて語って、それらを眺める視点を変えて、自分の中での位置関係を考え直して、という過程には意義があると思う。マンガの面白さに「本質」なるものがなくても、評論の仕事はある。
谷川俊太郎が亡くなったらしい。氏の作品についてそれほど詳しいわけではないが、読むとなるほど詩というのはこういうものなのだなと思う。
寝る。健康を取り戻したい。
なんだか調子が悪い。昨日歩き疲れたせいかもしれないし、特に関係ないかもしれない。
仕事はリファクタの可能性を弄んでから断念していたら終わった。やれなくはないけど大変そうだし、さほど御利益もなさそうだ。いや、長期的にはたぶんやったほうがいい、少なくとも今の状態は中途半端だと思うのだけど、なんかまあ、そんな気力を出す気にもなれない。愛着をなくしたコードベース。
夜はまたLLMにテストコードを書かせていた。PostgreSQLとMeilisearchはテスト用に作っては消しする方針にした。まあ結合テストなんてそんなにたくさんは書かないし。いや、単体テストもすこしは書くか。
仕事してて思ったのだけど、やはりClean Architecture的な、ロジックと永続化の分離は、トランザクションの部分で困難を抱えているなと思った。並行アクセスされることを考えるとユースケース単位でトランザクションを作りたいが、ユースケースは永続化層について無知であるという建前があるので難しい。永続化層について抽象化されたトランザクションを作ることは考えうるけど、それって正しいことなのか……?
寝ます。そういえば会社のアドベントカレンダーに参戦することにしたので、雪の結晶シミュレイションの論文をちゃんと読み直す。
昼頃に起きてデザフェスに行った。ビッグサイトに行くのは2回目か?前は展示側だったけど。
なんか、全然どうでもいいなと思ってしまった。ツイッターで流れてきたらふぁぼるけど自分で所有したいとは全然思わないものが無限にあった。お金に余裕があったらふぁぼる代わりに買うんだろうなと思った。供給過多では?
なぜこうなるのかについての仮説があって、要するに「自分の欲しいぶんだけ作る」みたいなのが制作費的にも創作意欲的にも難しいのではないかと思う。キーボード基板は発注すれば5枚スタートだったし、もっと凝ったものならもっと多くないと作れないものもあるだろう。材料だって余る。そうなるとまあ、売ってみるかみたいな気分になるのではないか。まあこれは完全に推測なんだけども。
それにしても、なんかものすごい大勢の自意識を一度に浴びてしまってひどく疲れた。やはりこういうのは苦手だ。いや、ほとんど行ったことないのだけど、苦手だろうなと思っていたら実際そうだったみたいな話。でも何か作る意欲は刺激されるよね。どうせ行くなら、どうやって作るのか直接訊くみたいなことをすべきなのだろう。
あとはちょっとだけコードを書いた。あんま書いてない。データベースアクセス層は単体テスト書くより結合テストでカバーした方がいいかもしれないとLLMが言う。どうなんだろうね。いやー、とはいえ簡単には単体テストも書いたほうがいいかも。面倒だけど。
結局開発のときにPostgreSQLに依存するなら、テストもそうしてしまっていいんじゃないか。あとはよしなにDBリセットする枠組みをどう作るかだが。
寝ます。
テストカバレッジ上げてた。といっても基本的にはLLMがなんか提案してくるのをボタン押して承認しているだけ。基本的にはまともな提案をしてくるのだけど、やりとりが長くなるとさすがにコンテキストに収まりきらないのか前に指示したことを忘れてしまったりするし、ファイルが長すぎると生成しきれなくなる。長すぎるなという話はあるのだけど、テストコードだからどうしても長くなることもある。
LLMはRustの所有権システムがすこし苦手かもしれない。ボローチェッカーのエラーに対して的外れな修正をしてくることが多かった。もっとも僕もどうするのがベストプラクティスなのか正直わからんでやってることも多いから、LLMに限ったことではないかもしれないが。
カバレッジはそこそこ上がったが、データベースが絡む部分をどうするか、まだ考えあぐねている。testcontainersを使うと楽なのはわかっているけど、なんかあんまり安定しないしやりづらかった気がするのよね。seaormだからsqlxのテスト機構を使えたりしないだろうか。その場合でもデータベースは必要になるけれど。sqliteが使えるならそれでもいいかもしれないけれど。あと昔作ったテストごとにデータベース作って消してする奴を持ってくるのもアリ。
「正論で殴る」というような言い回しはとかくツイッターでは評判が悪いけれども(みんな正論の肩を持つのが好きだから)、正論で殴っているというか、殴っているときに持っている棒がたまたま正論であるだけの奴が掃いて捨てるほどいるのもツイッターなので、それを批判する方法が別途必要なのだろうと思う。「大衆」と一言で言えるような気もする。
寝るます。
なんかボンヤリした日だった。GitHub Actionsを盆栽したりしていた。まさか進捗それだけか?まさかな。
近所に比較的最近できた居酒屋に行った。すこし割高だけどおいしかったので、これはアタリかもしれない。
寝ます。今日はなんもしてないなあ。
最近守りに入ってばかりでよくないな〜と思ってるんですよ〜みたいなことを1on1で上司に相談したら、上司のほうもそう思っていたということがわかった。状況的に仕方ないのだけど、それならそれで、状況を最速でなんとかする方向に動けるといいねみたいな話をした。どうすっかな〜。
「一億年のテレスコープ」読んだ。難しい架空物理学理論の出てこないディアスポラか。こういうのを、宇宙船で旅をしているだけでSFを名乗るんじゃねえくらいに思っていた時期もあるけれど、こういうのはこういうので面白いなと思った。いやまあ、俺はイーガンが好きなんだよ〜とは思うけれども。
最近のSFあんまり読んでないんだよね。また読みたいな。
寝ます。また夜更かしを続けてしまった。はー。
Clineを試している。VSCodeのプラグインで、Claudeにコードを書かせられるやつ。テスト書いてくれんか?みたいなことを言うと試行錯誤しつつ書いてくれる。実装が込み入っていると一発OKというわけにはいかないが、何度かボタンを押しているだけでコンパイルエラーなども見つつ修正してくれる。コンソールでテストを実行してその結果を自分でチェックすることも。すごいなーと思った。ただClaudeのRate Limitはすぐぶつかる。もっと課金してTierを上げればいいのか?
無限匹の猿にタイプライターを叩かせるといつかシェイクスピアを書くだろう、みたいな話があるけれども、超LLMアシストタイプライターならもっと短い時間で成功するかもしれない。ここまで考えてこれは「これはペンです」の話だなと思った。
夜は会社の人と飲んだ。受託開発ってどうしても魅力ないよなみたいな話をした。まあね。安定してるのはいいことだけどね。
寝ます。
相変わらず仕事は何なのかよくわからない。ブランチ戦略とか考えていた。あとは同僚がCopilot Workspaceを触っているのを見ていた。なるほどissueになんか書くとそれらしいコードを出そうと頑張ってくれるが、「いい感じに」みたいなことだけ書いても結局動かすのは一苦労だったりするので、本当に知識ゼロから始めるのはまだ厳しそう。でもテスト書いて!とかだったらいけそうだし、もっと具体的な開発タスクならそれなりにいけるんじゃないだろうか。それはまた今度見る。
夜はこのblogの新バージョンをひっそりと仮デプロイした。まだ仮なので、いつものドメインでアクセスしている人は以前のを見ています。応答時間は50〜100msで、これは現行よりはだいぶ遅いが十分許容可能だし、Cloudflare Workersだと最悪ケースが1000msくらいになるので(キャッシュしたら200msくらい)、今回は自前でやる方がいいかなと思った。つまんないけど。でも一通りデプロイ手順はやったし、また何か仕事とかで出会うことがあればスムーズに使えるでしょう。
寝ます。
中野梓さんお誕生日おめでとうございます。
仕事は相変わらずモンニャリしている。結局、自分の責務が分散していてどれにも集中できていないのが問題なのだろうな。見積もりなら見積もりを、仕様検討なら仕様検討を、実装なら実装をしていたい。根本的に集中力がないのかもしれない。やることが複数あると、今やっているタスクが行き詰まるたびに他のタスクをやろうとしてしまうが、人間はそんなに素早く頭を切り替えられるようにはなっていない。
そもそも真の優先順位がよくわからないのも問題だ。今って何する時間なんだっけ?うーん。
タスクをきちんと洗い出すこと。時間を区切って集中すること。とりあえずこの2つをやればいいのか。でも根本的にはつまんないからこうなってんだよな。
寝ます。