Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

Kaigi on Rails2025に参加してきました!

はじめに

こんにちは!Webアプリケーショングループの羽鳥です。 Kaigi on Rails 2025に参加してきましたので、参加メンバーによるレポートをお送りします!

羽鳥

去年のKaigi on Railsにも参加しましたが、そのときはRailsを触って半年ちょっとだったので、分からないことばかりでした。 今回はRailsをチョット理解してきて、セッションの発表のモチベーションになっている悩みごとなどに共感できて、かなり楽しく聞けたなと思いました。特に印象に残ったセッションは以下のものです。

5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム

speakerdeck.com

アプリケーションを運用の視点から考え、開発・監視・ドキュメント化などを日々行なっていかなければなりませんが、当たり前のようにできている状態になっていることは案外難しいので、とても勉強になりました。

バッチのドキュメント化がとてもよいなと思いました。 エラーが発生してバッチが停止したとき、単にrerunしてよいか、影響範囲はどうなのかなど、毎回調査しなければいけなかったので、ドキュメントにまとまっていると対応の時間が短縮できますし、新しくジョインした人にも対応の難易度が低下するなど、良いことしかないので私たちもやっていきたいなと思いました。

Runbookの平均所要時間や実行回数を計測して、自動化の判断に用いているいる点が印象に残りました。ここまでしっかりと計測・運用できているのは素晴らしいと思いました。 SlackのSentryのイシューに対してスタンプを押すとRunbookがサジェストされる仕組みはとても便利そうで私たちも超欲しい......と思いました。

エラー対応やドキュメント化などを見直してみようと思えるとても良いセッションでした!

2重リクエスト完全攻略HANDBOOK

speakerdeck.com

最初にタイトルを見た時、僭越ながらテーマ選定のセンスがとてもよいなと思いました。 というのもRailsというキーワードから2重リクエストという概念を想起することはあまりないですが、アプリケーションを開発において考慮しなくてはならないからです。朝イチでしたが絶対見に行こうと決めていました。

セッションを聞いて感じたこととしては、自分がこれまで2重リクエストについてあまり意識してこれていなかったという反省でした。正直なところ、ボタン制御とDB制約くらいしか考えていなかったです。全部で紹介されていたのは9つの手法で、みたにさん(発表者)は、ボタン制御・PRGパターン・排他制御・テーブル設計を抑えていれば対策としてひとまず十分とのことでしたので、PRGパターンと排他制御をまずは理解して実践していきたいと思います。

普段2重リクエストについてこんなに考えたことがなかったので、とても勉強になりました!

菅原

初めてKaigi on Railsを会場で視聴しました。カンファレンスに参加すると自分のモチベーションが上がったり、殻を破ってくれたりするので、今回も貴重な機会を得られました。

そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日

speakerdeck.com

見過ごされたpreloadが技術的負債として顕在化した事例を紹介していただきました。ある夜のGET APIのOOMは、プロダクト成長でデータ量が増え、不要なpreloadが蓄積していたことが原因ということでした。見直しで約400MB、約80%のメモリ削減になったのは衝撃的です。 preloadはN+1対策に有効ですが万能ではなく、メモリ負荷や監視の甘さを放置すると問題になります。弊社でもpreloadを使っている箇所がいくつもありますし、過去のcommitから背景が読み取れないコードがいくつもあります。ドメインやデータ構造が変わるたびに「このコードは本当に必要か?」と定期的に修復するタイミングや変更の背景がわかるように仕事をする必要性を改めて感じました。

Railsアプリケーション開発者のためのブックガイド

speakerdeck.com

生成AI時代における書籍の意義を改めて考えさせられました。AIが進化しても、Railsでのサービス作りは単にソフトウェアを開発するだけでなく、チームや文化を育てる営みと捉えていました。書籍は「みんなが同じものを読める」「共有財」として、メンバーの入れ替わりがあってもチームの知識や慣習を支える柱になると説いていました。

最近個人的に「チ。-地球の運動について-」を読んでいて、「文字はまるで奇跡ですよ」「文字を読む時だけはかつていた偉人たちが私に向かって口を開いてくれる。その一瞬この時代から抜け出せる。」という話とリンクしてすごい納得感を得ました。

後半ではオススメ書籍が紹介されており、情報の奔流に飲まれそうになりました。圧倒的情報量!!! 今回の登壇を聞いて自分でも書籍を買って読みたくなったのですが、社内で読んだ書籍を紹介し合う機会を作りたいなと思いました。

川井

初めてのKaigi on Railsの参加でした。Railsの色んな話を聞けてもう少し自分の知識を深めたいというモチベーションが深まりました。

あなたのWebサービスはAIに自動テストしてもらえる?アクセシビリティツリーで読み解く、AIの『視点』

speakerdeck.com

こちらの発表ではAIを使ってwebサービスを操作する際にそのAIにとってどのようにwebサービスが見えてるかの深掘りでした。自動テストを書く際には多くの人はchromeなどのブラウザのインスペクターを使ってどう画面の要素を選択するかを考えながら書くことが多いと思います。この発表ではPlaywright MCPを深掘りし、ブラウザーのアクセシビリティーツリーを利用して操作してることがわかりました。アクセシビリティーツリーを利用して、画面上にどの要素があり、どの要素が操作可能かを検出してその要素を使ってPlaywrightのコマンドを実行していました。なのでページ上のアクセシビリティーがうまく設定されてなかったりアクセシビリティーのアンチパターンが入っていた場合AIにとって操作しづらくなる可能性が出てきます。

Studyplusでも自動テストを使っている箇所もありますが実装やメンテナンスコストが少し高いため、少しずつAIを活用して自動テストを作ってもらったり、メンテナンスしてもらったりしてましたがAIがうまく画面を操作できなかったケースがあるのでどう操作性を上げるためにどう考えれば良いと理解できて非常に興味深い発表だと感じました。

おわりに

Railsに関するあれこれを考え直したり、Railsの魅力を再発見できたりと、とても有意義なカンファレンスでした! Kaigi on Rails 2025のチーム・スポンサー・登壇者・参加者の皆様ありがとうございました!また来年も参加したいです!

お知らせ

10/07(火)19:30 から弊社オフィスで「基礎から振り返るKaigi on Rails 2025」という勉強会を開催します! Rails初心者から楽しめる内容となっていますので、ぜひご参加ください!