【Kaigi on Rails 2024】これからアーカイブ何みる??対象読者別におすすめのセッションを紹介します!(2日目)

Rails

はじめに

こんにちは! @mterada1228 です。本記事は Kaigi on Rails 2024 の参加レポートです。

本記事ではこれからアーカイブやスライドを見よう!という方向けに、どういった読者がどのセッションを見ると良さそうか、まとめ記事的に書いていこうと思っています。

1日目のセッションについての紹介記事は↓になりますので、よかったらこちらも覗いてみてください!

【Kaigi on Rails 2024】これからアーカイブ何みる??対象読者別におすすめのセッションを紹介します!(1日目)
Kaigi on Rails 2024 に参加してきました!本記事ではこれからアーカイブやスライドを見よう!という方向けに、どういった読者がどのセッションを見ると良さそうか、まとめ記事的に書いていこうと思っています。

作って理解する RDBMSのしくみ

作って理解する RDBMSのしくみ
Kaigi on Rails 2024「作って理解する RDBMSのしくみ」の発表スライド。 #kaigionrails

こういった方におすすめ!

・RDBMS の仕組みに興味がある
・特にインデックスについて詳しく知りたい
・アプリケーションのチューニングに取り組みたい

RDBMS が SQL を受け取って結果を返すまでの流れと、Index(特に B-Tree)について、そこで採用されているデータ構造と検索アルゴリズムを詳しく知ることができます。RDBMS に明るくない私でも、なぜインデックスがあると早くなるかがチョットワカル状態になった気がしております!

Web アプリケーションの開発において、データアクセスがボトルネックになることは非常に多いです。RDBMS の知見がパフォーマンスチューニングの強い武器になることは間違いありません。このセッションをきっかけに学びを深めていきたいと思いました!

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

cache-to-your-advantage-20241026.pdf

こういった方におすすめ!

・Rails のフラグメントキャッシュを活用したいと考えている
・Rails 標準のものより使い勝手のいいキャッシュライブラリを探している

Rails 標準のフラグメントキャッシュの使い方から、キャッシュの更新戦略はどういったものか?を解説し、ラストには @tkawa さんが開発している rendering_caching の紹介があります。

Rails のフラグメントキャッシュの使用に不安があって使えてない方から、何か使い勝手のいいライブラリを探している、という方まで、Rails のテンプレートエンジンを活用している・これからしたい方は必見のセッションかと思います!
・OAuth2.0の仕組みについて興味がある
・OmniAuth gem を利用した認証・認可を導入したい

OmniAuth gem で実装されている認証・認可をもとにして、OAuth2.0の認証・認可のフローを解説するセッションです。普段おまじない的に実装している箇所が何を意味するのか?このセッションを見れば丸わかりです。

ライブラリはその内部の実装を意識せずに使えて非常に便利なものですが、何もわからないと何か不具合があったときに自分で対応することが全くできなくなってしまいます。認証・認可は多くの Web アプリケーションにとってミッションクリティカルな機能です。このセッションを通じてぜひ仕組みを押さえておきましょう!

入門『状態』

入門『状態』#kaigionrails / "state" for beginners with Rails
Kaigi on Rails 2024 Day2 で発表した内容です。 【スライド末尾で紹介されているURL】 Rails: ビューには可能な限りロジックを書かないこと(翻訳)|TechRacho by BPS株式会社

こういった方におすすめ!

・良いコードとはどういうものかを知りたい
・良いコードがなぜ良しとされているのかを知りたい

世の中には「良いコード」とされるものは確かに存在していて、「良いコード」は読んで簡単に理解できますし、そこに修正を加えることも容易です。では「良いコード」はなぜ良しとされるのでしょうか?この疑問に対して「状態」という言葉を使って言語化してくれていると感じたのがこのセッションでした。

このセッションを見ることで、初学者の方はもちろんのこと、ある程度コードを書いてきた方にとっても無意識的に普段していることが言語化されて腹落ちする感覚を得られると思います!

Sidekiq vs Solid Queue

Sidekiq vs Solid Queue
kaigi on rails 2024の発表資料です

こういった方におすすめ!

・バックグラウンドワーカーの技術選定をしている・見直したい
・Rails 8 からデフォルトになる SolidQueue について知りたい

現在バックグラウンドワーカーのデファクトスタンダードといえば Sidikiq と考える方が多いと思いますが、Rails 8 では SolidQueue が標準となることが決まり、気になっている方も多いかと思います。

このセッションでは Sidekiq と SolidQueue の比較から、それぞれのメリット、デメリット、さらにプロダクトの特性を考えたときにどちらが適しているのか、これらを willnet さんの視点から紹介してくれています。

Rails 8 で標準が変更される部分は検討しなければ…と思っている方は多いはずです。モヤモヤっとした部分がこのセッションを通じて解消されてくると思います。

The One Person Framework 実践編

Practical The One Person Framework

こういった方におすすめ!

・Rails でアプリケーションを書くメリットを認識したい
・チームで Rails の Web アプリケーションをうまく育てたい

「The One Person Framework」とは DHH が公開した一記事で、Rails のフレームワークとしての立ち位置、目指すところを指し示したものと私は解釈しています。これは「一人の脳に収まる程度の情報量でアプリが作れるフレームワーク」と要約できるのですが、これがどういったものかを本セッションでは asonas さんのプロダクトを例に紹介してくれています。

現実のプロダクト開発は一人でやるものばかりではなく、チーム開発であることが多いと思います。「一人の脳に収まる」をチーム開発に拡張するとどうなるのか、本セッションではその点にも触れます。

