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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Koji Mikami
August 02, 2018
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rails歴==エンジニア歴の私の学び方 #omotesandorb #37 LT
#omotesandorb #37 のLT資料です。Railsを書いて3年経ったので自分の学び方を振り返りました。Railsだけでなく何にでも応用できる考え方です。
Koji Mikami
August 02, 2018
More Decks by Koji Mikami
See All by Koji Mikami
はじめてのユーザーインタビューでのしくじり、良かった話 #sdevtalks #3
mikaji
3
1.2k
「同じ開発はしない」 若手エンジニア
[email protected]
mikaji
0
150
「Railsを学び、現場に入るまで」 Rails Developers Meetup 2017 LT
mikaji
2
2.7k
Other Decks in Programming
See All in Programming
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
490
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
170
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.3k
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
400
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
180
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
110
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
源内ハンズオン概要編
hideg
0
170
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
Featured
See All Featured
Making Projects Easy
brettharned
120
6.7k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
25k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Done Done
chrislema
186
16k
Design in an AI World
tapps
1
280
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
370
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
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ʹͭͳ͕Γ·͢)
·ͱΊ • ॳΊͱʹ͔͘ॻ͖·͠ΐ͏ • ଞਓΛר͖ࠐΈ·͠ΐ͏ʢϝϯλʔɺษڧձͰ ൃදʣ • ৗʹมԽʹରԠ͍͖ͯ͠·͠ΐ͏