見出し画像

Kaigi on Rails2023 参加レポート

こんにちは、CAMPFIREのokayuです。
2023年10/27(金)、28(土)に東京で開催されたKaigi on Rails 2023に参加してきました!
今年はKaigi on Rails初のオフライン開催のため、オンラインでは感じられなかった会場の熱気や雰囲気を楽しむことができました。
Kaigi on Rails 2023 にはスポンサーとして協賛しており(過去記事:Kaigi on Rails 2023 に Silver Sponsor として協賛します!)、運営に関わっている私としてもCAMPFIREのエンジニアに参加してもらいたいと思い、今回は現地参加できるメンバーで参加しました!


気になったセッション

素晴らしい発表ばかりでしたが、特に印象に残っているセッションについて参加メンバーにそれぞれ感想を聞いてみました。

生きた Rails アプリケーションへのDelegated Types の導入(hayashidaさん)

  • Rails6.1で導入されたDelegated Typesを実際に運用しているアプリケーションで利用した際の話でした。

  • STIと比較した際のメリット、デメリットや、新規テーブルではなく、既存のテーブルに対してDelegated Typesを導入する際の移行戦略も含めて説明があったのが非常に参考になりました。具体的な移行の話が聞けたことで、自分たちのアプリケーションで利用するとしたらどうなるだろう?と考える際にも、具体的なイメージがしやすくなったと思います。

  • 本題からは外れるのですが、内製でデプロイ履歴やメトリクス、アプリケーションログを確認できるアプリケーションを作っているのはすごいですね…!最近、メトリクス集計などをしているので、最終的にはそういったところまで持っていけるといいよなぁと発表を聞いて感じました。

seeds.rbを書かずに開発環境データを整備する(kabeさん)

  • 開発環境で扱うデータをローカルとsyncしたい!けどseedファイルの記述やメンテナンスの手間がかかってしまう…という課題を解決するためのセッション。

  • 紹介されていたアプローチではスナップショットのように今この瞬間のローカルデータをseed化するためにCSV出力→読み込みをできるようにしていた。

  • シーケンスや日付周りでの調整は必要だが実運用できている。

  • CAMPFIREでもデータのsyncは常に課題としてあがっている。最低限のデータは作成されるが機能追加などにパラメータが不足したデータが作成されてしまったりなど…

  • 参考にしたい、CAMPFIREでやるならどうするかを考えている。

Hotwire的な設計を追求して「Web紙芝居」に行き着いた話(sasageさん)

  • 自社の開発案件でHotwireを活用されている、株式会社万葉さんの講演。

  • Turboは、Body要素全体の更新ができるTurboDriveと、1つの<turbo-frame>要素の更新ができるTurboFrame、複数要素の更新のTurboStreamsの3つが用意されているが、部品的アプローチを採った際にJSでの処理が増えてしまうことがあるため、TurboDriveを使った「紙芝居的な」全画面更新アプローチを取る方がよりRails的で、メリットが大きいケースもあるのでは、という提案でした。

  • Railsだけで「SPA風の使い勝手」を実現できるので、管理画面などシンプルなケースではHotwireの採用も面白そうだと感じさせてくれたセッションでした。

管理機能アーキテクチャパターンの考察と実践(iwasakiさん)

  • 管理画面開発のベストプラクティスについて、管理画面というプレゼンテーション層にとどまらず、管理機能として捉えることで最適なアーキテクチャについて考えるセッションでした。

  • その中でもフロントエンドとバックエンドにどうソースコードを配置するかという観点で、モノリシック、PDS(Presentation Domain Separation)、マイクロサービスなどを比較検討されていました。発表者の方が最終的に選択したPDS順守のアーキテクチャは、開発効率に加え、ドメインをユーザーと管理画面利用者で統一させるという意味でも非常に納得感がありました。

  • CAMPFIREでもサービスや組織が成長するにつれて、管理機能の重要性は高まってきていますので、その際にドメインから意識して整えていくのは良いアプローチであると感じました。

ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜(inoさん)

  • 「今回のKaigi on Railsで一番トリッキーといわしめたこのセッション」から始まるだけあって、発表自体にも沢山の工夫があって是非動画で見てほしいペア・モブプロのセッションです!

    • 三人の掛け合い、ところどころに挟まれるギャグ(「ビールもイベントも生が一番ですね」には笑いましたw)、スライドのクオリティ、ライブコーディングならではのハラハラ感と内容以前に見どころが多いですw

  • 内容としてもデータ観点でのペア・モブプロの良さや、実際に取り組んだ中での課題とその解決法を最初にまとめられており、全体像を把握した上でライブコーディングでの実演を見れるという腹落ちしやすい構成になっています。

  • 取り組む課題がそもそも解決するべき課題なのかのすりあわせや、必要なタスクをみんなで洗い出しておくなど、コードを書く以前の目線合わせのプロセスを見れたのも勉強になりました。

  • CAMPFIREでもペアプロ・モブプロだけでなく、モブレビューなども取り入れていますが、Tebiki社が行っているようなモブとソロとの定性・定量での評価はまだ出来ていないので、評価と改善を重ねつつ今後もみんなでHappy Hackingしていきたいと感じた楽しいセッションでした!

カンファレンス参加を通して

参加した学びを活かすために今後の取り組みとして以下のことを行いました!

  • 振り返り会を開催

    • Kaigi on Railsで得た知見をチーム全体に落とすことを目的として、良かったセッションをいくつか取り上げて感想を言うということを行いました。

  • アーカイブ動画を見ながらセッションについて語り合う会を開催

    • 参加できていないメンバーも含めてアーカイブ動画を見ながら、CAMPFIREの場合はどう活用できるか等を話合いました。今後も複数回に分けて開催予定です。

どちらも技術に関して話す文化を作っていくための重要な取り組みになりました。CAMPFIREとしては技術にフォーカスした会話を今後はもっと活性化させていきたいです。

感想

大きいカンファレンスに社内エンジニアたちと参加することはあまりなかったため普段リモート勤務で交流の機会がないメンバーとも親交を深められましたし、学びもたくさんありましたね!
ぜひ来年も参加したいと思いますし、運営としても今年よりもさらにアップデートしていくであろうKaigi on Railsを楽しみにしていてほしいです!

この記事が気に入ったらサポートをしてみませんか?