Railsのコードを読んでみる vol.1
by
Sho Nagata
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Railsのコードリーディング vol.1 2019.7.31 (Wed) Ebisu.rb#24 twitter: @s_naga03
Slide 2
Slide 2 text
Who am I? • Sho Nagata • Backend Engineer@カカクコム • 食べログのマイクロサービス化を推進中 • Ruby / Rails(歴は10ヶ月) ˏs_naga03 Sho Nagata nagata03
Slide 3
Slide 3 text
Railsのコード読んだことありますか?
Slide 4
Slide 4 text
今回チャレンジしたのは…
Slide 5
Slide 5 text
ActiveRecordの「バリデーション機能」
Slide 6
Slide 6 text
実はまだ読みきれていない…
Slide 7
Slide 7 text
今日は、Railsのコードを読んでみてわかったことや発見したことを お伝えします
Slide 8
Slide 8 text
Validation • オブジェクトをDBに保存する前にオブジェクトの状態を検証
Slide 9
Slide 9 text
Validation • 検証内容の定義例
Slide 10
Slide 10 text
Validation • 検証のトリガ • create, create!, save, save!, update, update! • valid?, invalid?(DBに保存せず検証だけしたい時) → valid?メソッドから追ってみる
Slide 11
Slide 11 text
active_record/varidations.rb active_model/varidations.rb
Slide 12
Slide 12 text
active_model/varidations.rb active_support/callbacks.rb ʁ To Be Continued…
Slide 13
Slide 13 text
今回、Railsのコードリーディングを通してわかったことや発見したこと
Slide 14
Slide 14 text
その1:黒魔術は避けられない
Slide 15
Slide 15 text
その2:superよく使われる
Slide 16
Slide 16 text
その3:GitHubのコードジャンプ便利
Slide 17
Slide 17 text
その4:Methodクラスのメソッド便利
Slide 18
Slide 18 text
Method#source_location
Slide 19
Slide 19 text
Method#super_method
Slide 20
Slide 20 text
その5:初級レベルの人間が1人で読み解くのはキツい
Slide 21
Slide 21 text
まとめ • Railsのコードリーディング、ナメてかかると痛い目にあった • 業務で見るコードとは一味違うので、面白くもあり苦しくもある • コードを読み解く力は確実につく
Slide 22
Slide 22 text
今後 • バリデーション機能の実装を読み解く! • 仲間を集めて一緒に挑みたい • OSSにコミットしたい
Slide 23
Slide 23 text
Thank you!!