こんにちは、SENRIのCTOの杉山です!
先週、RubyKaigi行ってきました〜〜〜↑↑
どうしても日程的に、初日の10時ぐらいに松山に着く、みたいな感じだったので、ima1zumiさんのやつ見れなかったんですが、資料見つけたのでまだ見れてないので後で見ます。。。
結構長くRubyを触ってる割に、RubyKaigiの参加自体は2回目 & 超久しぶりだったのでめちゃくちゃ楽しかったです!知り合いが前よりかは少し多かったって言うのもあると思うけど、セッション自体も面白かったし、Drinkupとかで出会った人と話す内容も良かったし、何より色んなとこでRuby使われて愛されてるんだな〜〜とすごく実感する3日間でした。
特に、Day2, Day3のイベントでは、たまたま2日とも海外から来た人と同じテーブルになって色々話しました。海外でのテック系のカンファレンスの様子とかBigQueryよりもこっちの方が速くて良いぜ!みたいな話やプロダクトに翻訳機能入れる時に最近のLLM使うとこうやるとめちゃ良いんだよ〜〜〜みたいな話とかなんかたくさん話して楽しかったです!!!!
やっぱrubyfriends最高だな!という気持ちと、Ruby書くのは好きだし、その中身にも興味もあるけど、言語自体よりも、人に届けるプロダクトをどうするとうまく開発やっていけるか、開発すると使う人にどういう影響を与えられるか、とかもう少し一般ユーザーよりにある開発の方が興味もりもりだな、というのも再実感しました(0か100というよりかは比重がそっち寄り)
でも、やっぱなんかみんな純粋にRuby楽しんでるよな〜〜〜と思って、次の日にルビィのぼうけんを図書館で借りて子供に読み聞かせをし、もう1年ぐらいしたら、子供達にアンプラグドコンピューターサイエンスでもやっていくか〜〜〜と次世代に託す気持ちもめっちゃ出てきました笑
あと、ひたすらご飯が美味しかったし温泉も良かったし、みかんジュースも美味しかったし、街をずっと自転車で縦横無尽に見回ってたんですがめちゃ好きな感じでした(大街道ある感じとか)。
ここまでが最後に書くべき感想です!
見たセッションからいくつか
ZJIT: Building a Next Generation Ruby JIT
https://rubykaigi.org/2025/presentations/maxiqmecb.html
YJITをまだオンにできてない(数ヶ月以内にはできそう)のに、もうZJIT〜〜〜!?!?ってなりましたが、同じコードを何回もコンパイルしてるの無駄じゃない?とかは確かにな〜と思いながらも、そこに手をうまくいれてくのとかまじですごいなと思いました。「Rubyの今後20年を耐えうるJITを作る」ってすごいし、標準に沿っててメンテナンス性も高まるっぽいことも言ってたので、単純にパフォーマンスが上がるか、という話以上に、「一緒に支えていこうな(お前もやれよ)」がやりやすくなったのかな、と思ってます。ロングタームで考える、が20年後がスコープに入ってるとこに感激でした。
Speeding up Class#new
https://rubykaigi.org/2025/presentations/tenderlove.html#day2
一回のRubyの動作でどれぐらいnewされてると思う?というところから入り、このClass#newを高速化できたら速くなると思わん?というところから入って、Class#newでRuby -> C -> Ruby で行き来してるところに原因がありそうだね、というところからどんどん深ぼってってました。
実際にCのコード見ながら、Ruby側とどうやり取りされてるのか、どこを減らせそうかをどんどん見ていって、ベンチマークするって感じで気持ちよくその世界に一緒に入ってく感じあってめちゃ気持ちよかったです。
Automatically generating types by running tests
https://rubykaigi.org/2025/presentations/sinsoku_listy.html
これは神速さんのやつで、テスト回すことで型生成していくってやつですね。開発の初期から型システム入れてたらともかく、既存のアプリケーションだとどうしようもない、というか厳しさがあるもんね・・・というとこの解決。さすがでした👏
Matz Keynote - Programming Langage for AI age
https://rubykaigi.org/2025/presentations/yukihiro_matz.html#day3
めっちゃ笑ったし、頷きまくったやつでした。ちょうど3月ぐらいからAI coding にめっちゃ力入れまくってたのでタイムリーでした。おれはAIに迎合してやいないか・・・?してるな・・・。みたいな感じだった。
ただ、今非常に感じてるのは、良い感じにコーディングしてもらうには、言語化能力がめっちゃ必要なんだけど、自然言語だと構造がだらだらしてAIにうまく伝えられてない感じしてたけど、ruby-ishにif-elseとかレコードの絞り込みをscopeっぽく書いたりと、ちょうど表現すると良いよな〜と思ってやってたところだったので、めちゃ良いお話でした。
今AIにお願いしたりしてるやつは
if company.enable_salesの機能
records = company.retailers.activeなやつ.order(i:d).page(paramsのページ)
else
records = company.retailers.他の条件も全部
end
で、そのrecordsを #index の view で table 形式で、カラムを %w(id name status created_at created_by.name updatd_at) で表示しておいて
みたいな雑な書き方とかしてたけど、人間がAIに伝える擬似言語っぽさもあるし、なんならそれ書いてる間にロジックがほぼできてしまったり、する感じもあるし、rubyってすげぇよな(なんか感心事項が違う気がするけど)。
けど、結局のところ、開発対象のドメイン知識、受け入れ条件含めた仕様の書き下し力、細かくはなくても良いけど、AIがわからんだろうな〜という推測力、そこの補完するための言語化能力、とか大まかには今までと必要な能力は変わってないんだけども、比重が変わってきたよなぁ、と。ちょっとここら辺はまた後日AI周りの記事としてアウトプットします。
最後に
来年は、函館!らしいので、来年も行きたいな〜〜〜。という気持ちと共に、リトアニアから来たってエンジニアが今回は関空から松山まで自転車、松本の時も成田から自転車で移動したって言ってたのを思い出して、千歳空港から函館までチャリでくるの・・・?間にいい感じの間隔で街とかあるって不安になりました笑
あと、ドイツから来たエンジニアには大阪の母がやってる居酒屋を薦め、また別のUSから来てるエンジニアとは渋谷で飲もうぜ!と色々かましたので、そこら辺がどうなるか楽しみ!
今回は3日間の滞在で、あんまり仕事は進まなかったけど、RubyとRubyのコミュニティはやっぱ好きになったし、Rubyでご飯食べさせてもらってるし何か恩返しせねば・・・という気持ちでいっぱいになったので、スポンサーとかできない間は、せめて楽しくRubyで開発をやっていきたいと思います!
撮った色んな写真
KaigiOnRailsで作ってもらったバッジつけてた。
SENRIから行った2人。
東京でまた会おうね、の ActiveAgents.ai の可愛いステッカー。
鯛めし風とチャンジャのお稲荷さん。めちゃ美味かった。
名前だけで完全に行ってみたかったけど、行けなかった大衆酒場。
憧れの蛇口からみかんジュースがたくさんあって飲み比べした!試果なんちゃらってやつとなつみが美味しかった〜〜〜!!
道中で見つけたザク。
大街道で見つけたお店の前の悲しいディスプレイ。
それもまた人生。