「表参道.rb #38 〜Railsアンチパターン〜」 レポート
表参道.rb #38 〜Railsアンチパターン〜 - connpass
こちらのイベントに参加してきたので、レポート書きます
※遅刻参加だったのと自分でLTしたのでメモとか少なめです
イベントの雰囲気・参加者
穏やかな雰囲気で非常にいい
LTの前に軽い自己紹介などして場づくりをしていたらしいです
素晴らしい取り組みですね
(遅刻参加だったのでよくわからないですが)
参加者はruby, Rails界隈で超有名人が複数人と
新米エンジニアを卒業したくらいの人と熟練者とどちらもいた気がします
会場提供の株式会社ビジネスバンクグループ様ありがとうございます
LT
質疑や口頭など気になったところをメモとして追記しています
※発言者≠発表者
xxx
途中参加&メモ不足です
クエリビルダークラスを作ったみたいなお話をしていました
発表者の方にはぜひ資料あげていただきたいです!
Form Object へ捧げる気持ち
メモ
- 複数の責務を持たせられがち
- ARから離れたのに複数の責務持ったclass作らなくてよくない?
- 小クラス主義
before action setter いる?
メモ
- 関心がわかりにくい
- before actionを書かせない方法としてカスタムrubocopで弾く
- rubocopはなぜNGかの理由が伝わりづらいので、wikiなども併用する
default scope
「表参道.rb #38 〜Railsアンチパターン〜」の発表資料 (1枚絵) です。 #omotesandorb pic.twitter.com/sw4mh8KInX
— Koichi ITO (@koic) 2018年9月6日
メモ
- default scopeと削除フラグはズッ友
- メリットはないこともない
- DBの特性に対応させるために用いたもので、本当にdefaultである良い例はあった
レールに乗った開発 (※うろ覚えです)
待ってます!PCが不調だったので、後でブログで簡単にまとめる(たぶん #omotesandorb
— 神速 (@sinsoku_listy) 2018年9月6日
メモ
- 「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で展開されるから要注意
所感
初LT楽しかった
— ナガモト@Glideエンジニア (@ngmt83) 2018年9月6日
LTすると話しかけてもらえるから、LTは人見知りのソリューションになりうるという知見を得た
運営さんありがとうございましたm(_ _)m#omotesandorb
- OneTabというエクステンション教えてもらったのありがたかったです
- 話盛り上がったけど、名前聞いてなかったせいでフォローとかできないのは失敗
*2:https://www.pixiv.net/fanbox/creator/7127248
*3:9/10 資料を公開いただいたので、追記・編集しました