[event] RubyKaigi 2023 Day2
RubyKaigiの会場となったまつもと市民芸術館のロビーにはカンファレンス会期の3日間、多くの企業ブースが並びました。
会場に常設されている設備だと思っていたら、cookpadさんがRubyKaigiのために会場に持ち込んでデモンストレーションを行なった冷蔵庫でした。夕方になるとこの大型冷蔵庫の中から長野のクラフトビールが参加者に向けて配布されました。私は車の運転があったので地元松本市の宮本ファームのりんごジュースをいただきましたが、こちらもとても美味しかったです。
RubyKaigi 2023の冷蔵庫は何だったのか
"How resolve Gem dependencies in your code?" Hiroshi SHIBATA さん
Rubyのパッケージマネージャ Gem が依存関係をいかにして解決しているか?という内容の解説。
"Implementing "++" operator, stepping into parse.y" Misaki Shioi さん
Rubyには存在しないインクリメンタル演算子 ++ を試みに実装してみたという実用性ゼロのネタ・セッションでした。「あんな方法でインクリメンタル演算子を実装してみました」、「こんな方法で実装してみました」と次々にパーサーの処理のサンプルが提示されることで、Rubyでプログラミングする場面ではほとんど意識することがない言語処理系のパーサーの仕組みの勉強になりました。「インクリメント演算子の実装に成功しました。しかし(however)…」が3回、4回と繰り返されるのですが、そのたびに聴講者が拍手して次のサンプルの説明がテンポ良く始まるという構成がとても面白かったです。素晴らしいセッションは発表者の準備や工夫と聴講者の協力の相乗効果で素敵な空間が作られるというリアルな対面カンファレンスの良さを実感した発表でした。
"Fix SQL N+1 queries with RuboCop" Go Sueyoshi さん
SQLの話かな?と思ったらSQLのパーサーを改善してパフォーマンスを改善するお話でした。パーサー漬けの3日間でした。
"The Resurrection of the Fast Parallel Test Runner" Koichi ITO さん
Robocopの並行動作でパフォーマンスを改善するお話。やっぱりパーサーの深淵に話が及びました。
"Reading and improving Pattern Matching in Ruby" Yuki Torii さん
パーサーを工夫することでパターンマッチングのパフォーマンスを改善しようという内容。やっぱりパーサー。深くて深いパーサーのお話でした。
"Introduction of new features for VS Code debugging" Naoto Onoさん
Rubyにトレースデバッグ機能を追加した内容。UIとして Visual Studio Code を採用していました。今回聴講したセッションの中で唯一?「明日から活用できる内容」でした。😅
"The Second Oldest Bug" Jeremy Evans さん
『研鑽Rubyプログラミング(Polished Ruby Programming)』の著者のジェレミーさんによる発表。Rubyのバグトラッカーの中で未解決の過去二番目に古い不具合を調査して解決したお話。C言語です。長い間解決できなかった不具合ということで複数の不具合が複合的に顕在化していたということで不具合の根深さに震えました。
"Optimizing YJIT’s Performance, from Inception to Production" Maxime Chevalier-Boisvert さん
Rubyの新世代のJIT(Just In-TIme)コンパイラ "YJIT" の発表。アカデミックな内容から理論的に設計し、ベンチマークをしっかり押さえて、ビジネス視点のCPUコスト削減効果まで一直線につなげていることに感心しました。論文だけではダメ、実践だけでも片手落ち、しっかり計測して効果を可視化していることに感服しました。