Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rails歴==エンジニア歴の私の学び方 #omotesandorb #37 LT
Search
mikaji
August 02, 2018
Programming
0
87
Rails歴==エンジニア歴の私の学び方 #omotesandorb #37 LT
#omotesandorb #37 のLT資料です。Railsを書いて3年経ったので自分の学び方を振り返りました。Railsだけでなく何にでも応用できる考え方です。
mikaji
August 02, 2018
Tweet
Share
More Decks by mikaji
See All by mikaji
はじめてのユーザーインタビューでのしくじり、良かった話 #sdevtalks #3
mikaji
3
1.1k
「同じ開発はしない」 若手エンジニア
[email protected]
mikaji
0
110
「Railsを学び、現場に入るまで」 Rails Developers Meetup 2017 LT
mikaji
2
2.6k
Other Decks in Programming
See All in Programming
TiDB Serverless ~理想のServerless DBを考える~
soso_15315
1
160
CSC307 Lecture 12
javiergs
PRO
0
220
Terraformテスト入門
msato
0
520
生成AIをkintoneに連携してみた
hideg
0
230
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
日付と正規化
megmogmog1965
0
140
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
How to use Macrobenchmark
veronikapj
0
160
リハビリmruby
kishima
1
160
Rust.Nagoya #1
codemountains
0
170
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
134
6.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Gamification - CAS2011
davidbonilla
78
4.9k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
BBQ
matthewcrist
82
9k
Speed Design
sergeychernyshev
9
270
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Automating Front-end Workflow
addyosmani
1362
200k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
The Mythical Team-Month
searls
217
43k
Transcript
Railsྺ==ΤϯδχΞྺ ͷࢲͷֶͼํ Thu, 02 Aug 2018 @mikaji #omotesandorb #37
ࣗݾհ • GitHub: @mikaji • Twitter: @mikaji_jp • ձࣾ: גࣜձࣾϦΫϧʔτϚʔέςΟϯάύʔτφʔζ
৽ଔ2 • Railsྺ: 3 (Rails3~5ܥ) • ॳ දࢀಓ.rb!!☺ • ࠷ۙYouTuberͬͯ·͢ https://www.youtube.com/c/mikaji
΅͘ͱ Ruby RailsͷؔΘΓΛ ͠·͢
͢͜ͱ • ະܦݧ͔ΒͲ͏ֶΜͰ͍͔ͬͨ • ࣮ମݧʹΑΔֶͼํͷྑ͔ͬͨɾѱ͔ͬͨ • ࠷ۙͷΩϟονΞοϓํ๏
ରऀ • WebΞϓϦΛॻ͍ͨ͜ͱ͕ͳ͍ਓ • RailsΞϓϦΛॻ͍ͨ͜ͱ͕ͳ͍ਓ • ݸਓͰܦݧ͋Δ͚ͲϓϩδΣΫτͰRailsΞϓ Ϧॻ͍ͯͳ͍ਓ
ֶੜ࣌ • ใֶΛઐ߈͍͕ͯͨ͠WebΞϓϦॻ͍ͨ͜ ͱͳ͍ • ݚڀࣨͰϚΠίϯ͍ͬͨ͡Γ౷ܭֶֶΜͩΓ • ॻ͍ͯͨݴޠ: C, C++,
Java, Scheme, Prolog, Haskell, etc… Rubyॻ͍ͨ͜ͱͳ͔ͬͨ
1. Θ͚͕Θ͔Βͳͯ͘ Rails TutorialΛ पճϓϨΠ͢Δ
Rails TutorialΛແ৺ͰΔ • MVCͷׂ͕Θ͔Βͳͯ͘Δ • ηογϣϯཧ͕Θ͔Βͳͯ͘Δ • ͱʹ͔͘ॻ͘͜ͱ͕େࣄ ΅͘3पͰ ྗਚ͖·ͨ͠
2. WebΛࢧ͑Δٕज़Λ ಡΉ
ಡΈ໊͍͢͠ஶ Ͱ͢
WebΛࢧ͑Δٕज़ͷྑ͍ͱ͜Ζ • HTTPͷΈ͕Θ͔Δ • Railsͱਂ͍ؔͷRESTͷ֓೦Λ͓͑͞ΒΕΔ • RailsͷϦιʔεઃܭͷΠϝʔδ͕͍ͭͯ͘Δ
3. RailsͬͯΔϓϩδΣ ΫτʹೖΔ
RailsͬͯΔϓϩδΣΫτʹೖΔ • MVCͷׂΛҙࣝ͢Δ • ActiveRecordʹ৮ΕΔ ϩάʹు͔ΕΔΫΤϦͷΈཱͯோΊΔͱ ߹ΘͤͯSQLຊ… • ଞਓͷίʔυͷॻ͖ํ͕Θ͔Δ ʢ͋ΔػೳΛ࡞Γ͍ͨͱ͖Ͳ͏࣮͍͔ͯ͘͠ʣ
4. ϝϯλʔΛݟ͚ͭΔ
ϝϯλʔ͕େͳཧ༝ • ࠓͷ͕ࣗཧղͰ͖͍ͯͳ͍ͱ͜Ζ͕Θ͔Δ ϨϏϡʔͰϘίϘίʹ͞ΕΔͷྑ͍ܦݧ • ઃܭʹ໎ͬͨͱ͖ٞͰ͖Δ • ϖΞϓϩͰ͖Δ ΅͘ͷܦݧ্ͬͱޮՌ͕͋Γ·ͨ͠
5. Railsͷ͖ͳͱ͜Ζ Λݟ͚ͭΔ
Railsͷ͖ͳͱ͜Ζ • ֤ϨΠϠͷׂ͖Ε͍ͳઃܭɺΠϯλϑΣʔεʹڵຯΛ࣋ͭΑ͏ʹ ͳͬͨ ⏩ͬͱΓ͍ͨʂ PofEAADDDͷཧղ͕૿͢ rails newͨ͠ͱ͖ʹੜ͞ΕΔͷҎ֎ͷύλʔϯΛΔ (FormObject, ServiceObject
…) ৄ͘͠#railsdmͰLTͨ͠ࢿྉΛ…ʂ • Ͳ͜Ͱྑ͍ͷͰ͖ͳ෦Λݟ͚ͭΔͱ͙ͬͱֶͼ͕ ਂ͘ͳΓ·͢
6. ࠷৽ͷRailsΛ͏
ใʹຖϙετ͞ΕΔ
࠷ۙͷΩϟονΞοϓํ๏ • ϠΪψϚ৽ฉΛಡΉ (#railsdmͰऔΓೖΕͨ) ຖslackʹྲྀͯ͠ࣄલͷ՝ʹ͍ͯ͠·͢ • RailsͷϦϙδτϦͷissue͑ΔͱϕλʔʢͰ͖ ͯͳ͍ʣ • ࠷ॳͬͯΔgemͷιʔείʔυோΊΔͰྑ͍
ͱࢥ͍·͢(OSSʹͭͳ͕Γ·͢)
·ͱΊ • ॳΊͱʹ͔͘ॻ͖·͠ΐ͏ • ଞਓΛר͖ࠐΈ·͠ΐ͏ʢϝϯλʔɺษڧձͰ ൃදʣ • ৗʹมԽʹରԠ͍͖ͯ͠·͠ΐ͏