Kaigi on Rails 2023 の現地参加がめちゃくちゃ勉強になった話

Qiita株式会社の @tomoasleep です。今回は [Kaigi on Rails 2023](https://kaigionrails.org/2023/) に現地参加してきたのですが、非常に楽しく、学びも多いイベントだったので、参加してどうだったかをまとめていこうと思います。

![kaigi-on-rails.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/83f9c7a5-efe5-b243-a5d2-c54666d9337a.png)

## (特に) 面白かった発表
 
Kaigi on Rails のセッションは、主に Rails 開発でのプラクティスなどの話が多く、正直どれも面白く、実用的なのですが、(文量が無限にならないように) 一部だけ抜粋します。

どんな発表があったか、簡単に見たい方は👇がおすすめです :information_desk_person: 

https://qiita.com/Hassan/items/9cc836dd5bfb1aaaabac

### [Exceptional Rails by Shinichi Maeshima](https://kaigionrails.org/2023/talks/willnet/)

Rails アプリケーションで発生する様々なエラーだったりバリデーションだったりの異常系、準異常系をどう扱うかというなんとなくやりがちなポイントに対して、具体的なトレードオフや指針を言語化していて、とても参考になる発表でした。 (Rails 多少慣れてきたエンジニア全員に紹介したい内容だと思いました)

https://speakerdeck.com/willnet/exceptional-rails

### [TracePointを活用してモデル名変更の負債解消をした話 by alpaca-tc](https://kaigionrails.org/2023/talks/alpaca-tc/)

コード中の大量の定数名を rename するためにどうするか、という話です。 Ruby は動的型付けなので、こういった作業は結構難しいのですが、 TracePoint を使って、実行時情報から参照、被参照の関係性を抽出して、ほぼ自動的に rename を行えるようにしています。

TracePoint ほとんど使ったこと無いので応用例として面白いのと、パフォーマンス問題を回避するための色々な Tips がしれて、技術的に面白い発表でした。

https://speakerdeck.com/alpacatc/tracepointwohuo-yong-sitemoderuming-bian-geng-nofu-zhai-jie-xiao-wositahua

### [E2E testing on Rails 2023 by Yusuke Iwaki](https://kaigionrails.org/2023/talks/YusukeIwaki/)

Playwright で JS で Rails の E2E テストを書けるようにしながら、 Factory などの資産は使い続けるようにしたい、というのをうまく両立できるようにどうやるかについて話されています。

個人的には [Rails E2E テストの Playwright 化](https://qiita.com/tomoasleep/items/71b792cb2f89235db1ca) などをしたり、E2E テストの体験改善は非常に関心高いので、 Playwright の開発体験を享受しやすくなるのは非常に嬉しいな、と思います。

https://speakerdeck.com/yusukeiwaki/kaigionrails2023pub

### [APMをちゃんと使おうとしたら、いつのまにか独自gemを作っていた話 by kokuyouwind](https://kaigionrails.org/2023/talks/kokuyouwind/)

(Datadog などの) APM の活用方法から、 Ruby コードを Datadog APM で追跡するためのコードの書き方、それを書きやすくするために Gem を作ったという話でした。
発表自体も APM の活用方法を学べる、という点で非常に参考になるのですが、発表後に各社のエンジニアの方々が、 APM の利用方法について意見交換していて盛り上がっているのが非常に印象的でした。

https://slides.com/kokuyouwind/kaigi_on_rails_2023


## 現地参加は、登壇者や参加者と議論が出来るのが大きい

Kaigi on Rails は (ハイブリット開催のため) オンラインで無料で見ることも出来ます。
なので、現地行かずにオンラインで良いのでは？という意見もありそうですが、個人的には現地参加は参加者間の交流が非常に大きいポイントだと思います。Kaigi on Rails でもそうした交流ががあちこちでありました。

例えば、セッション後に登壇者や関心が強い人同士で議論したり (各社の [APMにの使い方](https://kaigionrails.org/2023/talks/kokuyouwind/) はどんな感じか、[TracePoint](https://kaigionrails.org/2023/talks/alpaca-tc/) の細かい使い勝手はどうか、どういう設計思想か、など) 、懇親会のタイミングで各社の管理画面はどんな感じか、型とどう向き合ってるか、みたいな、セッションに関連した参加者同士の実例共有や議論するなど、セッションのテーマを深掘って話す機会が作れて、深く学ぶ機会として非常に良かったです。

### スポンサーブースも賑わっていた

現地参加の別の楽しみ(?)として各企業のブースがあります。 クイズだったり、サービス体験だったり、自社のアーキテクチャ紹介だったり様々なコンテンツで賑わっていました。

エンジニアの方に技術的な質問を出来たり、事業について知ったりと、色々な Ruby/Rails 企業の中身を知れたり、色々もらえたりする、というので非常に楽しい場でした。
(RubyKaigi でも感じたのですが)単なる宣伝というよりは、各社色々な方法で楽しませてくれるお祭り感があるのが非常に良いなと思います。

雰囲気に関してはスマートバンクさんがまとめてくださっているので、そちらも参考になると思います。

https://blog.smartbank.co.jp/entry/2023/10/27/214137

## 参加 Tips: 所属とSNSアイコンが分かるようにしておくと捗る

今回の参加するにあたって、会社のロゴTシャツの他に、自分の SNSアイコンを印刷した紙を持参して持っていき、ネームカードにぶら下げていました。

https://x.com/nemunemu3desu/status/1717513105171984734?s=20

これはインターネットあるあるなのですが、SNS 等のアイコンとリアルアイコン(顔)が一致しないことはよくあるので、こういったものをつけていくと自己紹介が一部省けるので非常に便利でした。前日にカラープリンターで紙に刷って持っていくだけなので、準備もほとんどかからず便利です。

他の参加者の方で、 NFC を内蔵したアクセサリやカードを持参している方もいらっしゃったのですが、こういうのも非常に便利そうに見えました。SNS の交換がかざすだけで行えるのも非常に楽そうです。

https://x.com/yuki930/status/1718603876147122224?s=20

https://prairie.cards/

## まとめ

Kaigi on Rails 2023、楽しくてとても学びが多いイベントで現地参加できて非常に良かったです！
運営 & スピーカーの皆さんありがとうございました！来年は登壇できるようにがんばるぞ :muscle: