ナガモト の blog

Full Cycle Developerを目指すエンジニアが有用そうな技術記事や、ポエムのようなよしなしごとを投稿するブログです。

「表参道.rb #38 〜Railsアンチパターン〜」 レポート

表参道.rb #38 〜Railsアンチパターン〜 - connpass

こちらのイベントに参加してきたので、レポート書きます
※遅刻参加だったのと自分でLTしたのでメモとか少なめです

イベントの雰囲気・参加者

穏やかな雰囲気で非常にいい
LTの前に軽い自己紹介などして場づくりをしていたらしいです
素晴らしい取り組みですね
(遅刻参加だったのでよくわからないですが)

参加者はruby, Rails界隈で超有名人が複数人と
新米エンジニアを卒業したくらいの人と熟練者とどちらもいた気がします

会場提供の株式会社ビジネスバンクグループ様ありがとうございます

LT

質疑や口頭など気になったところをメモとして追記しています
※発言者≠発表者

xxx

途中参加&メモ不足です
クエリビルダークラスを作ったみたいなお話をしていました
発表者の方にはぜひ資料あげていただきたいです!

Form Object へ捧げる気持ち

speakerdeck.com

メモ

  • 複数の責務を持たせられがち
  • ARから離れたのに複数の責務持ったclass作らなくてよくない?
  • 小クラス主義

before action setter いる?

speakerdeck.com

メモ

  • 関心がわかりにくい
  • before actionを書かせない方法としてカスタムrubocopで弾く
  • rubocopはなぜNGかの理由が伝わりづらいので、wikiなども併用する

default scope

関連: 表参道.rb #38 - koicの日記

メモ

  • default scopeと削除フラグはズッ友
  • メリットはないこともない
  • DBの特性に対応させるために用いたもので、本当にdefaultである良い例はあった

レールに乗った開発 (※うろ覚えです)

待ってます!

メモ

  • 「LT枠しか空いてなかったからLT枠で参加」
  • Railsが難しいのではなく、WEBアプリが難しい
  • Railsを開発している特定会社の知見が汎用化されたものがRails
  • 特定会社以外で動くのは運
  • GitHub - rails/rails: Ruby on Rails見よう
  • version up対策として、動向チェックしよう。公式が難しいならサマリもいいよ*1*2
  • version upを見越して、メモ書き・拡張して先回り実装・cherry-pick

ActiveRecord scopeアンチパターン

わたしです
^o^

speakerdeck.com ※発表資料ブラッシュアップしました

メモ

  • Arelはアレルって読む
  • DBパフォーマンス改善はARでない箇所で別のアプローチを検討したほうがいい
  • scope命名難しいけど、一意性のある名前を頑張って考えよう

ActiveRecordで複雑なクエリを書くのは間違っているのか

www.slideshare.net *3

メモ

  • 4MBのSQLを投げたら、デフォルトだとエラーになる
  • SQLを丁寧に考えた
  • find_by_sqlはRelationが返らないのでNG, scopeは実現がきつい、Arelも推奨されてはいない
  • Arelで書いてみた・・・やっぱ読むの難しい
  • whereに配列を入れるのはINで展開されるから要注意

所感

  • OneTabというエクステンション教えてもらったのありがたかったです
  • 話盛り上がったけど、名前聞いてなかったせいでフォローとかできないのは失敗

*1:techracho.bpsinc.jp

*2:https://www.pixiv.net/fanbox/creator/7127248

*3:9/10 資料を公開いただいたので、追記・編集しました