RubyKaigi 2024 Okinawa に引き続き参加。愛媛は初上陸です。
Day1
Ruby Taught Me About Encoding Under the Hood
文字コードの歴史に始まり現代編では IRB で発見した不具合の解説や対応方法などが聞けた。 昨年のキーノートでも IRB/Reline だったのですが、あらためて「IRB/Reline、お前だったのか。俺たちが快適にIRBを使えているのは……」という気持ちになって感謝of感謝。
Make Parsers Compatible Using Automata Learning
Prism と parse.y の互換性にオートマトン理論で立ち向かった話。 発表内でも述べられていた「当初は大量のデータ(ソースコード)を食わせて構文チェックに使っていた」というのは自分もそれしかないのかなぁなどと思っていたけど、 そこからオートマトン理論を用いる発想は凄い。何か自身のプロダクトでも活用してみたいな……
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down
難しかった。とりあえず Ruby は様々な破壊が可能なので Optimized なコードをそのまま使えない機会が多いから云々ってことか……?!「Don't use TracePoint in production」は熱い気持ちが込もっていた。
Automatically generating types by running tests
rbs-inline なコメントをプログラム実行時に自動で埋め込んでくれる https://github.com/sinsoku/rbs-trace の話。便利そう〜。これから rbs-inline 導入する時はまずこれを有効にしてテスト走らせるの良さそう。
TRICK 2025: Episode I
今回も凄かった。どういう訓練したら描けるようになるんだろう。
Day2
Performance Bugs and Low-level Ruby Observability APIs
Datadog製 profiler gem で活用している Ruby Observability APIs の話(Ruby 標準のものと、拡張用 https://github.com/ivoanjo/lowlevel-toolkit )。パフォーマンス、よくしていきてえよなぁ……
Benchmark and profile every single change
「ベンチマークを高速に取っていくぜ!!そのためにこうしたぜ(これを作ったぜ)!!」的な話。さすがに1タイピング毎に走るのは大袈裟ではあるが、とはいえ 1 commit 、1 pr 単位でチェックできる態勢は欲しいっちゃ欲しいな。
How to make the Groovebox
昼間から RubyMusicMixin が始まったのかと思った。
Speeding up Class#new
馴染深い Class.new
にどう手を入れていくかという話。「Ruby を使わずに Ruby を書く」で YARV をコピーするは「た、たしかにぃ!?」てなった。すごい。
Lightning Talks
今年も面白かった。あとおまけとして LT の歴史も聞けてよかったわね。
Day3
Ruby Committers and the World
いつものノリ。Ruby 4.0 楽しみだなあ
Running ruby.wasm on Pure Ruby Wasm Runtime
WebAssembly 、よく話に聞くけどまだ直に触れたことはない。そろそろ触るべきか……!? って思える発表だった。
Inline RBS comments for seamless type checking with Sorbet
RBS + Sorbet の話。個人的には Sorbet の sig 構文よりは RBS inline が好みなのでこの形はアリ。
Analyzing Ruby Code in IRB
IRBのシンタックスハイライトを決定するために、いくつかのタイミング(ブロック内に入ったり改行したり)毎にうおー!!って感じで判定しているというパワーの話。難しいよなぁ……
On-the-fly Suggestions of Rewriting Method Deprecations
deprecate な code を warning message 出力に留めるのではなく、同時に置換してくれるような仕組みの話。 rubocop -A
と同じ要領と考えるならかなり使いやすそう。
Matz Keynote
AI時代にどう立ち向かっていくのか、というお話。「Rubyだとトークン少なくなるメリットある」とか(もちろん他にもあったけど)を聞いて、たしかに〜となりつつもさてどうなるか。 あと「型チェック(?)無しによる不具合はビジネスロジックの不具合に比べれば些細なもの」「充分に賢くなったAIがあれば型宣言無くてもよさそう」は、そうだなぁとは思いつつも 俺たちはその些細なうっかりにサービスを止めてしまう大地に立っているんだよなと思ったりもする。無いと困るというよりはあると便利みたいな。(テストちゃんと書けな?というのはそれはそう……)
その他
Drinkup / Official Party
Day1 夜は Official Party に参加しました。開始10分後ぐらいに会場に着きましたが、その時点もう食事無かった。みんなすごい……(一応キッチンカーもあったので助かりました。)
Day2 夜は枠が空いたので飛び入りということで movさんの Drinkup へ。刺身と肉美味しい。
Day3 は特に予定が無かったので会社のメンバーと DD4D へ。ビール美味しい
食事
「元祖 宇和島鯛めし 丸水(がんすい) 本店」の、宇和島鯛めし(天然真鯛) pic.twitter.com/wQyvfmSziB
— Wataru MIYAGUNI (@gongoZ) 2025年4月15日
大街道「周平」の周平つけ麺(味玉のせ、大盛り) #rubykaigi pic.twitter.com/JzcsLuHjo3
— Wataru MIYAGUNI (@gongoZ) 2025年4月16日
道後温泉近く「道後の町屋」の「湯のまちバーガー+河内晩柑果汁」 #rubykaigi pic.twitter.com/jFQrTc0YnV
— Wataru MIYAGUNI (@gongoZ) 2025年4月17日
大街道「スリーヴァーチュー」のBセット(骨なし唐揚げ) #rubykaigi pic.twitter.com/p7WQgqJDlT
— Wataru MIYAGUNI (@gongoZ) 2025年4月18日
歩数
昔は1日1万歩もあるけば翌日に響いていたのですが、今回は(さすがにその日の夜はきつかったけど)翌日になれば回復していたので、圧倒的成長を感じる。
というわけで
来年の函館も行きてえ〜