RubyKaigi 2023に行って来た

ブログ更新も久しぶりですがRubyKaigi参加はもっと久しぶりでした。

Day 0

松本へは新宿から特急あずさで。Rubyist on railsは8時は早すぎ、15時はちょっと遅いかなということで12時の電車で現地へ。到着後松本城や会場を下見しつつ、2時間ほど散歩。コンパクトでカフェもコンビニ等もあるので散歩に苦労しなかったですね。

残念ながらGW明けということで松本ブルワリーの直営店をはじめとして多くの店が休業中。開いていたビアバーが少なかったので散歩中に見つけた店に行くとRubyistがいて、その後も続々と押し寄せてくることに。ある程度飲んでからそれぞれのグループが適宜去っていき、自分達は馬刺しの店へ。結果的に馬刺しはこの日しか食べなかったのでラッキーでした。そしてその店もRubyistやスポンサー絡みなど関係者だらけ。

Day 1

印象に残ったセッションをピックアップで

Matz Keynote

この30年を振り返るという話で未来についての話はほとんどなかったものの、型についてはAIに推測させればいいのではというトピックはなかなか興味深かった。開発支援にAIを使うという流れはもう不可避なので、言語レベルでそれを当てにするという発想が今後当たり前になる可能性もなくはなく。とはいえ、人間がやるのは正確性の担保なので型推論(?)をAIに任せるというのは果たしてどうなのかという観点も当然あり。今後どうなりますかね。

Understanding the Ruby Global VM Lock by observing it

GVLがいつどういうタイミングで発生してそれがパフォーマンスにどう影響しているかを実際にツールを使って可視化して判断しましょうという話。GVLでの待ち時間が思ったのと違っていて計測する重要性を改めて感じさせてくれたセッション。

Official party

ホテルの大ホールで500名ほどが参加したという話らしく、実際人が多くて数年ぶりに会えた人に挨拶しに行くだけでも見つけるのが大変という状況。RubyKaigi戻って来たんだなぁと感じました。料理も美味しく、ビールも日本酒も地元のものが出て素晴らしいパーティーでした。

BACCAブリューイング

オフィシャルパーティーを少し早めに抜けてDay 0でやってなかったBACCAブリューイングへ。気になっていたナイトロのインペリアルスタウトはナイトロ100%ということでハイアルコールだけど非常にマイルドでプリンのような舌触り。バニラアイスにかけるなんていうメニューもあってこちらも美味しそうだったけどお腹いっぱいだったのでトライはせず。ペールエールも自分好みの味で満足。

Day 2

Build a mini Ruby debugger in under 300 lines

自分でdebuggerをゼロから作るとどうなるかというお話。基本的な機能はわりとあっさり出来ていたのが驚き。でもこの発表で実装されてたところから先に行くといろいろ大変らしい。

The Resurrection of the Fast Parallel Test Runner

Rubyのテストフレームワークで並列にテストを実施するためのgemとその設計の紹介とtest-queueの現状について。スライド前半でいきなり「金で解決」という話が出ていて「ですよねー」となった。

Introduction of new features for VS Code debugging - RubyKaigi 2023

VScodeでdebug gemを使ってデバッグする話。VScodeの機能をかなり活用出来ていてデバッグが捗りそう。

Multiverse Ruby

shioyama/im: Isolated Module Autoloader for Rubyに関するセッション。ちなみに「イム」と読む。無名モジュールを使うことで名前空間を分離(=グローバルに晒さない)というアプローチ。現実的にどこまで使えるのか、ちょっと試してみたくなった。

Optimizing YJIT’s Performance, from Inception to Production

二日目キーノート。Ruby 3.1で入ったYJITと3.2での改善、Shopifyにおけるパフォーマンス改善から始まり、そこに至るまでのMaximeさんの経歴が語られました。BBVの論文でかなり苦労されたようで、その経験を踏まえてかRubyでのYJIT実装については着実にプロジェクトを進めていたようでした。彗星の如くという感じで出てきたYJITですが、その裏にはそんな背景があったんですね。

MNTSQ Beer Hush !!!

二日目はMNTSQ(モンテスキュー)さん主催のイベントで松本ブルワリーの直営店へ。会社の読み方を覚えてもらえれば、と言っていたけどわりとみんなすんなり読めていた気がする。松本ビールをたっぷり堪能できました。

社員エンジニアの方とお話したところ、バックエンドエンジニアの数はまだ少ないようで絶賛募集中のようです。社内でエンジニア職以外もGitHub使ってるとか面白い話が聞けました。特にRubyで仕事していて機械学習系のサービス(こちらはPythonらしい)と接点を持ちたい人にはよさそう。

Day 3

Ruby Committers and The World

技術的な話よりもRuby4についてMatzが「自分の引退も見据えてRuby4はコミッティーで決めて欲しい」というコメントが一番記憶に残ってます。大事な観点ですよね。

Gradual typing for Ruby: comparing RBS and RBI/Sorbet

RBSとSorbetのRBIを比較するという話。思った以上に細かいところで違いがあってびっくり。そしてこういうところにリソース突っ込めるShopifyの凄さを改めて感じる。

RubyKaigi 2023 After Party sponsored by STORES

STORESさんによるアフターパーティー。横丁というからてっきり野外なのかと思ったら室内で密集したフードコートという感じのフロア構成。初日のオフィシャルパーティーとはまた違った雰囲気で楽しめました。

BRORA

Day 1も来たんだけど、Day 3はアフターパーティーから流れてきた人でわいわいと。しかしここのバーはほんと長いし広い。そもそもどうやって店に入れたのかレベル。結局、お店の人に聞くのを忘れてどうしたのかはわからないまま。

Day 4

会期中から評判のよかった麺匠 佐蔵をブランチ代わりに。優しい味の味噌ラーメンでうまい。

食後はまたしばらく市内を散策。初日も感じたけど、コンパクトでなかなかおしゃれな街。市立博物館は移転中ということでやってなかったけど、一度じっくり博物館で歴史とか見たいなという気分になってあずさで帰路へ。

まとめ

前回の津はオンライン参加だったので、ほんと久々のオフラインRubyKaigiでした。やっぱり実際に人とあって話するとモチベーションあがったりしますね。あとオンラインではなかなか聞けない業界情報なんかも聞けるのはフリーランスの身にはありがたい。

それにしても1200人ほどの参加者があったようで、ほんと大盛況でした。スポンサーブースはずっと人がいたんじゃなかろうか。スタッフの皆さん、お疲れ様でした。すばらしいイベントをありがとうございます。