📖

Kaigi on Rails に初めて参加してみての感想

2024/10/28に公開

ツクリンク株式会社の佐山(@yama2_0506)です。
今回はKaigi on Rails 2024 に2日間現地参加してきました。その中で特に印象に残ったセッションの感想・学びを書いていきたいと思います!!
ツクリンクは今回Silver Sponsorとして協賛させていただきました!!
現地参加組は4名での参加となりました。

ツクリンクEMのあっきー(@kuronekopunk)さんが既に今回のKaigi on Rails 2024の記事を書いていただいているのでそちらもあわせて見ていただけると嬉しいです!!!
https://zenn.dev/tsukulink/articles/be0b8c03a7dffc

1日目

minneのShoryuken活用

https://speakerdeck.com/yumu/minnenoshoryukenhuo-yong-kaigi-on-rails-2024-suponsalt

  • Shoryuken(Sidekiqと同じ非同期処理)
    • 昇竜拳!!名前かっこいい
    • AWSとの互換性が良さそう

Shoryuken + SQSで非同期処理にした

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

https://speakerdeck.com/yahonda/railsnopull-requestsnorebiyunoshi-nisi-gakao-eteirukoto
https://guides.rubyonrails.org/contributing_to_ruby_on_rails.html

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

https://speakerdeck.com/hypermkt/pausing-and-resuming-long-running-asynchronous-jobs-with-sidekiq

  • 以前弊社でも長時間実行のジョブ考慮してデプロイタイミングを調整を行っていた記憶があるのでとてもわかりみが強かった
  • Sidekiq Iterationはまだベータ版とのことですが、中断・再開を簡単に導入できるのは良さそう
    Sidekiq v7.3に導入されたSidekiq::IterableJobについて

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

https://speakerdeck.com/katty0324/ririsu8nian-mu-nosabisuno1800ge-noerbhuairuwoviewcomponentniyi-xing-sitafang-fa-tosonojie-guo

  • 1800個のERBファイルを一人で1年半かけて移行したということに衝撃を受けました
  • 移行作業を自動作成スクリプトしたということで、具体的にどうやったのかもう少し詳細聞きたくなりました

現実のRuby/Railsアップグレード

https://zenn.dev/takeyuwebinc/articles/4c44a4f284d3d1

  • 業務の中でバージョンアップグレード作業を経験したことがないので、個人的にはとても参考になりました。

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

https://speakerdeck.com/harunatsujita/hotwire-or-react

  • Hotwireを使ったことがなかったので、使う箇所によって今後の技術選定の選択肢に入ってくるかもなと思いました

Hotwireとは?

2日目

ActiveRecord SQLインジェクションクイズ (Rails 7.1.3.4)

https://speakerdeck.com/kozy4324/activerecord-sqlinziekusiyonkuizu-rails-7-dot-1-3-dot-4

  • whereの時気を付けるくらいの認識でいたので、クイズ形式で自分の認識が誤っていたことを確認できたので今後もう少し詳しく学び直したいと思いました
  • Rails7.2からbreakemanが標準で入っているので、このあたりの脆弱性を検知しやすくなるので良さそうだなと思いました

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

https://speakerdeck.com/falcon8823/tui-sihuo-no-haitorahuitukunili-tixiang-kau-railstoakitekutiya-kaigi-on-rails-2024

  • イベント物販に特化したアプリの話ということで、在庫確保と決済のところでトランザクションで行ロックにならないように工夫している点など面白かったです
  • レートリミットのエラーになった場合はリクエストを受け付けないようにするという判断は今後の参考になりそうでした

入門「状態」

https://speakerdeck.com/shinkufencer/state-for-beginners-with-rails

  • 状態管理の実装で割とやってしまいがちなアンチパターンをどうすれば見やすくできるかというお話
  • 下記は肝に銘じて今後も実装していきます
    • 状態の変化を可能な限り指せない
      • 再代入させない
    • 状態の変化幅を限定させる
      • メソッドで限定させる
    • 状態をシンプルに少なく保つ

Sidekiq vs Solid Queue

https://speakerdeck.com/willnet/sidekiq-vs-solid-queue

  • バックグラウンドワーカーの歴史とRails8系から標準採用されるSolid Queueについてのお話
  • 規模が小さめのサービスならSolid Queueを検討するのもあり?
  • 規模がある程度大きいサービスだと現状はSidekiqを選んでおけばまず問題なさそう

Tuning GraphQL on Rails

https://speakerdeck.com/pyama86/tuning-graphql-on-rails

  • N + 1をどうのように解決するかの話
    • GraphQLでどう解決したか
  • パフォーマンス問題の探し方
    • APM使うのが良い
    • gemだとGraphQLだと上手く動かない場合あり
  • パフォーマンスは日々下がっていくので日々対応が必要
    • 新しい機能が追加され、クエリが増えていく

サイロ化した金融システムを、perkwerkを利用して無事故でリファクタリングした話

https://speakerdeck.com/coincheck_recruit/sairohua-sitajin-rong-sisutemuwo-packwerk-woli-yong-sitewu-shi-gu-derihuakutaringusitahua

  • 弊社も絶賛perkwerkを利用してモジュラーモノリス化を進めているので参考になりそうでした!

Kaigi on Rails 2024に参加してみて

今年の5月にRuby kaigi 2024にも参加させていただいた際には、自分の知らないRubyの内部のことやメタプロ的な部分をたくさん知れて面白かったのですが、一方で今回のKaigi on Rails 2024では実際の業務の中の課題をどう技術を使って解決してきたのかというところに焦点が置かれていたので自分自身でも業務の中の課題と重なる部分が共感あったりと、今度の業務に活かせそうだなと思うものがいくつもありとても面白かったです!
また来年も是非参加したいと思いました!

https://note.com/yama2_0506/n/n68698ed7b29c

ツクリンク主催のイベント開催予定のお知らせ!!

現在11月下旬以降にKaigi on Rails After LT会を企画開催予定で日程調整しております!
詳細につきましては日程決まり次第追って記載いたしますのでお楽しみに!

そして最後に、ツクリンクではエンジニアを積極的に採用しております。カジュアル面談も随時行なっておりますので、少しでも興味を持っていただければDMやXでも声を掛けていただけると幸いです。

Discussion