Kaigi on Rails2023参加レポート

はじめに
株式会社マイベストでバックエンドエンジニアをしています、井上周(@isaka1022)です。
業務ではRuby on RailsやNext.jsを使った開発をしています。
今回、2023年10月27日〜28日に開催されたKaigii on Rails 2023に参加したのでその記録を残そうと思います。

Kaigi on Rails 2023
Kaigi on Rails 2023 October 27 - 28, 2023 Hybrid event(online & offline)
弊社マイベストもRubyスポンサーをしており、今回は初のオフラインの開催と合わせて、ブースも出させていただきました。
マイベストのスポンサーブース企画「エンジニアの舌格付けチェック」
実際にマイベストが作成したコーヒーメーカーのおすすめランキングの1位商品・中間商品・下位商品のメーカーを使って、同じコーヒー豆を抽出しその違いを皆さんに体験していただきました。
ブースにはたくさんの方にいらしていただき、楽しんでいただけたのでよかったです。

早稲田大森研究室とマイベストが産学連携!
マイベストは創業7年目を迎え、ますますサービスの成長を加速させていくフェーズへ突入しました。現在、月間2,000商品のデータベースを構築しているのですが、今後は10倍にあたる20,000商品を目指して...
Day 1
それぞれの日で調香したセッション、スライド、感想をまとめます。(スライドは見つけたものだけ掲載しています)
感想については、簡易的なものになりますがご容赦いただければと思います。
基調講演 準備中
タイトルはオフィシャルから転機しました。zzakさんのこれまでのプログラマーとしてのキャリアのお話やコントリビュートの道のりのお話でした。
This week in Railsや、Rails: Watch & Learnを始めとする動画リストといったキャッチアップの情報源も共有いただけたので、このあたり後でチェックしようと思います。
This Week in Rails
Your weekly inside scoop of interesting commits, pull requests and more from Rails.
undefined
undefined
Rails アプリの 5,000 件の N+1 問題と戦っている話

BulletmarkRepairer: auto corrector for N+1 queries
Rails アプリの 5,000 件の N+1 問題と 戦っている話 2023.10.27. Kaigi on Rails 2023
自分も本業ではパフォーマンス改善でN+1を解消することはよくありますが、そういった解消の取り組みを自動化できないかという取り組みでした。
preload, eager_load, includesの違いはいつも曖昧になるので改めて復習になったのと、「N+1退治番長」制で普段からコツコツと解消していくしかないのだなあと感じました。
やさしいActiveRecordのDB接続のしくみ

やさしいActiveRecordのDB接続のしくみ
https://kaigionrails.org/2023/talks/kubo/
「RailsはActiveRecordがよい」という話は普段もよく話に出ますし、僕自身もそう感じることが多いですが、なかなかその中身を理解したいと思ってもきっかけがありませんでした。
今回、MySQLとの接続についてバックトレースをもとに解説してもらい、解像度が上がった気がします。
もしActiveRecordのエラーで詰まったら今回の内容を思い出してデバッグしよう、そう思いました。
初めてのパフォーマンス改善

初めてのパフォーマンス改善
2023.10.27 Kaigi on Rails 2023 Day1
つい先日から会社でもパフォーマンス改善に取り組む機会が多かったのでとても共感が深い内容でした。
「コードにしたものとコードにしなかったことがプログラミング」という言葉が刺さりました。コミットメッセージやPRの本文など、ちゃんと書こう、、!
Simplicity on Rails — RDB, REST and Ruby

Simplicity on Rails -- RDB, REST and Ruby
Kaigi on Rails 2023の登壇資料です。 https://kaigionrails.org/2023/talks/moro/ 実世界のRailsアプリケーションをシンプルに保つための方法を、Railsが提供する機能群をもとに考察します。 実世界の、特に仕事で開発するRai…
少し抽象的なレイヤーで、要求をRailsの設計にどう落とし込むかがとても言語化されていました。
「Railsの考え方における、ログインはSessionをcreateするし、ログアウトはSessionとdestroy」という考え方、自分も始めてみたときは何だこれ?という感想だったのですが、よく考えてみるととてもしっくりきたし今でも納得あり素敵だなと感じたので、こういう設計にシンプルに落とし込めるようになりたいな、と思いました。
技術的負債の借り換え
Railsのバージョンアップで、関連するgemのアップデートをどのように進めていくか、というお話でした。
多数のモデルを抱える大規模なアプリケーションで、現実的な問題として一気にぱつっとバージョンアップしたり、きれいにアップデート出来ないので徐々に”借り換え”をして、最新版との差分を徐々に減らして負債を少しずつ返していこうという内容で面白かったです。
seeds.rbを書かずに開発環境データを整備する