なぜ我々は Rails で開発するのか?このセッションを通じて見えてくるものが必ずあるはずです!

Tuning GraphQL on Rails

Tuning GraphQL on Rails
Kaigi on Rails 2024でお話しました。

こういった方におすすめ!

・N+1 問題に悩んでいる
・アプリケーションのパフォーマンスチューニングに取り組みたい

GraphQL を使ったサーバの構成は N+1 問題が発生しがちで、この対応に悩んでいる方は多いのではないかと思います。このセッションでは実際に minne さんが遭遇した課題に対して、どのように解決を図ったか?を紹介してくれています。加えてそういった状況にどのように気付けるか?モニタリング環境の構築に関するテクニックも学ぶことができます。

私は普段 GraphQL をあまり使いませんが、疎結合な構成をとると N+1 問題はどこでも発生しがちです。その解決のアプローチは似たようなものになるので、GraphQL を使っているかどうかに関わらず、多くの方にとって知見を得られるはずだと思います!

大事なデータを守りたい!ActiveRecord Encryptionと、より安全かつ検索可能な暗号化手法の実装例の紹介

大事なデータを守りたい!ActiveRecord Encryptionと、より安全かつ検索可能な暗号化手法の実装例の紹介 | ドクセル
ドクセルはスライドやPDFをかんたんに共有できるサイトです

こういった方におすすめ!

・Rails を使ってデータベースの暗号化を実現したい

データベースからの情報漏洩を防ぐには、保存されているデータを暗号化するというのが非常に有効なアプローチになります。このセッションでは ActiveRecord Encryption を使った基本的な暗号化方法から、Rails を使ってレコード単位で暗号化するといった、よりテクニカルな方法まで紹介してくれています。

なかなかそのレベルのセキュリティが求められるアプリケーションに接する機会は少ないので、知らないことばかりで非常に学びの多かったセッションでした!

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

omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
Kaigi on Rails 2024にて、Shu Oogawara(@expajp )が発表したスライドです。

こういった方におすすめ!

・チームでの Rubocop ルール策定に悩んでいる
・チームにおける意思決定のプロセスに課題を感じている

rubocop.yml は人によって好みが分かれる部分もあり、チームでルールを策定するのが非常に難しいものだと思います。

このセッションではリンカーズさんが実際に rubocop.yml 作成をどのように進めてきたのか?を例に挙げて、時間をどう確保するのか?どういったプロセスが適しているのか?意思決定はどのように行なってきたのか?といったことを紹介してくれています。

ここで紹介されている意思決定のプロセスは、「キメの問題」を決め切るのに使える普遍的なテクニックだなあとも感じました。チームで働く多くの皆さんにとって必ず学びがあるはずです!

Identifying User Identity

Identifying User Idenity
Kaigi on Rails 2024 での発表資料です #kaigionrails

こういった方におすすめ!

・ログイン機能など会員管理をもつアプリケーションを開発している
・会員管理まわりのデータモデリングに課題を感じている

Web アプリケーションのほとんどにはログインなどの、会員(User)を管理する機能が実装されているのではないかと思います。User モデルはアプリケーションの様々な箇所で参照されるシステムの根幹を成すモデルであり、そのデータモデリングには失敗したくないところです。

このセッションではあまり語られることのない User モデルの設計のベストプラクティスを取り上げてくれています。User モデルはどのようなカラムを持つべきか?ユーザ登録やログインはどう実装すべきか?退会するときはデータをどう変更するか?これらが具体的な形で紹介されています。

うまいデータモデリングがされたアプリケーションがいかに開発生産性が高いか、このセッションを通じて深く納得できるはずです。初学者の方から、経験を重ねた方まで多くの方にとって必見のセッションだと思います!

WHOLENESS, REPAIRING, AND TO HAVE FUN – 全体性、修復、そして楽しむこと – (keynote)

WHOLENESS, REPAIRING, AND TO HAVE FUN: 全体性、修復、そして楽しむこと
Kaigi on Rails 2024での発表資料です

こういった方におすすめ!

・Web アプリケーションをこれから開発したい
・Web アプリケーションの寿命を伸ばし、大きくスケールさせていきたい
・アプリケーション開発者として大切にしたいマインドを知りたい

2日目ラストはえにしテック島田さんの keynote でした。18年間に渡る Rails でのアプリケーション開発の経験から、島田さんがアプリケーション開発者として大切だと感じていることを広く共有してくれるセッションになっています。

アプリケーションの開発者は設計をするときにどういった視点を持つべきなのか?そのために何を学べば良いのか、というところから始まり、将来の変更に対して強いアプリケーションの設計はどういったものなのか、といった普遍的で極めて重要なポイントをこのセッションから学ぶことができます。

これからアプリケーションの開発者を目指す方はもちろんのこと、現役の開発者にとっても必ず自分を成長させてくれる知見を得られるはずです。また最後に島田さんから発せられるメッセージはアプリケーション開発者なら誰しもが明日からも頑張ろう!という勇気をもらえると思います。

おわりに

Kaigi on Rails は懇親会や、ブース、2日目に参加した Leaner さんの Drink up でお話しできた方々をはじめとしてとても温かいコミニュティだったなあと感じています。

私自身は今回が初めての参加でしたが、最後まで楽しく過ごすことができました。来年東京駅で開催される Kaigi on Rails 2025 にもまた絶対参加するぞ!という気持ちです。(今度はプロポーザルにも挑戦してみたい…)

これで私の Kaigi on Rails 2024 の参加レポートは終わりになりますが、また来年皆さんとお会いできることを楽しみにしています!それではまた!

コメント

タイトルとURLをコピーしました