転職ドラフトでエンジニアをしている verdy_266 です。
リブセンスではほとんどのプロダクトが Ruby を使って実装されており、4/16-18 に開催された RubyKaigi 2025 に弊社のエンジニアメンバーで参加してきました。
この記事では、RubyKaigi に参加したエンジニアでセッションの振り返りを行った模様をお伝えします。
3年前から同様の記事を出し続けています。今までの記事はこちらです。
今回の振り返り座談会は、以下の4名でお送りします。
マッハバイト:kusama
転職会議 :ikea-dless
転職ドラフト:yk, verdy_266
初日のキーノートについて
verdy_266:
kusama さんは RubyKaigi 初めてだったと思うんですが、いかがでした?
kusama:
セッションは全般的に何言ってるかわかんなかったですね笑
verdy_266:
それはそうだ。
kusama:
その中でも、最初の文字コードの話は面白かったです。
verdy_266:
わかります。文字コードの歴史とかから扱ってくれたので話に入っていきやすかったですよね。
kusama:
話の趣旨としては、チャンスはそこら辺に転がってるよみたいな話だと思ったんですが、バグを踏んだのをきっかけにちゃんと深掘りしているのがすごいですよね。
yk:
そうですね。「直してみなよ」と声をかけた人もすごいですよね。多分本人だったらすぐ直せそうな内容でしょうし。直してみなよと声をかけるのも、それに乗っかってちゃんと直すのもすごい。
kusama:
Matz のキーノートでも「コミッターとの距離は思ったより遠くない」と話されていて、ちょっと挑戦したい気持ちになりました。どうやったら Ruby のコミッターになれるのかを調べてるところですね。
Matz キーノート
verdy_266:
Matz のキーノートも良かったですね。話うまいなあと思いました。「逆アルファシンドローム」とか、ああいう概念をさらっと提示できるのってすごいなと思いました。
yk:
今「逆アルファシンドローム」でググったんですけど。2005年から松本さんは言及しているみたいですね。
verdy_266:
AI の文脈じゃないってことですか?
yk:
コンピュータが人間の仕事を代替するみたいなことはずっと言われてたから、その時から言ってたことみたいですね。
verdy_266:
話の流れとしては確かにコンピュータだろうがAIだろうが変わらないってことか。先見の明があるんですねえ。
Ruby 4.0 !?
verdy_266:
そういえば Matz は Ruby 4.0 を出すことに決めたって言ってましたね。
yk:
そうですね。それに関連して、 Namespace のセッションは気になりましたね。去年から何も変わってないんですよ、っていうぶっちゃけ話から始まって、この1年はデバッグしてたと。
ZJIT の話も、みんな気になってるんじゃないかなと思います。YJIT 出たの数年前だけど、ZJIT を並行して作るんだ、というのに驚きました。
ikea-dless:
僕は ZJIT が一番印象に残りました。昨年あたり転職会議に YJIT を導入したらパフォーマンスが良くなって、すごいなこれどんどん改善していくんだろうなと思っていたら、なんか新しいのが出るらしいと聞いてすごく驚きましたね。デプロイされたコードの間で JIT の成果物をキャッシュするというのも確かにやれるなと思ったので、すごく面白いものになりそうですね。
yk:
どうやってやるんですかね?
ikea-dless:
その辺の仕組みがどう提供されるかは Ruby のコード見ないとわからないんじゃないでしょうか。中間コードがそのままキャッシュされるのか、経路探索のパスがキャッシュされるのか、そこら辺は見えてないんですが、やれる余地は確かにありそうだなと。
RubyKaigi の楽しみ方
verdy_266:
キーノート以外で、印象に残ったセッションはありますか?
yk:
TRICK は非常に面白かったですね。去年のキーノートも驚きましたが、そのときよりパッと見読めそうなコードが多かったのが面白かったです。インデントされてる?! みたいな。よく見ると全然読めないんですけど笑
verdy_266:
メソッドの順序全部ずらしてるとか、定数定義で足し算するとか意味わからないですよね笑
ikea-dless:
僕は Class#new の話が面白かったです。
Ruby のコードから Ruby のコードを実行した方が速いという発想がなかったんですよね。Cの方が絶対速いだろうと思っていたので、そんなケースがあるんだというのが一番驚きでした。確かに言われてみると、C言語においてキーワード引数とかは当たり前ではないので、それを変換するコストはどこかで払っているので、なるほどなという感じでした。
verdy_266:
こんな基本的なメソッドにも高速化の余地があるの、すごいですよね。
verdy_266:
僕は個人的には Benchmark and profile every single change というセッションが面白かったです。
100倍速い Sinatra を作りたいと思い立ち、そのためにやったこととして「ベンチマーク駆動開発」というのを提案しているセッションでした。現状の Sinatra で Hello World を表示する時間と、空の Rack アプリで Hello World を表示する時間をそれぞれ計測することで、100倍速い Sinatra ではこの処理に何秒かけられるかが計算できるということを言っていて、考え方が参考になるなと思って聞いていました。
kusama:
ああ、英語のやつですね。
verdy_266:
このセッションは日本人の方の英語セッションだったんですが、割と理解しやすかったです。英語セッションでも人によって親しみやすさが違ったりするので、この人の発表わかりやすいなという人を何人か見つけられると、英語セッションも楽しめるのかもしれないなと思いましたね。
yk:
矢継ぎ早にずっと喋ってるセッションは日本語でも英語でも厳しかったりしますよね。
verdy_266:
わかります。あとこれは英語のリズムに慣れてないだけだと思うんですが、文章の最初を結構はっきり話して、後ろの方をボソボソ喋るみたいなのを多用する人がいて、難しいなと思いました。
来年は函館!
yk:
来年の話もしておきますか。
verdy_266:
来年は函館ですね。 Ruby 4.0 が出るなら、来年は Namespace や JIT の話が多めになるんでしょうか。
Namespace とか、そのものの実装の話以外にどんな切り口があるんでしょうね?
yk:
Namespace が出たことによって、こんな便利なことができるようになりましたよっていう発表、聞いてみたいですけどね。
ikea-dless:
そもそも Namespace って、革新的な機能というよりは、安全にプログラムを実行するための機能という側面が強いから、発表には繋がらない気がしますね。
yk:
Rails でも名前空間でバグることとかあるから、その辺が便利になったりするんじゃないかな。