こんにちは。福井で働く taiju です。
この記事は ESM Advent Calendar 2024 の 1 日目の記事です。
先日、アジャイル事業部内で「Rails 8 を語る会」というイベントを開催しました!Rails 8 の新機能や変更点について、みんなで知見を共有しながらディスカッションしたこのイベントは、学びも多く、盛り上がりました。この記事では、その内容をレポートします。
Rails 8 を語る会とは
2024 年 11 月 8 日、Rails 8 がリリースされました。今回のリリースでは、#NOBUILD、#NOPAAS という新たな標語が掲げられ、それに関連する機能が多数追加されています。
「Rails 8 を語る会」は、これらの新機能を把握し、それを実務にどう活かしていくかを考える場として開催されました。
なぜ Rails 8 を語る会をやろうと思ったのか
私は他事業部から異動してきたこともあり、アジャイル事業部内では Rails 歴が浅く、Rails 7 から本格的に Rails に触れています。
歴史の長いプロダクトは、機能が増えるにつれて便利になる反面、複雑さが増していくイメージを持っていました。しかし、Rails はバージョンを重ねるごとに「シンプルさ」と「簡単さ」を追求し続けているように感じています。これは、Rails 7 から触れ始めた私にとっても新鮮な驚きでした。
そんな中、私が所属するプロジェクト内で「Rails 7.2 で rails new してみる会」を開催したことがありました。この会では、メンバー同士で新機能について話し合いながら試してみることで、自然と新しい知見が得られたり、議論が盛り上がったりする楽しい時間を過ごすことができました。この体験から、「事業部全体のメンバーともこういった形で知識を共有できれば面白いだろうな」と感じるようになりました。
さらに、今回の Rails 8 には、Rails の運用そのものを見直すきっかけになりそうな新機能や変更点が数多く盛り込まれています。これらを目にしたとき、Rails 歴の長い先輩メンバー達がどのように受け止めているのか、純粋に興味を持ちました。
こうした背景から、プロジェクト内での良い体験を事業部全体に広げる形で「Rails 8 を語る会」を開催しようと決めました。
会の進行
そんなこんなで、Rails 8 を語る会を開催したいという趣旨の提案をしたところ、多くのメンバーから賛同をいただいて、先日、無事に開催に漕ぎ着けました。
会は Slack のハドルで開催し、事前に esa 上に作成した下記の文書 (会の開催前後に加筆した部分含む) を元に進行しました。以下はその文書の内容です。
トピック
Rails 8 のリリース記事やリリースノートを眺めてみる
- リリース記事
- リリースノート (WIP)
関連資料
- ONCE — Introducing ONCE
- Introducing Propshaft
- Kamal 2: Thou need not PaaS
- Rails 8 introduces a basic authentication generator - BigBinary Blog
- basecamp/thruster
- 【速報】Rails 8.0.0がリリースされました|TechRacho by BPS株式会社
- Rails 8: strong parametersの新しいparams.expectの使い方(翻訳)|TechRacho by BPS株式会社
- https://github.com/rails/rails/pull/51674 (DHH さんのコメントを読むと良い)
参考: Rails 7.0 - 7.2.2
- Rails 7.0
- Rails 7.1
- Rails 7.2
- The One Person Framework
参考: Rails 8.1
- https://youtu.be/-cEn_83zRFw?si=8SIDJWcQfHprzcMz&t=3758
- Action Notifier (プッシュ通知) や Active Record Search? (Elasticsearch を置き換えるもの) についての言及がある
Rails 8 についての感想
Let's have a discussion!
実務での Rails 8 の新規導入・アップグレード
Let's have a discussion.
RailsDiff を眺めてみる
参加者から提供された話題
Rails 8 のリリース内容をひとりで追うだけでは得られない知見が、今回の会を通じて得られました。進行役として「私は○○がよくわかっていないのですが、説明できる方いらっしゃいますか?」と話を振る形で進めましたが、先輩メンバーが歴史的経緯や実例を交えて解説してくれたので、理解を深めることができました。
中でも以下のような話題が参加者から提供されました。
- ONCE プロダクトについて
- パーソナルプロジェクトで Kamal を使ってデプロイをしているメンバーから、Kamal を実際使ってみての感想や使えそうなシーン、用途について
- Solid Trifecta などと比べて記事上では目立たない (私も気付いてなかった) が、普段使いの API としては
ActionController::Parameters#expect
が目玉機能になるのではという話 - 実プロジェクトでどのように Rails 8 にアップグレードしたか、アップグレードで採用した新機能 (または計画) について
- SQLite をプロダクション環境で運用することの是非について
まとめ
今回の「Rails 8 を語る会」では、個々のプロジェクトに閉じがちな知識を持ち寄り、みんなで Rails 8 のリリース内容とその感想を共有できたのは、とても有意義でした。
アジャイル事業部では、いくつもの社内勉強会を通じてプロジェクト横断的な知識共有を行っていますが、Rails の実務といった具体的なトピックを深掘りする場は意外と少ないので、今回のようなスポット的なイベントを開催することは意義があるということを再確認しました。
社内で採用しているコア技術のメジャーアップデートがあった時や、何か大きなパラダイムシフトがあった時 (アジャイル事業部でも ChatGPT の勉強会などを実施した) などは、スポットイベントを開催するのにちょうど良いタイミングなのかもしれません。
今後も今回のようなスポットイベントを定期的に開催していきたいと思います!
株式会社永和システムマネジメントでは、Ruby とアジャイルソフトウェア開発を通じてコミュニティと成長したいエンジニアを絶賛募集しています。