トップ «前の日記(2026/08/03 (月) ) 最新 RSS feed

HsbtDiary


2026/08/04 (火) [長年日記]

Ruby office hour

この日は Matz は品川のイベントのために移動なのか不参加だったので、nobu, ko1 と3人でゆらっとおしゃべりしていた。

特に最近力を入れている Windows 周りでロングパス対応をする裏技を入れるかどうかについて、懸念点とか気になっていることを nobu と壁打ちしているうちに午前中が終わってしまった。たまに人と話すと時間が早いねえ。

メンテしている heroku を terraform にした

インフラテコ入れ活動の続きで、面倒見ている heroku の構成を terraform を使って IaC 化した。

これも claude に何を使うのがいいかねえと相談して terraform しかないね、という結論になったのでしょうがなく採用した。terraform とか、解決したい課題に対して人間が理解できる範囲を超えているとしか思えないけど claude に丸投げしてやらせるのならまあいいか、って判断。

いつもならここから dump した tf をレビューさせて、改善項目などを見つけて直させるのだけど今週はちょっと立て込んでいるので後で。

gem-codesearch を mitamae 化した

で、続きとして gem-codesearch という Ruby コミッタだけが使える rubygems.org に登録されているすべての gem を調べる仕組みを入れているサーバーの手入れをしていた。

まずは ssh でログインして何をしてもいいよ、と claude に明け渡してから mitamae による IaC 化をしてから、ディスクが足りなくなってきているので ebs をアタッチして拡張だとか、検索の時にゴミとして出てくる vendored コードの重複排除をどうやればいいか、とか。

あと、claude 自身に「claude が使いやすくするために検索結果はどう表示すればいい?」と相談したら

  • すでに着手しているように vendored な関係ないファイルを消してください、余計な処理が多くて token が減ります。
  • /srv/gem/… のような全く同じ情報の繰り返しを消すのも token 削除に有用です。
  • このツールの肝は foo と言う gem に method と言う文字列が含まれるのを1行で知りたい、と言うことなので、同じ gem の表示の繰り返しはやめて、存在だけ最初に出すオプションを追加する

ということだったので、じゃあ全部作って、と作らせた。json にした方が効率がいいのか、と思ったらすでに構造化された出力があるから json にして複数行にするのは無駄なだけと一蹴された。なるほどね。

最終的に 130gb くらいあった gem のファイルが 20gb 以下になってスッキリかつ、高速に検索できるようになった。あと個人的な話になるが、claude に Ruby のコードを消すという時には、gem-codesearch を使って影響調査をしろ、という skill も放り込んだので万全である。