レンティオエンジニアでKaigi on Rails 2025に参加しました
こんにちは。レンティオ株式会社でエンジニアをしている太田です。
9/26,27にKaigi on Rails 2025が開催されました。レンティオからはエンジニア2名で出席しました。
なお、レンティオは昨年に引き続きシルバースポンサーとして参加しました。クーポンなどのノベルティも配布しており、手に取った方はぜひサービスを利用してみてください!
1. はじめに
Kaigi on Railsにはオフラインだと2回目、オンラインも含めると4回目の参加でした。毎回現場のエンジニアが主なスピーカーで、年を追うごとにRailsの知見がこのイベントを通して煮詰められていってたいへん価値のあるイベントだと感じていました。
気になったセッションをいくつか紹介します。
2. 印象に残ったセッション
dynamic - @moroさん
「動的/dynamic = 継続して変化し続けること」と定義して、RubyやRailsの開発の動的さからくる楽しさをプロダクト開発やチームでの仕事に適用していけないか、といった内容でした。
2023年の「Simplicity on Rails」、2024年の「Identifying User Identity」に続いて、今年はどのような話を聞けるのか楽しみにしていた方も多かったのではないかと思います。
今回はそれらを包括した内容でした。RubyやRailsでいろいろな設計パターンはあるが、結局のところどの時点でも通じる正解はありません。常に変化できることのほうが価値は高いし楽しいという点に強く共感しました。
今後も大事にしていきたいと思える価値観を得ることができてよかったです。
RailsのPostgreSQL 18対応 - @yahondaさん
このセッションでは、直近リリースされたPostgreSQLのバージョン18に対して、Rails側で対応したことを紹介されていました。
PostgreSQLとRailsをつなぐライブラリの構成・関係性などの理解が深まりました。また、プロトコルバージョン、キャンセルキー、パーティション表のUNLOGGEDサポート削除などRailsから普通に触っているだけでは意識することがない機能についても知ることができてよかったです。
新機能のところで紹介されていた仮想生成列については機会があれば使ってみたいと思います。
コミッター、メンテナーの方がいるおかげで我々がRailsを使えているのだなということをあらためて感じました。
Railsアプリケーション開発者のためのブックガイド - @takahashimさん
日本Rubyの会の高橋征義さんの発表。100冊近いさまざまな分野の本が紹介されていました。「Railsアプリケーション開発者」と書いてありますが全方位のエンジニアが参考になる書籍かと思います。本を読もう。読まなくても積もう。とりあえず私は「不良のための読書術」から読み始めました。
Railsによる人工的「設計」入門 - @nay3さん
3年連続で登壇されている大場さん。昨年、一昨年とHotwireを中心としたフロント寄りの話をされていてとても共感した覚えがあり、今年の発表も楽しみにしていました。
今回は「設計」をどうやって体系的に学び、そして遂行していくかという話。「まずは図を書こう」というアプローチもうまくいかない場合があるという話は個人的に経験があり、発表で出てきた「逆算」のレールに乗れていないのだなと腹落ちしました。
ここでいう「設計」がデータベースやモデリングだけでなく、「システムを作るうえでのコーディングより抽象度の高い作業全般」を指しているのでとても汎用性が高そうです。定期的に見返して復習しようと思います!
今あらためてServiceクラスについて考える 〜あるRails開発者の10年〜 - @joker1007さん
Serviceクラス登場の経緯から、なぜ使わないほうが良いか、ではFat Modelを解消するにはどういうアプローチが良いのかというところを話されていました。
ちゃんとテーブル設計しましょう。そのうえでテーブルだけで表現できないorしないほうが良いところはActive Modelをうまく使いましょう、などRailsとうまく付き合っていくうえでの取るべきアプローチが述べられていて参考になりました。
そのうえで「正解はない、一緒に考え続けましょう」と締めくくられていて、Rails開発における設計の難しさと、コミュニティで考え続けることの重要性をあらためて感じることができました。
Range on Rails ― 「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ - @umeda-rizapさん
チョコザップエンジニアの方の発表。PostgreSQLの多重範囲型を用いることで、ロジックをSQLに寄せた結果Railsのコードをシンプルに保つことができたという話でした。
チョコザップの予約は設備の種類も多く、またメンテナンスなども含めると複雑そうなので多重範囲型のようにSQLで演算ができるようになるとロジックをシンプルにできるのかなと思いました。
私も機会があれば使ってみようと思います!
Delayed脱出〜SolidQueue完全移行への旅路。 - @srockstyleさん
レンティオではSidekiqを利用していますが、個人的にはDelayedも使ったことがあり一定のjob量を超えるとスケールしなくなるのは経験がありました。SolidQueueへの移行がすんなり行えるものなのか気になっていました。
DelayedとSolidQueueで異なるポイントとしては、監視のための値を取るメソッドがないことと、メインのDBとは別のDBになるのでエンキューにトランザクションがつかえないということ。
SolidQueueのパフォーマンスが良すぎて、たくさん処理されすぎた結果DBアクセスのところで高負荷になるなど、メリットや移行の注意点などもキャッチアップできました。
ドメイン指定Cookieとサービス間共有Redisで作る認証基盤サービス - @kokuyouwindさん
OAuthなどを使わずにシンプルにサービス間での共通認証を実装する話。社内に閉じた話であればこれくらいシンプルに実装できるというのはあまり考えたことがなく新たな発見でした。
Tipsのところで出てきた、共通gemのモジュールの作り方やGitHub Packagesを使ったライブラリの配布など本論以外のところでも開発に活かせそうなポイントがありました。
rails g authenticationから学ぶRails 8.0時代の認証 - @willnetさん
認証ジェネレータは以前から気になっていましたが、あまり日常の仕事では登場せず触る機会を逃していました。
認証ジェネレータが生成するコードを通して認証機構を学んでいくというアプローチで、認証ジェネレータのキャッチアップと認証機構の復習が同時にできました。Rails 8.0の新機能を実際に触りながら学べる機会は貴重でした。
3. 全体の感想と今後の展望
今回のKaigi on Rails 2025では、Railsの最新動向から実践的な設計手法まで、幅広い内容を学ぶことができました。特に印象的だったのは、多くのセッションで「正解はない」「常に変化し続ける」という共通のメッセージが込められていたことです。
Railsは成熟したフレームワークですが、PostgreSQL 18対応やRails 8.0の新機能など、まだまだ進化を続けています。また、Serviceクラスの議論に代表されるように、設計手法についても絶えず議論が重ねられており、コミュニティの活発さを感じることができました。
今回学んだ内容は、今後の技術選択や設計判断の際の参考にしていきたいと思います。特に以下の技術については、機会があれば試してみたいと考えています:
- PostgreSQL 18の新機能(仮想生成列など)
- SolidQueue
- 多重範囲型を使った複雑なロジックの簡素化
- 認証ジェネレータを使った認証基盤の構築
また、高橋さんのブックガイドで紹介されていた書籍を参考に、継続的な学習を続けていきたいです。来年は渋谷でより大きな会場での開催予定とのことなので、来年も参加したいです。
採用情報
現在レンティオでは、Ruby on Railsエンジニアを中心とした採用を進めています。もしご興味のある方がいらっしゃいましたら、ぜひ採用ページをご覧ください!
Discussion