東京Ruby会議12の前夜祭と本編に参加した

東京Ruby会議12の前夜祭と本編に参加した。

regional.rubykaigi.org

前夜祭 (2025-01-17)

前夜祭は、udzura さんが安定した udzura 節なトークだったのと、同僚の S.H. メンバーの Rabbit 活用力の向上のプレゼンを見たりしていた。

中でも今回一番印象的だったのは @makicamel のトークで、Rails アプリケーション開発のプロジェクトにおける、現場のニーズとそれに対する理論的アプローチのとても良い話だった。

実際のところ、自分がプロジェクトでの受け入れをしていた頃は、既存スキーマの主要モデルを使った説明を行う際に、ホワイトボードを使って説明しながら主要モデル (と必要に応じたその周辺) の ER 図をスクラッチで書いていた。それはアジャイルマニフェストのこころで行っていたもので別にそのやり方が悪いとは思っていないものの、そういった主要スキーマの確認をいつでも自分で確認できる環境があれば素晴らしいことだと思う。

また、モデルの主要度が ER 設計力に依存しそうな気がするので、自動化への計算アプローチは (トークの中でもいくつかのオプションとともに示されている上で) さらにいろいろと議論のあるところかもしれないという、懇親会以降での話題にも延長できる「参加者で時代を前に進められる可能性のある、良い議論を呼ぶトーク」になっているというのと、自分が欲しければ動くオープンなコードにしてありますよという OSS の精神となっていて、これは今日のキーノートではという感じだった。技術トークを聞きたい欲という側面のカンファレンス参加がかなり満たされました (これが前夜祭とか本気でビビる) 。ありがとうございます。

あと会場にはガチのクラフトビールコーナーが用意されていて、ひと仕事終えたサラリーマン的にも最高の場でした。あとでありたそさんによるものだったと伺っており、改めてありがとうございました。

本編 (2025-01-18)

John Hawthorn のオープニングキーノートが、楽しみにしていた以上に楽しいトークでした。

GitHub では Rails の edge を使っているというのはよく聞く話であるものの、rails/rails リポジトリの main ブランチを週次で GitHub Action を使った PR にして、プロダクション適用しているなど具体的な運用まで聞けたのと、「あれ?それならうちでも運用を試してみて良いのでは?」と思わせる、文字通り持ち帰りできる形に落とした実践的なエクストリーム話を聞けました。ふつうの Rails アプリケーション開発でありながら、大規模開発での運用に耐える仕組みというのは、Rails でマイクロサービスとかいう前にもっとできることがあると思うんですよね。と改めて思わせてくれるトークで良かったです。

他にも ruby/ruby の master は CI でのみ運用しているあたりは、どこでもできるはずだけれど実際にやっているプロジェクトは限られていそうだし、実際にやっているからカナリア的な OSS へのコントリビューションも起きているというのは、GitHubRuby/Rails の向き合い方の本気が伝わる感じでした。抽象的な話ではなく、具体的な想像がつく話になっているのが多い点もとても良かった。消化しきれていない部分もあるので、スライド公開が楽しみです。

聞いた中では @ryopeko のトークは印象的で、RubyWorld Conference 2024 のレセプションであらましは聞いていたものの、今回はより聴衆を意識したプレゼンにパッケージングされた形として、非常にワクワクしながら聞いていました。何にワクワクさせられたかというと、やはり関数型アプローチという微妙に頭へのエクササイズ感あるパラダイムの話だったからかなあと思うのと、実例から持ってきた CSV カラムごとに異なる処理を最後にいい感じにがっちゃんこするというのを、それは確かにカリー化と関数合成でバーンするとモジュール性高く疎結合な解決ができそう...! と正と負のカッコよさに惹かれるものがあるトークだからかもと、時間をおいての改めての感想となります。

現場で CSV ファイルと意識的な関数型アプローチというと、せいぜい (ファイル容量が多い時なんかへの対処として) lazy くらいしか適用したことがなかったので勉強になりました。

特に反応が良かった (?) ように見えるオーディエンスが、onk, joker1007, sue445 さんたちという点でも、届くべきところに届いていたトークだったようです。

最後、個人的にカンファレンス開催記念のお祝いとしてできることとして、東京Ruby会議12の記念に RuboCop Rails 2.29 をリリースしておきました。

github.com

このリリースのサマリーとしては、Rails 8.0 で導入された params.expect API への対応開始と、同じく Rails 8.0 で非推奨となったルーティング記法を警告する cop を追加したリリースです。OSS メンテナー的には、カンファレンスはリリースのきっかけにもなって良いですね。

最後のクロージングでは、「Ruby と暮らす」というテーマが「Ruby と class」とも読めるとは全く気がついていなかったところ、Ruby 3.5.0dev で class ではない Ruby module が導入されてというオチまで、開発版 Ruby という先取りを使った「Ruby コミュニティとして続いていく、タスキ渡し感ある」クロージングがされていて面白かったです。

運営のみなさん、とても楽しいカンファレンスをありがとうございました。