seeds.rbを書かずに開発環境データを整備する
https://kaigionrails.org/2023/talks/gogutan/
最新版のデータをサクッとほしいときとか、seedsだと検証が少し大変になってきたときにCSVを使うのは手軽で良いなと思いました。
ダミーデータとか、色々なパターンごとのCSVファイルを用意して入れ直すとかできてもよさそうなので、タイミングがきたらまた見直したいです。
Startup Drinkup at Kaigi on Rails 2023
1日目の締めくくりはRoute06社、YOUTRUST社と合同でDrinkupを開催しました。
なんと満員御礼とのことで、会場が一杯で少し手狭になるほどでしたが、その日に始めました人、再開した人などたくさんの人との交流が行えてよかったです。
Startup Drinkup at Kaigi on Rails 2023 (2023/10/27 19:00〜)
# 初オフライン開催のKaigi on Railsを祝してDrinkup!!! こちらはKaigi on Rails2023スポンサー企業(mybest(Ruby sponsor)、ROUTE06(Silver)、YOUTRUST(Gold sponsor))共催によるDrinkupです。 初オフライン開催されるKaigi on Rails初日の熱狂そのままに参加者の皆さんで交流できる場を設けさせていただきました。 ささやかながら軽食のご用意もございますのでぜひ奮ってご参加ください。 # 開催概要 ### 日時 2023/10/27 (金) 19:00 ~ 21:00 ##...
今回のKaigi on Railsのために作られたアプリでQRコードが大活躍でした!
ConferenceApp - Conference Appについて
Day 2
2日目も気になるセッションや時間が被っているものも多かったですが、聞いたものと感想のまとめです。
ブースの撤退や時間帯が合わず聴きたいものは全部聴けなかったので、後でスライド等は確認したいと思います。
Fat Modelを解消するためのCQRSアーキテクチャ

