Step-to-Rails-Expert.rb#19 に参加しました

Railsの勉強会、Step-to-Rails-Expert.rb#19 に参加してきました!

Step-to-Rails-Expert.rb って?

公式の説明をそのまま…

本勉強会はStep-to-Rails-Expert.rbというRails関連中級者向けの勉強会です。 コンセプトとしては、初心者を抜けたレベルの人が中級者・上級者になる上で、一歩進んだ技術やハマリどころなどを議論形式で共有し、場合によってはともに解決策を考えていけるような勉強会を目指しております。 なお、2017年9月よりExpert-TodoというTodoアプリを各々作って来て参加者同士でレビューし合う企画を実施しております。アプリを作ってきた人だけでなく、そうでない人もレビューの仕方や実装方法などの知見を貯められる企画となっていますので、ぜひご参加ください。

step-to-rails-expert-rb.connpass.com

中級者向けの勉強会!
なんとか初心者からステップアップしたく参加しました👀

感想

今回はTodoアプリのもくもく会でした☁️
環境を作って実装していくはずでしたが、brewの環境がおかしくなってるのかbundle installでコケて環境直してるだけで終わってしまいました…💧
自分の成果としてはほぼゼロでしたが、途中の雑談や懇親会で、できる人達の話を聞いてるだけで勉強になることがいっぱいありました。

トピックス

話していたことをリスト形式でざっと

  • データ変更したユーザーを保存しておく方法
    • created_by updated_byってカラムを持つのはいいかも
  • rails5.2から入ったCurrentAttributesヤバイ
  • e2eとか振る舞いさえできれば単体テストいらないんじゃ?
  • Custom Copはいいぞ
  • RuboCop の実装見るといい
  • current_user.posts.create したら異常系でコケる可能性がある
    • invalidなレコードが残ってしまう
  • 関数型言語勉強するといい
  • 破壊するメソッドよくない
    • pop shift使わないほうがいい
  • after_create はコミットの前なのでメール送信処理とか挟むとsidekiqでnot found になる可能性
    • after_commit にしたらupdateでも飛ぶので on: :create 付けるのをお忘れなく
    • そもそもフィルターで書かないほうが良い。コントローラのsave後に書いたほうが圧倒的楽
  • 「気に入らないコードはapproveしない。こんなコードにapproveした歴史を残したくない」
  • 「既存のコードだいたいだめなので」
  • ActiveRecord eachで回すならsize、回さないならcountがよい
  • bullet 誤検知ある?
  • select * のクエリ重いのなんとかしたい
  • 5.2から入ったbootsnap 起動が早くなるので良い
  • Railsのビュー探索が重い
  • SQLの実行待ちが遅いの
    • 並列実行できたら早くなる

最後に

できる人達の会話、2,3割くらいしか理解できていなかったと思いますがとても勉強になりました。 つまり、

_人人人人人人人人人人人人人人人人人人_
> Step-to-Rails-Expert.rb はいいぞ <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

ぜひ参加してください

step-to-rails-expert-rb.connpass.com