Rails Developers Beer Bash 〜Railsのトレンドとこれから〜に行ってきました

概要

今回参加したイベントはこちらになります

techplay.jp

最近、Railsの勉強会に参加できてなかったので、最新情報とかいろいろとキャッチアップできればな〜と思い参加しました

参加したセッション

  1. 2週間で Rails 5.1 > Rails 6 タイムアタックチャレンジ
  2. Multi DBを実戦投入するときの落とし穴
  3. Railsパネルディスカッション

1. 2週間で Rails 5.1 > Rails 6 タイムアタックチャレンジ

speakerdeck.com

参加にあたって、特に気になっていたところ

  1. アップデートに関して気を付けることは何か?
  2. ボトルネックになりそうなことは何か?

1. アップデートに関して気を付けることは何か?

  • DEPRECATION WARNING はできるだけ消す
  • backportして
    • 先にリリースで安心感を得られる
  • 主要機能は、手動で動作確認
    • 決済機能など

2. ボトルネックになりそうなことは何か?

  • リリースノートは読んでおき、脳内インデックスを作っておくとスピードが増す
    • WARNING を消す際に必要な作業

感想

Railsアップグレードする場合は、

  • なるべく小さくリリースしていくのが大事
  • 主要機能はやはり手動で動作確認するの大事

なんだと思いました


2. Multi DBを実戦投入するときの落とし穴

www.slideshare.net

参加にあたって、特に気になっていたところ

  1. 投入する上でのハマりどころ

1. 投入する上でのハマりどころ

  • primary にトランザクション貼っているかreplica に貼っているかを意識する必要がある
  • 便利なmiddlewareのハマりどころ
    • HTTPメソッドにもとづいて read/writeを自動で決定するのが、不適切な場合がある
      • middlewareは使わず、 around_action で行う
  • 6.0.0 のdelay機能は曲者
    • 書き込みDBにアクセスしたあとGET/HEADも書き込み用DBにつなぐ
      • 書き込み用DBにつないでいる状態で、書き込み系クエリを投げるとエラーが発生する

感想

MultiDBは結構ハマりどころが多そうだったので、非常に学びがあった


3. Railsパネルディスカッション

参加にあたって、特に気になっていたところ

  1. Rails 6でうれしい機能は?
  2. Railsでマイクロサービスはどうやってやるのか?
  3. Railsと技術的負債の付き合い方は?

1. Rails 6でうれしい機能は?

2. Railsでマイクロサービスはどうやってやるのか?

  • Railから大きくハズレない
    • Railに乗っているところが巨大化するものは問題ない
  • 認証周りなど境界づけられたコンテキストごとにマイクロサービスして巨大化したコードベースを分割する

3. Railsと技術的負債の付き合い方は?

  • 依存ライブラリがRails 6に対応していないとアップグレードするのが、だいぶつらい
    • テストカバレッジが高いことがアップグレードを助けてくれる
  • バグを減らす日を設けて、継続的に負債を返却している
  • Dependabot で継続的にGemのバージョンアップをしている
  • モデルのレイヤをモデル層とデータ層に分割している

感想

各社の工夫の部分だったり、Railsで大きいサービスを作る場合の設計の指針はどうすればいいのか?など非常に学びがありました


LTのスライド

今日一日の感想

上記セッション以外にも懇親会 & LT大会 もあったのですが、翌日に作業があったため、途中で退室しました 💨
久しぶりのRailsの勉強会だったので、非常に楽しめました!
また機会があれば、参加したいです 💪

f:id:sktktk1230:20190926202810j:plain