Fat Modelを解消するためのCQRSアーキテクチャ
Kaigi on Rails 2023 (https://kaigionrails.org/2023/talks/krpk1900/) で発表した内容です。
RailsにおいてFatモデルの解消パターンはいくつかありそうですが、そのうちの一つとして参考になりました。自分たちが使ってない設計やアーキテクチャを見るのは楽しいです。
E2E testing on Rails 2023

E2E testing on Rails 2023
Kaigi on Rails 2023 発表スライド
自分はほとんどRailsでE2Eテスト書いてなかったです。今回の発表で既存のcypressの仕組みや、Node.jsベースのテストランナー等々の仕組みを知ることができました。
playwright-ruby-clientというgemの紹介もありました。
https://github.com/YusukeIwaki/playwright-ruby-client
テーブル分割で実現するdeviseの責務の分離と柔軟な削除機構
どんなアプリケーションでもだいたい必要になる認証の仕組みであるdeviseをテーブル分割でカスタマイズする話でした。
立ち上げ時などはついそのままdeviseでさくっと作ってしまいがちですが、長期的にどうするかまで考えるとこういう分割やその他の方法も検討しないといけないな、とそう感じました。
管理機能アーキテクチャパターンの考察と実践

管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin
Kaigi on Rails 2023 "管理機能アーキテクチャパターンの考察と実践" https://kaigionrails.org/2023/talks/ohbarye/ 管理機能という身近な題材で アーキテクチャについて考えてみよう、というテーマの資料です。B/43というプロダクトで…
管理機能作り方の話かと思ったら、ちゃんとソフトウェアアーキテクチャの話で面白かったです。プロダクトの立ち上げ時に最低限でいいや、まさに「後追い」と作ってしまいがちな管理機能なのでアーキてくティング的な観点で考えたことがなかったので面白かったです。
「責務を表現する名前として『管理画面』は適切か?」はまさにそうだなと感じました。
自分の道具を自作してつくる喜びを体感しよう、Railsで。 〜4年続いたPodcastを実例に〜

自分の道具を自作してつくる喜びを体感しよう、Railsで。 〜4年続いたPodcastを実例に〜 / Kaigi on Rails 2023
自分の道具を自作してつくる喜びを体感しよう、Railsで。 〜4年続いたPodcastを実例に〜 by Takuya Mukohira / mktakuya - Kaigi on Rails 2023 https://kaigionrails.org/2023/talks/mktakuya/
業務での開発と、個人での開発ってやっぱり種別が違ってそれぞれの良さ、楽しさがあるなということを感じます。
最近、趣味や個人でコードを書いたり開発する時間を全然取れてないので、自分が使うものを自分で作る、やりたいなと素直に思いました。
ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜

ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜/pair-mob-programming-kaigi-on-rails-2023
トークのキレとスライドの作り込みがすごかったです。(笑)
ペアプロをどうやって導入したか、また導入で解決された開発上のツラみが紹介されていました。
あんまりガッツリペアプロをやったことはなかったので、今回実際に壇上でペアプロをライブで見ることができてとても新鮮でした。
特に、一人で開発しているとつい飛ばしてしまう確認や思考の過程を、ペアで開発することで都度意図的に確認したり、段階を歴て開発していく様子が
印象的できた。
A Decade of Rails Bug Fixes
Railsにおける10年前のバグと、数ヶ月前のバグをどのようにデバッグしたかを紹介されました。
最初のRailsから直近のコントリビュートまでの10年の話など。特に直近の話はMastdonのバグから始まり、Ruby、Railsの仕様にもわたる大きなコントリビュートの物語で面白かったです。
再現できない他人のバグのデバッグは大変だよなとか、いかなる場面においてもコミュニケーションの取り方は大事だよな、とか示唆がいくつも散りばめられていました。
アフターパーティ
アフターパーティでは、ご飯と、そして美味しい日本酒も用意されており、楽しい時間となりました。カンファレンス中に挨拶できた人たちとちゃんとしっかり話すことができたり、また次の企画にも繋がりそうな話もできてよかったです!
お腹空いていました
日本酒もおいしかったです1
RubyMusicMixin on Rails
そして恒例となりつつある(?)DJイベント。今回もpixivさんがスポンサードしていただき楽しいパーティとなりました。
場所を探して手配するのもすごい
RubyMusicMixin on Rails 2023 (2023/10/28 21:00〜)
Kaigi on Rails 2023の日程に合わせて開催するピクシブ主催の懇親会です。 小規模ではありますが Kaigi on Rails 2023 参加者同士の懇親会場をご用意いたします。 会場にはDJ機材 (Pioneer DJ CDJ-3000 * 2、DJM-900NXS2) を持ち込み、好みの音楽を流せる環境を用意します。 心地よい音楽に身をゆだねながらいっしょに楽しいひとときを過ごしましょう。 # イベント概要 日時: 2023年10月28日(土) 21:00~23:30 場所: The Bridge Bar&Lounge 住所: 東京都台東区浅草橋3-3...
感想
今回のKaigi on RailsではRailsの話がとても多く、またレベル感も自分にあっていた話が多かった印象で、身近な話題が多くて面白かったです。
最近自分はReactなどのフロントエンドも見ることが多くなりRailsをガッツリ触ることが少なくなってきたのですが、今回Kaigi on Railsに参加して改めて色々なRailsの機能を使ってプロダクトを作りたくなりました。
また、他社さんやスピーカーの方が試行錯誤をされて要求を実現しているスタガを見て、設計とか実装、また自分も頑張ろうと刺激をもらいました。
ぜひ、次の機会にはこそプロポーザル出す、、!(n回目)
企業ブースも各社さん色々とコンテンツやノベルティを用意されていて、初めてのオフラインでの開催・会場でしたが休憩時間も飽きることなく、また交流もできてよかったです。
ブースについてはSmartBankさんがうまくまとめてくれています。

全10ブース網羅! Kaigi on Rails 2023のスポンサーブースまとめ - inSmartBank
本日、2023年10月27日から明日28日にかけて、 浅草橋ヒューリックホールでKaigi on Rails2023が開催中です! kaigionrails.org このブログでは、本イベントに出展中の 各スポンサーブースの展示内容をご紹介します! 今日ブースを回りきれなかった…という方や、明日から参戦!という方、 そもそもスポンサーブースってどんなことやってるの?という方の参考になれば幸いです! 各ブースの皆様、快く写真をとらせていただき本当にありがとうございました😍
今回もとても刺激になった会でした。RubyKaigiもそうですが、カンファレンスやイベントの参加を重ねていくうちに、同じRubistやWEBアプリのエンジニアなどのいろんな知り合いが増えてきて嬉しいな、と感じた2日感でした。
RubyKaigi2023も思い返せば半年前。懐かしい。
次のカンファレンスやイベント参加も楽しみです!

RubyKaigi2023に参加してきた|井上 周/ INOUE Amane
はじめに 株式会社マイベストでバックエンドエンジニアをしています、井上周(@isaka1022)です。 普段は主にRuby on Railsを使って開発をしています。 このたび、2023年5月11日〜13日に長野県松本市で開催されたRubyKaigi2023に参加してきたので、記憶が新しいうちに記録を残しておこうかと思い参加レポートを書いてみることにしました。 RubyKaigi 2023 RubyKaigi 2023, #rubykaigi rubykaigi.org マイベストはRubyKaigiのスポンサーをしており、僕は入社してからずっと参加させ
記事の更新をメールで受け取る
質問・リクエストを送る
記事についての質問や、取り上げてほしいテーマがあればお気軽にどうぞ。いただいた質問はブログ記事として回答し、Q&Aページで公開することがあります。