Ruby on Railsに触れる機会が以前よりも増えてきたこともあり、参加させていただきました。
聴講したセッション
Rails初心者なので、ソフトウェア設計に関するセッションを主に聴講させていただきました。 それぞれのセッションの発表資料と、自分のメモや感想をまとめておきます。
Day 1
- アジャイルを感じながら聴講していたら、最後の方にアジャイルソフトウェア開発宣言が登場して笑顔に
- 聴講者が多く自分は立ち見席へ
- タイトル通りの内容で、主にReactとHotwireを比較したお話
- counter_cacheの導入により不要になったpreloadが削除されておらず、メモリを圧迫していたお話
- GitHub - flyerhzm/bullet: help to kill N+1 queries and unused eager loadingを使うと不要なpreloadをある程度検知することもできるとのこと
- 並列数を上げたらRDBへのコネクションプールが枯渇したので対処されて得られた知見
- アムダールの法則 - Wikipedia
- https://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ConnectionPool.html#method-i-with_connection
Yields a connection from the connection pool to the block. If no connection is already checked out by the current thread, a connection will be checked out from the pool, yielded to the block, and then returned to the pool when the block is finished. If a connection has already been checked out on the current thread, such as via lease_connection or with_connection, that existing connection will be the one yielded and it will not be returned to the pool automatically at the end of the block; it is expected that such an existing connection will be properly returned to the pool by the code that checked it out.
- 便利そう
- GitHub - kainosnoema/rack-lineprof: Rack middleware for easy line-by-line profiling using rblineprof
- 行単位で実行時間をプロファイリングしてくれるgem
- アクセシビリティの高いウェブサイトは生成AIフレンドリーでもある
- たしかに言われてみればそうだけど、意識的になれてなかった
TODO: 発表資料を発見したら置き換える
- 釣りが趣味とのことでシンパシー(自分は夜釣り派だけど)
- やや特殊な構成のRailsアプリをKamalでデプロイした際に工夫された点を色々と紹介されていたと思う
- 設計の仕方を知らない初学者に設計の仕方を伝える方法論
- 教える側と教わる側のギャップに着目
- 他のセッションを内容とリンクさせながら広く紹介されていて良かった
- 各セッションを独立した知識として吸収するだけでなく、セッション同士のつながりについても注意して吸収することで、より体系的な知識に昇華できる期待を持てた
- Fat Model問題への現実的折衷案について、螺旋階段的にServiceクラスに近づいたり離れたり
- コンテキストマップをつくるのが大事
- そういえば自分はDDDについて特に学んでないことを思い出したので、勉強しても良いのかも
Day 2
TODO: 発表資料を発見したら置き換える
- 例外業務は設定に切り出しましょう、設定のパターンと選び方を紹介、という内容だったと思う
TODO: 発表資料を発見したら置き換える
- 第一話試し読みにフォーカスして選定したアーキテクチャとコンテンツ保護の仕組みについて話されていたと思う
- 英語のセッションは自分には理解が難しかった……
- 翻訳スクリーンを見てたらどうにかなるかなと思ってたけど、そんなことはなかった
- 同時通訳レシーバーを借りたほうが良かった
- SQLiteを中心とした技術スタック独自の問題について色々とお話されていたと思うが、自信なし
- 役割での権限管理はアンチパターン
- GitHub - varvet/pundit: Minimal authorization through OO design and pure Ruby classes
- Punditの見通しをより良くする書き方
- Rails側での権限管理を整理したらNext.js側にも良い影響があった
- 合間合間で出題を挟んで、発表者の方は小休憩を挟んでるのがうまいなと思った
TODO: 発表資料を発見したら置き換える
- Shopifyで実績のあるFalcon, Async::Jobのご紹介
- スループットが高い
- コマンド一発で生成AI向けのMarkdownがリポジトリに配置されていたようで、現代っぽいなと思った
- 最後はClaude Codeによるライブコーディング
- スネークゲーム的なインタラクティブ性の高いアプリケーションが出力されていた
感想
自分は今年が初参加だったのだけど、
のスライドが色んなセッションで紹介されていたのが印象的だった。ので、動画を再生しながらこの記事を書いている。
この規模のオフラインカンファレンスに参加したのも久しぶりだったけど、
を利用されている方をちらほらと見かけて、良さそうだった。
基本的には会場のネットワークを使わせていただいていたけど人が多くなるとさすがに疎通が取れなくなることもあり、そうなるとesaのエディタに入力していたメモが巻き戻ってしまったこともあったので、次は素直にローカルのテキストファイルにメモを取ってみようかと思った。
色んな人と交流ができたのも良かった。三浦半島.rbの方々、現職・前職の同僚、現職のOB/OG、純粋に初見の方、などなど……。 三浦半島.rbでは地域性を軸に色んな方々と交流できる点に良さを感じていたけど、今回は「過去と未来」という感じで、同窓会的な交流もありつつ、新しい出会いもあり、ああこれがコミュニティってやつなんだな、という感じがあった。
やや遠方からの参加だったりもともと体調が微妙だったこともあって体力的にはハードな面もあったけど、参加できて良かったです。 ありがとうございました。