Kaigi on Rails 2024に参加した

2024年10月25日、26日と開催されたKaigi on Rails 2024に現地参加しました。

kaigionrails.org

最終日のクロージングで現地参加の人数が692名だったと発表がありましたが、2日間とてもスムーズに進行していて、運営の方々の準備や連携が素晴らしかったなと感じています。

また、自分もRails Girlsのロゴ作成でお世話になったmoegiさんデザインのロゴは「Rubyistに当たるスポットライト」がテーマでなんて素敵なんだ!と思ったし、デザインがカンファレンスの雰囲気を作っていることも2日間を通してすごく感じました。

発表内容も多岐にわたっていて、現地で聞くことができて本当に良かったです。 余韻が冷めないうちに簡単に2日間の感想をまとめておきたいと思います。

Day1

基調講演 Rails Way, or the highway

speakerdeck.com

Rails Way is a philosophy of building Rails applications Rails WayはRailsアプリケーションを構築する哲学です

発表の中で自分が一番印象的だったフレーズです。 初日の一番初めの発表でこの言葉を目にして、それ以降の発表を聞く際にも頭の片隅にずっとありました。

Rackを理解しRailsアプリケーション開発の足腰を鍛えよう

お昼のワークショップにも参加しました。 Rackについては過去にパーフェクトRuby on Railsを読んだ際に基礎には触れていたもののそれっきりとなっていたため、今回のワークショップを通して基礎から発展的な内容に触れることができて良かったです。

時間の都合上コードを書いて動かすことのほうに集中してしまったため、そのコードが何を意味するかについてを改めて復習したいと思っています。

Railsの仕組みを理解してモデルを上手に育てる-モデルを見つける、モデルを分割する良いタイミング-

speakerdeck.com

フィヨルドブートキャンプの頃からずっとお世話になっているigaigaさんの発表。

モデルを探す方法の基礎に関する部分はフィヨルド生の頃にデータベース設計の基本を学ぶ際、igaigaさんの解説資料に自分はとても助けられたのを思い出し、改めて大切なステップだなと感じました。

基調講演から続く流れで聞くことでより理解を深めることができた発表内容でした。

カスタムしながら理解するGraphQL Connection

speakerdeck.com

フィヨルドブートキャンプ卒業生のyana-giさんの発表。

私はGraphQLは扱ったことがないのですが、そういった人に対してもGraphQLとは何ができるのかを順を追って説明されていて分かりやすい発表でした。

リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果

speakerdeck.com

ビューレイヤーが抱える課題についての解決策としてViewComponentを導入するために、ERBをパースしてViewComponentを自動生成する仕組みを構築する考えそのものがすごかったです。

デプロイを任されたので、教わった通りにデプロイしたら障害になった件 〜俺のやらかしを越えてゆけ〜

speakerdeck.com

発表の構成がとてもうまくて引き込まれる内容でした。

違和感を放置しないで調べていく部分だったり、会社内の報連相だったり、仕事を進める上での学びが詰まった発表でした。

Hotwire or React? 〜Reactの録画機能をHotwireに置き換えて得られた知見〜

speakerdeck.com

Hotwireで実装する上での大切な考え方が順を追ってまとめられていて、納得感がありました。

自分も業務で少しの期間、Hotwireに触れていたことがあるのですが、当時はあまりうまく実装できなかったなという反省が自分の中にあり、この先再びHotwireを使用する案件に入る場合は改めて見返したい発表でした。

本屋さん@Kaigi on Rails 2024

笹田さんが企画されていた本屋さん。

2日目の基調講演をされた島田さんの書籍やRubyRailsに関係する書籍が扱われていました。

並べられている本の内容をそれぞれ見ていたところにちょうど島田さんが戻ってこられて、「今の自分が読むと良い1冊はどれでしょうか?」と島田さんに聞いておすすめいただいた「Design It! プログラマーのためのアーキテクト入門」を購入しました。

島田さんがメッセージとサインを書いてくださったのですが、メッセージが2日目の基調講演と繋がっていて感激です。

帰ってきてから早速読み始めました。

Day2

都市伝説バスターズ「WebアプリのボトルネックはDBだから言語の性能は関係ない」

2日目の一発目の発表。

IOとCPUのそれぞれの観点からGoとRubyの分析をしていて、なるほど〜と思う部分がたくさんある発表でした。

仮説を立ててそれを検証する方法を考えて実践することのサイクル、その結果がとても分かりやすくまとめられていました。

アーカイブが出たら発表資料とともにもう一度見たい。

Cache to Your Advantage: フラグメントキャッシュの基本と応用

drive.google.com

知らないことや普段考えられていない部分がたくさんあり、新たな学びをいただいた発表内容でした。

