📚

社内でRuby on Railsリリースノート勉強会を開催しました

2024/07/17に公開

こんにちは!
株式会社ココナラのプロダクト開発部バックエンド開発グループでエンジニアをしておりますもっちーです。

今回は先日バックエンド開発グループで開催した「Ruby on Railsリリースノート勉強会」について紹介したいと思います!

はじめに

そもそもリリースノートとは、「ソフトウェア製品のリリースの際に、機能強化や不具合修正の内容などをユーザーに示す資料またはウェブサイト」を指します。

2024年5月30日にRuby on Railsのバージョン7.2 Beta 1がリリースされました。
ココナラではバックエンドの開発でRuby on Railsを利用しており、そのバージョンアップには毎回注目しています。
そこで発表されたリリースノートを題材に、チームメンバー間で知見や気づきを共有し合う場として、勉強会を開催することになりました。

Xの投稿

開催の目的

勉強会を開催するにあたって、大きく3つの目的を設定しました。

  • 会社のプロダクト成長
    • 一人一人の技術力向上
  • コード品質改善
    • フレームワーク理解によるレビュー力向上
  • 技術のキャッチアップ機会
    • 最新情報に触れる

目的達成ももちろん大事ですが、まずは勉強会を通して学習やキャッチアップのきっかけになれば嬉しいと思いました!

勉強会の概要

一人が講義するのではなく、メンバー全員で議論しながら進めました。
リリースノートの中からいくつかファシリテーターがピックアップしたトピックについて、みんなで意見や疑問を共有し合う形式です。

直近railsでは、約1ヶ月ごとに「7.1.1」「7.1.2」「7.1.3」などマイナーバージョンのサブ番号がアップデートされる傾向がありました。
そのため、開催頻度もアップデートの周期に合わせて1ヶ月に1回くらいを目安にしようと話していました。

勉強会の取り組み

題材

今回は5月30日にリリースされた「Rails 7.2 Beta 1」を題材にしました!
半年以上ぶりのマイナーバージョンアップということもあり、変更点もかなり盛り沢山という印象でした。

リリースノートの概要

取り扱った内容

リリースノートのタイトルにもある通り、メインとなるアップデート内容は3つありました!
今回30分と限られた時間だったので、その3つを中心に取り扱いました。

- production向けのデフォルト設定値を改善
  - YJITがデフォルトで有効(Ruby3.3以降)
  - Pumaのデフォルトスレッド数が変更
  - Dockerfileでjemallocがデフォルトで有効
- devcontainerでの開発をサポート
  - Redis, Database, Headless Chrome, Active Storage, etc.
- Rails Guidesのデザイン変更

議論した内容

特に印象に残ったものをいくつかピックアップして記載します!

YJITがデフォルトで有効(Ruby3.3以降)

デフォルトで有効になるのはわかったが「YJITてそもそも何?」といった純粋な疑問や、「YJITはなぜ速い?」「逆にデメリットは?」といったもう少し技術的に踏み込んだ話題について様々な議論がありました。
YJITによるメモリ消費量に関する懸念や、動的言語実行時の型検査が不要なことが多いことなど、新たな知見を得ることができました!

Pumaのデフォルトスレッド数が変更

こちらもYJITの時と同様に「Pumaてそもそも何をしているの?」といった認識合わせから始まり、他にも「Unicornとの違いは?」「マルチスレッドのメリデメは?」といった内容についての議論しました。
Pumaの場合マルチスレッドによる通信処理の効率化ができる一方、スレッドセーフなコード実装をする必要があるということを学びました!

Rails Guidesのデザイン変更

こちらはデザイン変更なので実際にBefore & Afterの画像を見比べて、みんなで「かっこいい!」「見やすくなった!」と言って盛り上がりました(笑)
最初デザインが変わっておらず焦りましたが、よく見るとURLが変わってたんですね。

railsガイドのBefore & After

まとめ

今回の勉強会を通して、技術的な知見を持ったメンバーから新しい知識を得て刺激を受けることができました。
逆に若手目線の純粋な疑問がきっかけで、改めてそのテーマについて考え、理解を深める場にもなったと思います。

今後もリリースノートのキャッチアップはもちろん、他の言語やフレームワークの勉強会にもチャレンジしていけたらと思います!

参考記事

さいごに

最後まで読んでいただきありがとうございました!

ココナラでは、一緒にサービスを盛り上げていく仲間を募集しています。
もし興味をお持ちいただけましたら、カジュアル面談にお越しください!
https://open.talentio.com/r/1/c/coconala/pages/70417

また、募集求人については以下のリンクからご確認いただけます。
https://coconala.co.jp/recruit/engineer

Discussion