Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Carving the Way to Ruby Engineering
Search
Koichi ITO
December 05, 2024
Education
1.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Carving the Way to Ruby Engineering
RubyWorld Conference 2024 (
https://2024.rubyworld-conf.org/ja/
)
Koichi ITO
December 05, 2024
More Decks by Koichi ITO
See All by Koichi ITO
The Rails Doctrine Decade
koic
2
510
Reframing the Agile Manifesto
koic
5
4.7k
The NotImplementedError Problem in Ruby
koic
1
2.1k
Exploring RuboCop with MCP
koic
0
7.9k
Ruby and LLM Ecosystem 2nd
koic
1
2.3k
STYLE
koic
1
2.2k
Ruby and LLM Ecosystem
koic
3
14k
Write Code Every Day
koic
1
2.8k
Bliki (ja), and the Cathedral, and the Bazaar
koic
7
3.3k
Other Decks in Education
See All in Education
AIがコードを書く時代に、何を教えるのか / What Should We Teach in the Age of AI-Generated Code?
ichiroc
1
590
Introduction to Primary and Secondary Metabolites their Metabolic Pathways
drpoonamkc
0
150
エビデンスベースト英語教育入門:エビデンスは科学的知見(だけ)ではない,制度だ!
terasawat
0
220
中小規模私大の教学IRを支えるデータマネジメント ― データ基盤構築の取り組みと実務の現在地 ―
terazawa
0
210
検定資格の価値 ~実はすごいよQC検定~
bunnchinn3
0
250
Plano urbano de Madrid desde el Ensanche al s. XXI (2ª parte).
juanmartin2026
1
100k
Merger Process
bvr7352
0
160
AIでアウトプットできる時代だからこそ、自分の言葉で考えることの大切さ / What's Left to Think, When AI Can Write?
masakiokuda
1
350
Carbohydrates: Classification, Structure & Chemical Properties
pawan_pharm
0
320
Draft Lesson Plan on the History of Information and Communication (included Submarine Cables)
shuichikishida
0
140
1人 × AI、1か月でここまで作れる ー 数年前の外注換算3.8〜7.4億円・241〜379人月分の作業を、AI費用 約10万円・31日で
frievea
0
560
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
19k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Paper Plane
katiecoart
PRO
4
54k
Un-Boring Meetings
codingconduct
0
440
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Done Done
chrislema
187
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Speed Design
sergeychernyshev
33
2.1k
Transcript
3VCZϓϩάϥϛϯάεΫʔϧ ͔Βͷ࠾༻ͱҭ Carving the Way to Ruby Engineering ҏ౻ߒҰ&4. *OD
3VCZ8PSME$POGFSFODF ౡࠜݝཱ࢈ۀަྲྀձؗʮ͘ʹͼ͖ϝοηʯ
@koic w044ϓϩάϥϚʔ w3VCP$PQίΞνʔϜίϛολʔ wגࣜձࣾӬγεςϜϚωδϝϯτ &4. *OD ΤϯδχΞϦϯάϚωʔδϟʔ σΟεςΟϯάΠογϡυɾΤϯδχΞ
None
࠾༻ͱಇ͖ํͷଟ༷Խ wਓੜͷঢ়گʹ͋Θͤͨ ϥΠϑελΠϧΛଚॏ͢Δ wؔ౦ݍɺҪɺ࣎լɺ Վࢁɺౡࠜɺٶ࡚͔Βͷ ϦϞʔτϫʔΫ 🗾
w த్ *5اۀ͔Β w த్ εΫʔϧܦ༝ w ৽ଔ
w ͕εΫʔϧग़ऀ w εΫʔϧ͔Βݩܯɺ्ҩɺڭࢣͳͲଟ༷ ࢲͨͪͷ৫ͷೖࣾܦ࿏
ࠓͷ
☝ 3VCZ͕ଟ༷ͳݱ࣮ੈքͷద߹ͱਁಁ͍ͯͨ͘͠Ίͷ׆ಈঢ়گΛ͖࣋ͬͯ·ͨ͠ IUUQTSVCZXPSMEDPOGPSHKBBCPVU
εΫʔϧ͔Βͷ࠾༻ͱҭϞσϧ 5SBJOJOH (SBEVBUJOH "QQSFOUJDJOH $BUBMZ[JOH 1SF&OHJOFFS 5SBOTJUJPOBM $IBOHF PS/PU (3085)
1SBHNBUJD4LJMMT (3085) 3VCZ'VOEBNFOUBMT (FUUJOH4UBSUFE School-to-Work Model *OTQJSFECZIUUQTXXXNBSUJOGPXMFSDPNBSUJDMFTBHJMF'MVFODZIUNM
ಛఆͷεΫʔϧʹدΒͳ͍ʁ 3VCZCJ[(SBOEQSJYΫϦΤΠςΟϒͷड͓ΊͰͱ͏͍͟͝·͢ʂ
ϑϥΫλϧίϛϡχςΟ ࠾༻ͱ͍͏໊ͷ௨աӺ ҭڥͮ͘Γ ࣍
ϑϥΫλϧίϛϡχςΟ
w 3VCZJTUʹҰछͷຽతͳՁ؍श׳͕ ͋ΔԾઆ w ϓϩάϥϛϯάݴޠΛֶͿ͚ͩͰͳ͘ɺ ϓϩάϥϛϯάݴޠΛͬͯΔίϛϡχςΟ Ͱͷઃܭͷྑ͠ѱ͠ͷՁ؍ৼΔ͍ํ Λ͍ͬͯ͘ ݴޠίϛϡχςΟΛΔ
w զʑ3VCZJTUɺ3VCZͱ͍͏ݴޠͱ3BJMTͱ ͍͏%4-Λࠃޠͱͨ͠ରΛߦ͏ w 3VCZ3BJMTΒ͍͠ ͘͠Β͘͠ͳ͍ ίʔυͷڞ௨ೝ͕ࣝͲ͏3VCZJTUʹ͋Δ w ʮݴޠࢥߟΛنఆ͢ΔʯαϐΞʹΥʔϑ
ͷԾઆɺ͋Δ͍ʮόϕϧʯ ࠃޠͷډ৺ͷྑ͞
7MBEJNJS%FNFOUZFWTBZT 0QFOJOH,FZOPUFPG,BJHJPO3BJMT
w ίʔυϦʔσΟϯά࡞ऀ͕͍͑ͨ͜ͱΛ ίʔυ͔ΒಡΈऔͬͯߟ͑Δ࡞ۀ w ݹయจֶ๏ͷઐՈͷΑ͏ʹɺ3VCZJTU 3VCZͱ3BJMTͷղऍΛॏͶ͍ͯ͘ w ॳ͔Βͳ͔ͬͨ3VCZ3BJMTઐՈಉ࢜ͷ ͕ٞঃʑʹΘ͔ΔΑ͏ʹͳͬͯ͘Δ ࡞ऀͷؾ࣋ͪΛߟ͑
ଓ͚ Α
εΫʔϧͱ͍͏ίϛϡχςΟͷೖΓޱ 3BJMTʹͨΒ͞Εͨ ʮઃఆΑΓنʯ ɺεΫʔϧं͔྆ Βاۀं྆ؒͷ ंํ๏ͷલఏͷ෯ Λ͍͛ͯΔʁ IUUQTKQRVPSBDPN3VCZʹͱܾͬͯఆతʹΓͳ͍ͷԿͩͱࢥ͍·͔͢
εΫʔϧ اۀʹଓ͘
w ԿेਓنͰ࠾༻Ͱ͖ΔେاۀͰͳ͍Զͨͪ w ϓϩάϥϛϯάະܦݧऀΛूஂڭࣨࢦಋ͢Δ ઐՈͰͳ͘ɺεΫʔϧͱ͍͏ઐۀऀ w 3VCZεΫʔϧʹ͓͚Δ3VCZίϛϡχςΟͷ ܗɺΦʔϓϯͳ3VCZίϛϡχςΟͱܨ ͕ΓͰ͋Γɺಉ͡ࢹͷؒͷू·Γॏཁ ࠾༻ͱ͍͏௨աӺ·Ͱͷҭ
w 3VCZΛओྗʹ࠾༻͍ͯ͠Δاۀɺ3VCZͬ Ά͍ਓͨͪͰߏ͞Εͯ͘Δʁ w ҰํͰɺ৫ʹΑͬͯՁ؍େʹ͍ͯ͠ Δͷʹର͢ΔΧϥʔ͕͋Δ w ৫ಛੑͷϚονϯάͰߟ͑ͯΈΔ ͓ޓ͍ʹͲΜͳਓ ͨͪ
ͱࣄΛ͍ͨ͠ʁ ద ߹ ੑ ॏ ཁ
ͲΜͳਓ͕ͨͪ จԽΛ࡞ͬͯ ͍Δ৫ʹ ࢀՃ͍ͨ͠ʁ ࠾༻ଆจԽΛൃ৴ͯ͠ɺԠืଆࣗʹ͍͋ͦ͏ͳจԽΛ୳ͤΔͱྑ͍ͷ͔ͳ
w 3VCZJT"HJMFCZ.BU[ w ֯୩͞Μ͕ฐࣾӡӦΠϕϯτͰاըͨ͠ओ 3VCZJTUΛड͚ೖΕΔاۀจԽΛৢ͢ IUUQTPCKFDUDMVCKQFWFOUDISJTUNBTTDIFEVMF
None
৫จԽ ίϛϡχςΟ ͱͷϚονϯάͷߟ ब৬Ԡืऀͱ࠾༻اۀͷϚονϯάͰɺ৫ΛίϛϡχςΟͱͯ͠ଊ͑ͯΈΔ
ͲΜͳਓͨͪͱಇ͖͍ͨʁ ͋Δ͍ ͲΜͳਓΛड͚ೖΕ͍ͨʁ
w ৴པͰ͖Δਓ͔Βͷڑ w ৴པͰ͖Δਓ͕৴པͰ͖Δͱݴ͍ͬͯΔਓ w ϦϑΝϨϯενΣοΫͻͱͭͷखஈͳ͕Β ৴པͰ͖Δے͔Βͷใ͕Ұ൪ͷ৴པݩ ࠾༻Λതଧʹ͠ͳ͍EFHSFFO ͭ·ΓίϛϡχςΟͰͷϨϐϡςʔγϣϯͱͯॏཁ
w ɹʮொా͍ʯͱ͍͏ίϛϡχςΟదੑஅ w اۀͱੜెͦΕͧΕΛ͍ͬͯΔͷͰɺ૬ੑ Λߟ͑Δ͜ͱ͕Ͱ͖Δ w εΫʔϧίϛϡχςΟͰɺਓͱاۀͷίϛϡ χςΟจԽΛΔ࿉͕͞Ε͍ͯΔͷͰʁ ίϛϡχςΟ͔ΒίϛϡχςΟ 3VCZίϛϡχςΟʮ࣍ͷִͨΓʯͳΒ͵.BU[ͱࡾ࣍ͷִͨΓͰܨ͕Γͦ͏
IUUQBHJMFFTNDPKQEPDTCVTJOFTT@QMBO@FTN@BHJMF@EJW@UIQEG ੜଶܥʹͱͬͯεΫʔϧίϛϡχςΟͷॏཁੑ্ 3VCZίϛϡχςΟʮ࣍ͷִͨΓʯͳΒ͵.BU[ͱࡾ࣍ͷִͨΓͰܨ͕Γͦ͏ ͱͳΔ 3VCZίϛϡχςΟ
࠾༻ͱ͍͏໊ͷ௨աӺ
w ࠾༻ޙϦϞʔτϫʔΫͷͨΊɺ࠾༻໘ ϦϞʔτͷίϛϡχέʔγϣϯͰߦ͍ͬͯΔ w ͦͷ໘ͷͷઌͷɺݱϝϯόʔͱͷࣄ Λݟӽͨ͠ࢹͰߦ͍ͬͯΔ ࠾༻ٕज़໘
w γϣʔτΞϯαʔͱͯͦ͠͏Ͱͳ͍ w ͪΖΜΛղ͚Δʹӽͨ͜͠ͱͳ͍ ͕ɺΛ௨ͯ͠ίϛϡχέʔγϣϯ໘ͷ ؍Λॏࢹ͍ͯ͠Δ w ٕज़తͳ෦ॏཁ͕ͩɺ͍·͍Δಉ྅ͨͪ ͱ͍͚ͬͯͦ͏͔͕ͬͱॏཁ ͕ղ͚ͳ͚Ε/(
🧐
ٕज़໘Ͱ $PQJMPU0,
w γϣʔτΞϯαʔͱͯ͠ͳ͍ w ͳͥͳΒίʔυิ͢Δͷ/(Ͱͳ͍ͷ ͱಉ͡Ͱɺ༏लͳίʔυิͱࢥ͑ྑ͍ w Ή͠Ζ৽͍࣌͠ͷΤϯδχΞͷൃྗͰ"* ΛͲ͜·Ͱ׆༻Ͱ͖Δ͔ڵຯ͕͋Δ ৽͍࣌͠ͷߟ͑ํʹ͋ΘͤΔ ·ͣࣗͷதʹߟ͑Λݟ͚ͭΔ͕࢟͋Δ͔ɻ"*ͦ͜ͷরձͱݟ͍ͯΔɻ
w ࣗ͋Δ͍"*Ͱॻ͍͍ͯΔίʔυʹର͠ ͯɺΤϥʔ͕ى͖ͨ࣌ͷσόοά w ϝιουมͷΑΓྑ໊͍લ͚ w ͔Βͳ͍͜ͱΛݴޠԽͯ͑͠ΒΕΔٕज़ w ʹର͢Δཁ݅ͷ࿙Εͷࢦఠ େࣄͳͷ"*͔Βઌͷ͜ͱ
ࣗΒͷٕज़ʹؔ৺Λ࣋ͭ͜ͱ ͋ͳͨͷࣄʹ͍ͭͯߟ͑Δ͜ͱʂ ܅ֶͿ͜ͱ͕৺͔Β͖ͩ ܅ιϑτΣΞͷ͜ͱΛେʹࢥ͍ͬͯΔ ΞδϟΠϧαϜϥΠ +POBUIBO3BTNVTTPO ୡਓϓϩάϥϚʔ %BWJE5IPNBT "OESFX)VOU ιϑτΣΞ։ൃ͖Ͱ͔͢ʁ
ҭڥͮ͘Γ
KPLFSUBHPNPSJTϨϕϧͷ ੌΛ࠾༻͢Δͷ͍͕͠ɺ࣍Λ ୲͏ੌʹ͍͚ͯ͠ΔڥΛ͑Δ ྗͰ͖Δͣ
εΩϧʹ͚͍͚ͭͯྑ͍ ֶΜͰ͍࢟͘ਓؒੑ͕େࣄ ͍·͋ΔεΩϧΑΓ࢟ !DPMPSCPYTBZT
w ͻͱΓͻͱΓʹ͔͍߹ͬͨใ͕େࣄ w ຊਓͷݴ༿Λಘ͍ͯͳ͍૾߹ͷྑ͍ ظ͕ڧ͘ɺͦΕԟʑʹͯ͠ϋζϨ͏Δ ϨϕϧΞοϓ͢ΔͷΤϯδχΞຊਓ
w ΤϯδχΞجૅٕज़शಘࢧԉ w ϝϯλʔ੍ w ࣾಡॻձɺษڧձɺݚڀ෦ w ϦϞʔτϫʔΫ։ൃඋิॿ w ใจԽ
ࣄۀͰߦ͑Δͷڥͮ͘Γ ͜ΕΒࢪࡦͷ͏ͪελʔλʔΩοτͬΆ͍ͷͰ͢
w ೖ͖ࣾͯͨ͠ϝϯόʔͷഎܠ·ͪ·ͪ w ৬ۀ͕ҧ͏͕લ৬Ͱ-JOVYͷݚम͕͋Δͳ ͲɺεΫʔϧҎલ͔ΒͷೃછΈͷ༗ແ w ใPOͳͲ͔Βۀߦʹෆͯ͠ ͍ΔͱࢥΘΕΔࣝεϙοτΛߟ͍͑ͯ͘ ΤϯδχΞجૅٕज़शಘࢧԉ વɺ͍ͬͯΔ͜ͱͱͰ͖Δ͜ͱҟͳΔ͕ɺΒͳ͍ࣝͰղܾͰ͖Δ
w ࢿ֨ࢼݧࣝͷମܥతशಘʹΑ͘Ͱ͖͍ͯΔ 3VCZೝఆٕज़ऀ ใٕज़ऀࢼݧ -JOV$ͳͲ w ࢿ֨औಘతͰͳ͘ɺۀߦʹඞཁͳ ࣝΛମܥతʹ֫ಘ͢Δͷ͕త w
ࢿ֨औಘ෭࡞༻͕ͩɺࢿ֨ࢼݧʹ߹࣮֨͠ ղআ͢Εخ͍͠ͷ͕ਓ ඪਓؒͷϞνϕʔγϣϯʹͳΔ
w ݱͷ֎͔ΒͩͱநతͳҰൠղͷఏҊ ҰൠղͷҬΛ͑ͮΒ͍ʁ w ॏཁͳͷ࣮։ൃݱʹ͓͚ΔίϯςΩετ ͰਓͷΛѲͰ͖ΔཱͪҐஔͷਓɻ ͦͷͨΊʹɺݱͷਓ͕ݟΔͷ͕ͬͱ ͕֬ߴ͍ ϝϯλʔಛघղͷѲ͕ॏཁ
ࢢπϦʔͰͳ͍ IUUQTXXXBNB[PODPKQEQ9
πϦʔߏ ηϛϥςΟεߏ ϝϯςΟʔʹԠͯ͡ɺଟ໘తʹݟΕΔΑ͏POମ੍ΛಈతʹऔΕΔΏͱΓॏཁ ϨϙʔτϥΠϯͷPOͷΈͩͱ ϥΠϯͷใ͕શͯʹͳͬͯ͠·͏ ඞཁͳϖΞͰͷPOͷػձΛ૿͠ ͲͷΑ͏ͳαϙʔτ͕Ͱ͖Δ͔ݕ౼Մ ҭPOϞσϧπϦʔͰͳ͍
w ަྲྀͷೱ୶Ͱ͍͏ͱɺಉ͡ϓϩδΣΫτͷϝ ϯόʔͱͷަྲྀ͕ѹతʹೱ͘ͳΓ͕ͪ ͦΕͦ͏ w ϓϩδΣΫτΛԣஅͨ͠ަྲྀػձ͋Δఔ ҙਤతʹ࡞Βͳ͍ͱɺಛʹ৽نࢀըͷ ϝϯόʔΛ࡞ΔϙΠϯτΛಘͮΒ͍
ࣾಡॻձɺษڧձɺݚڀ෦
None
w ͬͯΈ͍ͨࣄ༰ٕज़ͷࢦੑͳͲΛ ฉ͍ͯͲΜͳํʹϨϕϧΞοϓ͍͖ͯͨ͠ ͍͔Λ۷Γग़͍ͯ͘͠ w ͍·ͷϓϩδΣΫτΛΑΓྑ͘͢ΔΞϓϩʔ νɺϚον͢ΔผϓϩδΣΫτͷҾӽ͠ ͳͲɺθωϥϧϚωʔδϟʔͱϓϩδΣΫτ ϚοϓͰݕ౼͢Δ 8JUIPVU1SBDUJDF
/P&NFSHFODF मͤ͟ΕݱΘΕͣ
ใ ใൺֱతܗ͔Β࢝ΊΒΕΔ ;Γ͔͑Γ ேձɾ༦ձ $* ϦϑΝΫλϦϯά ϖΞϓϩάϥϛϯά Ϟϒϓϩάϥϛϯά ΠϯΫϦϝϯλϧͳઃܭ ϓϥϯχϯά
5%% ఆ࣌Πϕϯτͱͯ࢝͠ΊΒΕΔ PO ใʹ͍ͭͯৄ͘͠࡞ʰϕςϥϯͦ͜ใΛॻ͜͏ʱΛ͝ࢀর͍ͩ͘͞ ใ ٕೳͷशಘʹ͕࣌ؒඞཁ
ୈষ l࣌Λ͑ͨ ϓϩάϥϛϯάͷಓz IUUQXXXBNB[PODPKQEQ
l πʔϧٕ๏ԿมԽ͢Δ͕ɺ େ͖͘มԽ͢ΔΘ͚Ͱͳ͍ɻҰํɺ ਓΏͬ͘Γͱ͕ͩɺਂ͘มԽ͢Δɻ ,FOU#FDL
%BWF5IPNBTTBZT IUUQTXXXZPVUVCFDPNXBUDI W&$'(C+9Z* w 3VCZ,BJHJͰ ʮ৽͍͠ਓͨͪΛܴ ͑ೖΕΔࢧΛ͠Α ͏ʯͱএ͑Δ w ݱͦͷޙ
w ࢧͷ͋ͱ
l ϓϩάϥϛϯάεΫʔϧͰͷίϛϡχςΟब৬ઌͷ৫ίϛϡχςΟʹݴ͑ͦ͏ &4. *OD$&0ฏು݈ࣇ ͻͱΓͻͱΓͷਓͱͯ͠ͷؔ ϓϩδΣΫτظؒΑΓ͘ଓ͘