何だっけ。なんかコードレビューしてたら一日終わった気がする。結局他人のコードのレビューって疲れるんだよな。やらないわけにもいかないが。特に相手がAIだと、あいつらには美学ってもんがしばしば欠如してるから。CLAUDE.mdに書けばいいのか?
Web拍手関連のリファクタを終わらせたので、次はデザインに入らねばならない。SVGをうまいことアニメイションさせたいんだけど、どうしたらいいのかな。
寝ます。
何だっけ。なんかコードレビューしてたら一日終わった気がする。結局他人のコードのレビューって疲れるんだよな。やらないわけにもいかないが。特に相手がAIだと、あいつらには美学ってもんがしばしば欠如してるから。CLAUDE.mdに書けばいいのか?
Web拍手関連のリファクタを終わらせたので、次はデザインに入らねばならない。SVGをうまいことアニメイションさせたいんだけど、どうしたらいいのかな。
寝ます。
Claudeにあれこれ指示してはちゃぶ台を返している。人間相手だと気が引けるけど、AIだったら気にしなくていいので助かる。
Web拍手機能をつけると、投稿に紐づくエンティティが増えるということで、設計がすこしややこしくなる。初めはまとめて集約とすべきかと思ったのだけど、そうするとデータ競合が起きそう……とか考えているとClaudeにあれとこれをくっつけて、やっぱり戻して、などの指示を出すことになる。うーん。ChatGPTとも相談しているけど。
今回のパターンは別に投稿と拍手の間に不変条件とかはないから集約にしないでFAだと思うけど、せざるを得ないパターンだったらどうすればいいのかはよくわからない。ユースケースのレベルでトランザクションを張るというのが一つの方法だろうけど、アクターなりキューなりで直列化するのもいいらしい。楽観的ロックとか。うーん、難しい。こういうのから逃げずに考える必要があるプロジェクトに入って修行を積みたい。
寝ます。
デカいPRのレビューと、Claudeに書かせたコードの修正をしていた。あまり大きなissueをそのままClaudeのactionに投げるのは得策ではない。細かくフィードバックできないし、長くなりすぎるとタイムアウトするし、CI何度も回すとコスパが悪い。そういうのは適宜issue分割する(本当はそうすべきなんだろう)か、手許でやるとよさそうだ。手許でClaudeが書いてくるコードを観察して、時々ストップを書けてやり直させていると、なんかペアプロっぽいなと思う。ペアプロやったことあんまないけど。
aboutページをちょっといい感じにする改修をした。過去に作って公開しているプログラムのデモページにリンクして、OGPでサムネイルなんかも表示している。オシャレ!これは公開が楽しみだ。別に誰も見ないだろうけど。
あとrenovateのセットアップをした。これでたまに更新のPRが来るはず。
寝ます。
なんかひさびさに投稿中のフォームが消えてしまった。Safariがメモリ不足時にタブを解放してしまうのか何なのか。誤ってリロードなどしてしまった時のために簡単な下書き自動保存機能はあるのだが、フォームがクリアされるとそれもクリアされてしまうから救えない。でも何とかしたいよなあ。
今日はたいしたことはしていない。昨日Claude Codeに書かせたaboutページの改修を調整したりしていた。コードを書くのはLLMに任せられるが、デザインを調整するのはまだそういうわけにはいかない。Figmaとかを使えば結構できたりするのか?いや、さすがにまだそこを手放したくはないけれども。
寝ます。なんか今週はバタバタしてたら終わりそうだな。いつもそう言ってる気もするが。
会社でClaude Codeを使い始めた。単騎でそれなりに使えるのはわかっているからと思ってGitHub連携を試してみた。issueを書いてメンションすると実装に入ってくれる。細かい改善点はありそうだが、とりあえずは有り難い。僕の仕事は素早く正確にissueを書くことになったのかもしれない。
$30ほど溶かして開発タスクを3つこなした。これを高いとみるか安いとみるか。でもシンプルに金をコードに(オンデマンドに)変換できる装置だと思うと存在自体にまあまあの価値があるか。
はてなスターの設置を一旦断念したので、なんか類似の機能を持つWeb拍手的なボタンを置けないか試している。これもClaude Codeに書かせた。
そういえばClaude Maxプランに入ったので、Rate Limitつきの使い放題になった。せっかくだからgit worktreeも使いつつVSCode2窓で並列作業もさせた。このくらいならまだ疲れるというほどではないけれど、単に別にタスクがなければ何もしなくていいからで、業務だったらどんどん次のタスクを作るプレッシャーはあるだろうな。
アイドルプロデュース業の進捗。篠澤広さんのNIA編クリアと、花海佑芽さんのNIAマスタークリア。やっぱりロジックでやる気系の人々が一番やりやすい。月村手毬さんもそろそろクリアまで持っていきたい。
寝ます。
はてなスターをSSRで使うのはやはりかなり困難だという結論に達した。初回読み込みだけはどうにか(それでも100%ではなくタイミングによってエラーになるが)実現できたが、ページ遷移で読み込み直すのが難しい。Claude Codeと一緒にあれこれ試していたけど、「2008年のSDKを現代のモダンWebで使うのは無理があるって」みたいなこと言われてしまった。そうなんか?そうなんかもな。一応問い合わせを投げてはみたものの、それで解決するような気もしない。
寝ます。
なんかコードレビューしてたら終わった。あと業務でClaude Code使いたいのでAnthropic APIのキーを使うための稟議を出した。稟議ってやつの必要性は百歩譲って認めるにしても、もうちょっとやりやすくなっていてほしい。前職はもうちょっとマシだった気がするんだけど、使ってるシステムが悪いのか?
はてなスターへの対応で躓いている。これSSRとかにあまり向いてないんじゃないだろうか。うーん。そもそも令和七年にはてなスターをつけようとする人間があんまりいない気はするよな。
とりあえずClaude Codeにultrathinkさせてみるけど、無理なのかもな。いやどうにかなるでしょ。
6月3日は月村手毬さんの誕生日だったということで、なんかミニライブが公開されていた。なんか長いな(19分)と思ったら4曲全部歌っててびっくりした。なんか、一生懸命なのっていいですねと思った。応援しよう。
寝ます。なんか、なんでこんな遅くなった?(はてなスターが動かないから)
ずっとClaude Codeにコード書かせていた。勘違いしてたんだけど、この子デフォルトではOpusじゃなくてSonnetなのね。Sonnetでも十分賢いんだな。
テキスト分析をバックエンドとフロントエンドで分担するリファクタリングをしたり、依存関係のバージョンを上げたり、bunをやめてpnpmにしたりした。どうせ元からnodeで動いていたし、それならpnpmでいいのだ。
これで数式対応はできたから、あとははてなスターに対応するのと、レイアウトを整えたら、とりあえずリリースできるか。まだか。夏の間くらいには出したいが。そして秋冬はOS自作とかをやりたい。
寝ます。
Claude Codeを試しているが、これはかなり良い。良いので結構ダルいリファクタリングなどをバンバン任せている。
数式変換をフロントエンドに移した方がいいな?と思ってそうしたが、よく考えると数式モードやら段落構造の解析はバックエンドでやって、フロントエンドはそのツリーを受け取ってよしなにHTMLにすべきだなと思ったからClaudeにやらせている。これが責務の分離ってヤツよ。約物を検出してspanで囲むとかは純粋にUIの話なのでフロントエンドでやる。
AIに書かせると楽だから、ついでにプログラムコードのモードを追加しようとしている。だったら最初からMarkdownにしたらよかったか?でも、Markdownは構造的過ぎるのよな。ダラダラ日記を書くのとはまたちょっと違うじゃない?Scrapbox(現Cosense)の人?が、結局人間が書きたいのは箇条書きリスト以上のものではないみたいなこと言ってた気がするが、似たようなことなのかもしれない。
寝ます。こうして寝ようとしている間にもClaude Codeはリファクタリングを続けている。
引き続き数式変換を書いている。正確にはClineに書かせている。昨日のロジックはまだ不十分というか対応できないケースがあったので修正を要求したら、ちゃんと直った。Claude 4 Opus、確かにはっきりと賢い。これはさすがにジュニアエンジニア級ではある。
ところで、このロジックってよく考えるとフロントエンドの責務だよね(HTMLに変換するんだから)、と思ったのでTypeScriptに移植しようとしている。正確にはClineに移植させている。言えばテストも書いてくれるし、かなりいいね。こうなってくると待ち時間を有効活用したいという欲が出てくるものだけど、今のところは学マスをプレイしている。勉強とかしてしまうとくたびれてしまう気がする。
真賀田四季はやっぱり中国らへんのAIスタートアップに変な偽名で潜り込んでるのかなあ、とふと思ったのだが、よく考えると氏はもう還暦なのだった。というかすべFってもう30年前の作品か。僕が読んだのも20年くらい前ということになる。マジか。
寝るかな。