今の自分がすぐに実践とはいかないと思いつつ、頭の引き出しに入れておいてちゃんと取り出せるようこれから理解を深めていけたらと思いました。

OmniAuthから学ぶOAuth 2.0

speakerdeck.com

認証、認可について自分も直近の業務で触れることがあって書籍を読んだりしていたため、楽しみにしていた発表でした。

OmniAuthなしで実装を見ていく部分は自分もわかる部分もあったり、分からない部分もあったりで引き続き学習していくモチベーションが高まりました。

入門『状態』

speakerdeck.com

オブジェクトが持つ状態について、サンプルコードを交えながら解説されていて分かりやすかったです。

状態の変化幅を限定的にする部分など実践的で、自分自身もいきなりうまく実践はできないとしても、コードを書く中で意識しながら取り組みたい実例が詰まっていました。

Hotwire光の道とStimulus

speakerdeck.com

自分自身がHotwireを使って実装をしていた際に画面ごとに似たようなStimulusコントローラが増えてしまい、だけどどうするのが適切なのかがうまく考えられない経験があったため、それに対しての答えとなる考え方をもらった発表でした。

Hotwireに対しての熱量が自分の中でだいぶ高まったため、個人で何か作って学習再開したいです。

Importmapを使ったJavaScriptの読み込みとブラウザアドオンの影響

speakerdeck.com

js-bundling-railsなのかimportmap-railsのどちらを選ぶかの判断基準について分かりやすくまとめられていて勉強になりました。

importmap-rails導入後に発生した問題の調査と対策についてなども具体的でこの先importmap-railsを扱う場合にとても参考になる内容でした。

Data Migration on Rails

speakerdeck.com

狭義のdata migrationについてのお話でした。

自分自身もこれまでdb:migrateと同時に実行する、rake task、ruby scriptを実行するなど複数の方法を経験して他の現場ではどうしているのかだったり何がベストなのかだったりを疑問に感じたことがあり、とても気になっていた内容でした。

絶対的な答えはない中でどのような観点でやり方を検討するのかや発表者の方は現在どうしているのかなどを聞くことができて勉強になりました。

Identifying User Identity

speakerdeck.com

スライドにある通り「ユーザー」のアイデンティティとはなにでどう実装していくと良いかについて諸橋さんの考え方と実践が詰まった繰り返し見返したい発表内容でした。

スライド下部に挿入されている諸橋さんのコメントも人柄が溢れていてより発表を楽しむことができました。

「ユーザー」に関連する実装はそれに相当するもの含めて必ず扱うことになる部分であり、受託で仕事をしている自分はもしかするとこの先一から実装をすることもあるかもしれず、自分の中でちゃんと理解をまとめておきたいと思います。

基調講演 WHOLENESS, REPAIRING, AND TO HAVE FUN: 全体性、修復、そして楽しむこと

speakerdeck.com

島田さんの基調講演、最高でした・・・!!!

「全体が機能するように設計する」はこれから自分も時間をかけて学んでいきたい、できるようになりたい部分であり、スライドで紹介されていた書籍の1冊をちょうど笹田さんの本屋さんで購入したため、まずはその本を読んで2025年の目標にうまく繋げていきたいです。

「変化に向けて設計する」についても同様でこれからもエンジニアとしてシステム開発に関わり続けたい自分がこの先お守りとして持っておきたい言葉がたくさんありました。

6月に札幌で開催されたえにしテック15周年記念カンファレンスから繋がっている部分もあったり、言葉にならない感激が押し寄せてきた発表でした。

全体を振り返って

カンファレンス2日間どちらもOgijunさんのコーヒーを飲みながらワイワイ部屋で雑談する時間もあり、発表を聞くことと参加者の方との会話のどちらも楽しむことができました。 (6月の札幌に続いて今年はOgijunさんのコーヒーを飲める機会が多くて嬉しい!)

また、フィヨルド生やしんめ.rbに参加いただいた方ともたくさん話すことができました。 しんめ.rbは自分自身まだまだ手探りでやっている部分も多いため、参加した感想などを聞くことができて嬉しかったです。

ただ、参加者の方との会話はもうちょっと頑張って色んな方に声をかければ良かったなという反省もあったりします・・・。 当日お話ししたかった方がたくさんいたのですが、タイミングが合わなかったり自分から声をかけるのを躊躇してしまったりで、そこは今後カンファレンスに参加する際に意識的に変えていけたらと思います。

来年のKaigi on Railsは東京駅での開催ということで、また元気に楽しく参加できるように今年の発表で学んだこと、得たことを業務に持ち帰りながら1年間頑張りたいと思います!

素敵で忘れられない2日間をありがとうございました。