kickflow Tech Blog

株式会社kickflowの開発チームによるブログ

Kaigi on Rails 2024 に行ってきました

Kaigi on Rails 2024

プロダクト開発本部の渡辺です。 先日の「Vue Fes Japan 2024」に続き、「Kaigi on Rails 2024」にも参加しました。 kickflowでは、エンジニアの自己学習を積極的に支援しており、さまざまなカンファレンスに参加する機会を提供しています。 会社の制度を最大限に活用させていただいております。

Kaigi on Railsとは

国内にはいくつかRuby関連のカンファレンスがありますが、Kaigi on Railsはその中でもRuby on Railsに特化したカンファレンスです。 2020年に開始された、比較的新しいカンファレンスです。

Kaigi on Railsのコアコンセプトは「初学者から上級者まで楽しめるWeb技術カンファレンス」です。Kaigi on Railsは、技術カンファレンスへの参加のハードルを下げることを目的に企画されています。名前の通りRailsを中心にしたカンファレンスですが、Web全般(フロントエンドやプロトコルなど)についても幅広く取り扱います。今後も参加者の皆さんが日々の開発に役立つカンファレンスであり続けることを目指して活動していきます。

Kaigi on Rails 2024: Aboutから抜粋

Railsを用いた開発において、日々の業務に役立つティップスや最新技術動向を得られるカンファレンスです。

会場の雰囲気

建物

国際展示場駅から向かうと東京ビッグサイトの手前にあります。綺麗な外観です!

有明セントラルタワーホール&カンファレンス
有明セントラルタワーホール&カンファレンス_2

エントランス

ロゴが鮮やかで案内が分かりやすかったです!

エントランスの案内

受付

スタッフの方々は赤のTシャツを着ていてとても目立っていました!

受付

スポンサーブース

スポンサーの数がめちゃくちゃ多い!

スポンサーパネル
kickflowも見つけました!
kickflowのロゴ
スポンサーブース
ノベルティ

会場内

会場は2つのホールに分かれていました。それぞれHall Red、Hall Blueとなっていて、ロゴのイメージカラーに合わせて名前が付けられていました。

Hall Red
基調講演

お弁当

今回はしっかり写真に収めています(笑) やはり画がないと美味しそうな感じは伝わらないですよね!

1日目のお弁当
2日目のお弁当

気になったセッション

2日間に渡って、約40近いセッションがあった中から渡辺が気になってセッションをDay1、Day2それぞれ5つずつピックアップしてみました。

Day1

RailsのPull requestsのレビューの時に私が考えていること

最初から割とメッセージ性強いなぁ、という印象があったので選びました(笑) 基調講演で「RAILS WAY, OR THE HIGHWAY」という話を聞いた後だったので、特にそう感じたのかもしれません! 客席の笑いがいい感じに雰囲気を緩和してくれていました。皆さん、Issuesやpull requestsを作成するときは必ずドキュメントを読みましょう!

そのカラム追加、ちょっと待って!カラム追加で増えるActiveRecordのメモリサイズ、イメージできますか?

話し方も参考になるなぁと思って聞いておりました。 冒頭に複数のフラグを立てて、全て回収していくという話し方が良かったです。 「CRubyに興味関心を持ってもらう」と冒頭で言っていた通り、最後にはとても興味をそそられていました。

Sidekiqで実現する長時間非同期処理の中断と再開

自身も前職でS3を使って似たようなことをして長時間バッチを動かしていたので、全体の話の内容が理解しやすかったです。 Sidekiq Iterationがとても気になって、まだベータ版とのことでしたが、早く正式リリースされるのが待ち遠しいです。

Rails APIモードのためのシンプルで効果的なCSRF対策

kickflowでもRuby on RailsをAPIモードで使用しており、CSRF対策の話が以前に取り沙汰されたことがあります。 このセッションで「正解はこれです」とシンプルにまとめていただいていました。他のセッションでも同じ方法をされている方がいたので、今後はこの内容を参考にしたいな、と学びになりました。

Capybara+生成AIでどこまで本当に自然言語のテストを書けるか?

プロトタイプのデモを行った際、会場がどよめいていたのが印象的でした! 残念ながら失敗したケースもありましたが、すぐに改善されて、実用できることを願っています。 E2Eテストの構築の工数削減や精度向上への道筋が見えた、そんな発表でした。

Day2

推し活のハイトラフィックに立ち向かうRailsとアーキテクチャ

ハイトラフィックに対応するためにテーブルをドラスティックに修正する方法が新しい知見でした。 CDNだったり、ALBなどの一般的な対応くらいしかやったことがなかったですが、最終的にはDBがボトルネックになるので、テーブルの設計の仕方が新しい学びになりました。

Sidekiq vs Solid Queue

Rails8.0からSolid Queueがデフォルトになることの経緯から説明してくれたので、理解しやすかったです。 SidekiqからSolid Queueに移行するメリットの部分に関しても参考意見として取り入れやすそうでした。 個人的にも移行に関するメリット・デメリットは検討したいと感じました。 PostgreSQLのSKIP LOCKEDがとても良いなと思いました。

Data Migration on Rails

maintenance_tasksというgemが紹介されていましたが、GUIが提供されているのが良いですね! data migrationのたびに「誰が実行する」「いつ実行する」という話がkickflowでも発生するので、参考になる話でした。

omakaseしないためのrubocop.yml のつくりかた

タイトルからは想像できませんでしたが、チームマネジメントに関するお話でした。 rubocop.ymlに限らず、様々なチーム文化に関する決め事を進めるのに使えそうでした。 しっかり言語化できているのが素晴らしいと感じました。

WHOLENESS, REPAIRING, AND TO HAVE FUN(基調講演)

「Ruby on Rails scales from HELLO WORLD to IPO」のメッセージに関する話を、とても丁寧に話してくれていた印象でした。 この2日間で色々学んだ気がしますが、「Railsを使いこなすこと」これが一番心に残った気がします。

感想

2日間に渡ったカンファレンスをぶっ通しで参加したので「疲れた〜」が最初の感想です(笑) 実務的な内容であったり、独自の路線を行く内容だったり、カンファレンス自体はとても自由な印象を受けました。

これまで漠然とRuby on Railsというフレームワークを使っていましたが、 「RAILS WAY」に乗ることやフレームワーク開発者の意図を考えることを改めて考えるきっかけになったと思います。

「Ruby on Rails scales from HELLO WORLD to IPO」 このメッセージと開発側の意図が少し感じられた気がしました。

最後の基調講演もとても良かったと思います。 設計に頭を悩ませたり、色々な可能性を考えてこんがらがることは個人的に多々ありますが、シンプルに「RAILS WAY」に沿って抽象化できていれば、悩むことがないよと後押ししてもらえた、そんな気がします。 コントリビュータからは少し苦言みたいなものもあった気はしますが(笑)、よりRuby on Railsのコミュニティが発展できるように、よりRuby on Railsを使いこなせるように自分も開発を進めていきたいです。

We are hiring!

kickflow(キックフロー)は、運用・メンテナンスの課題を解決する「圧倒的に使いやすい」クラウドワークフローです。

kickflow.com

サービスを開発・運用する仲間を募集しています。株式会社kickflowはソフトウェアエンジニアリングの力で社会の課題をどんどん解決していく会社です。こうした仕事に楽しさとやりがいを感じるという方は、カジュアル面談、ご応募お待ちしています!

careers.kickflow.co.jp