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
kawasaki rubykaigi slide
Search
rojiuratech
August 20, 2016
Programming
730
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
kawasaki rubykaigi slide
rojiuratech
August 20, 2016
More Decks by rojiuratech
See All by rojiuratech
rubykaigi-verup-20160828
rojiuratech
0
680
My Ruby Progress at kawasaki rubykaigi
rojiuratech
0
120
Other Decks in Programming
See All in Programming
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
250
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
130
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.6k
New "Type" system on PicoRuby
pocke
1
920
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
250
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
550
Oxcを導入して開発体験が向上した話
yug1224
4
310
ふつうのFeature Flag実践入門
irof
7
3.9k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
Claspは野良GASの夢をみるか
takter00
0
190
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The World Runs on Bad Software
bkeepers
PRO
72
12k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Done Done
chrislema
186
16k
Tell your own story through comics
letsgokoyo
1
950
A Tale of Four Properties
chriscoyier
163
24k
The Curious Case for Waylosing
cassininazir
1
390
WENDY [Excerpt]
tessaabrams
11
38k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Evolving SEO for Evolving Search Engines
ryanjones
0
220
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Transcript
͜ͷ1͘Β͍ͷRubyྗͷ৳ঢ়گ ʙΏ͕Έͳֶ͍ͷճؼʙ 4IJOJDIJ.*/04)*."
ࣗݾհ *5ɾ8FCܥͰͳ͍اۀͰ 8FCʢΛհͨ͠ʣαʔϏεͷ։ൃɾӡӦ ෦ॺ໊̐ɺ͏ͪΤϯδχΞ໊̍ʢࢲ͚ͩʂʣ ϑϧελοΫܕΤϯδχΞ ɾɾɾʹͳΒ͟ΔΛ͑ͳ͔ͬͨ
ࣄͰऔΓΜͰ͍Δ͜ͱ ೖͰ͖ΔϦιʔεগͳ͍͕ ͪʹେنɺଟػೳͳγεςϜ͕ඞཁͰͳ͍ ͲͪΒ͔ͱ͍͑ɺϏδωεϞσϧͷཱ͕֬ॏཁ w 8PSE1SFTTΧελϚΠζ w খنαΠτ։ൃ 1)1.Z42-+BWB4DSJQU
w 3VCZɾɾɾσʔλूܭͳͲ͕த৺
ൃද֓ཁ ̍ɿ͜ͷ̍͘Β͍ͷग़དྷࣄΛৼΓฦΔ ɹػձΛૂ͍ͭͭ3VCZʹೃછΜͰ͍͘ɻ ɹ2JJUBͷߘΛৼΓฦΔɻ ̎ɿΞτϓοτͷมԽʹ͢Δ 3VCZʹݶΒͣɺීวతͳϓϩάϥϛϯάֶʹ ɹճؼ͍ͯͬͨ͠ʁ
͜ͷ̍͘Β͍ͷग़དྷࣄ • ̏2ɹղੳɾஔʁʂͳΒ3VCZͩʂ • ̐2ɹϒʔτΩϟϯϓʹࢀՃɻεΩʔ߹॓Έ͍ͨͩɻ • ̍2ɹ͚ࣾΞϓϦέʔγϣϯͷ࡞ • ̎2ɹମܥతͳࣝͷඞཁੑΛ࠶ೝࣝɹ •
̏2ɹ1)1Ͱ3BJMTͬΆ͘ͳΔɹ
2JJUBɺϒϩάͷಈͱରൺ • ̏2ɹղੳɾஔʁʂͳΒ3VCZͩʂ ɹɹɹɹɹɹɹˠύʔεॲཧɺϧʔϓॲཧͷॻ͖ͳ͙Γ • ̐2ɹϒʔτΩϟϯϓʹࢀՃɻεΩʔ߹॓Έ͍ͨͩɻ ɹɹɹɹɹɹɹˠZBNMɺ3BJMTͷجຊಈ࡞ • ̍2ɹ͚ࣾΞϓϦέʔγϣϯͷ࡞ ɹɹɹɹɹɹɹˠ3BJMTΞϓϦͷ։ൃ
• ̎2ɹମܥతͳࣝͷඞཁੑΛ࠶ೝࣝ ɹɹɹɹɹɹɹˠԾڥ • ̏2ɹ1)1Ͱ3BJMTͬΆ͘ͳΔ ɹɹɹɹɹɹɹˠΤϯδχΞ
ղੳʁஔʁͳΒ3VCZͩʂ • εΫϨΠϐϯάɺஔॲཧ͕ඞཁʹͳͬͨɻ ɹʢͬ͟ͱ̐̌̌̌ϖʔδɺIUNMʣ • ۀࣗମͰ͖·ͨ͠ɻͻͲ͍ΓํͰ͕͢ɾɾɾɻ νϥγͷཪʹ͔͖ͳ͙ͬͨΑ͏ͳ ͻͲ͍ιʔεͷࢁ
̍લ͘Β͍ͷɺͻͲ͍ιʔε • ϑΝΠϧ໊औಘGJOEͱDBUͷΈ߹Θͤ • ্هग़ྗ݁ՌΛಡΈࠐΈɺग़ྗ͢ΔϑΝΠϧҰཡ࡞ • ೖग़ྗϦετʹԊͬͯɺஔͨ͠ͷΛు͖ग़͢ • ஔύλʔϯ͕ϋʔυίʔσΟϯά ͦΜͳϑΝΠϧ͕େྔʹస͕͍ͬͯͨ
࣌ɺ͕͖ۤ͠ΜͰ͍ͨ
ͻͲ͍2JJUBͷߘ • ೖॻʹॻ͍ͯ༗ΔΑ͏ͳॲཧͷ࣮ԋ • 4IFMM4DSJQUͰ؆୯ͳεΫϦϓτͷ࣮ߦ • (FNΛೖΕΑ͏ͱͯۤ͠ઓͨ͠ • ΤΫηϧγʔτͷσʔλಡΈࠐΈ ͳΜͰ͜Μͳͷॻ͍ͨʁʂͱ͍͏Α͏ͳ
͔ͣ͘͠ͳΔΑ͏ͳͷ͕ଟ
͜ΜͳͷΛॻ͍͍ͯͨ Γ͍ͨ͜ͱΘ͔Δ͕ɺ̎̌ੈلͷ $ݴޠͷڭՊॻΈ͍ͨͩɾɾɾ
ϋοΧιϯͰ3BJMT͔Γ • ࡢՆʹࢀՃͨ͠ϋοΧιϯͰɺࢀՃνʔϜͷ ɹɹ΄ͱΜͲ͕3VCZPO3BJMTΛ༻͍ͯͨ͠ɻ • 3P3 ɹˡ͜Μͳײ͡ʹͳΓ·ͨ͠ Ұൠڭཆͳͷ͔ʁʂ
3BJMʹΔͨΊʹϒʔτΩϟϯϓʹ • &MJUFT$BNQʹࢀՃɻ̏ؒͿͬ௨͠ɻ • 3BJMTڥͷઃఆ͔ΒσϓϩΠ·ͰҰ௨Γͷಈ࡞Λɺ ɹҰؾʹମݧͨ͠ εΩʔ߹॓Έ͍ͨͳײͩͬͨ͡
εΩʔ߹॓ɹͦͷ͜͜Ζʁ • ࠷ॳͷҰาΛ౿Έग़͢ɻ͜Ε͚ͩͰݩͱΕͨɻ ɹɹʢಈ࡞ͷΈΛҰؾʹҿΈࠐΉʣ • ʢࢲʹͱͬͯʣɹڥτϥϒϧͷ΄͏͕ਂࠁͩͬͨ • Α͍3VCZϓϩάϥϜͷॻ͖ํɹ·ͨผͷɻ ɹɹʢ͕͢͞ʹɺͦ͜·ͰΓࠐΊͳ͍ʣ
ͪΐͬͱͨ͠ͷΛ࡞ ͚ࣾʹɺใݕࡧΞϓϦΛ࡞ɻ औҾઌใΛҬɺܖͳͲͰݕࡧ ͋͘͘͝͝Γ͖ͨΓͷγεςϜͰ͕͢
͜ͷΑ͏ͳཁ͕ w ਓʹΑͬͯฤूݖݶ͕ҟͳΔɹ w ֎෦͔ΒσʔλΛΠϯϙʔτ͍ͨ͠ w ݕࡧ݁Ռ͕ଟ͘ͳΔͷͰɺϖʔδΘ͚͍ͨ͠ w ࢢ۠ொଜͳͲͷ͍۠ͬͺ͍ w
࠷ॳͷσʔλૠೖɺΤϯδχΞʹͤΔʁʂ ڊਓͷݞʹΖ͏ʂʂʂ
ڊਓͷݞɹ3VCZ(FNTͷ༻ (FNͰେํ࣮ݱՄೳ ࠷ޙͷ̍ɺ̎าͷ࡞ۀʹઐ೦ ࣮ݱ͍ͨ͠ػೳ ༻ͨ͠Gem ଳ࡞ۀ Ϣʔβཧ 1VOEJU ϩάΠϯɾݖݶͷ ఆॲཧ
දͷΠϯϙʔτ 3PP 4QSFBETIFFU ಡΈࠐΈ༰ͷ ఆɺܗॲཧ ϖʔδϯά LBNJOBSJ ϖʔδ͋ͨΓ ද੍ࣔޚ ݻఆ߲ BDUJWF@IBTI σʔλͷछྨ %#ܗࣜͷઃܭ Πϯϙʔτ TFFE@GV σʔλͷ४උ
͜ͷ࣌ۤ࿑ͨ͜͠ͱ w ҰׅΠϯϙʔτͷมॲཧ w K2VFSZͷڍಈ 5VSCPMJOLTͰෆ۩߹ʣ ˠ࣌ͷ2JJUBʹଟ w ʮ͍ํʯͷʢγεςϜҎ্ʹॏཁʣ ˠձࣾͷಛੑ্ඇৗʹॏཁ
σβΠϯύλʔϯେࣄ • ػೳΛ૿͍ͯͬͯ͠ɺ߹ੑ͕ͱΕΔγεςϜઃܭ • ಡΈ͘͢ॻ͖͘͢ɺվम͍͢͠ιʔείʔυ • ͜ΕΒΛ࡞Δʹɺਖ਼͍͠ܕΛʹ͚ͭΔඞཁ͕͋Δ ͲΜͳݴޠɺڥʹ͓͍ͯ ॏཁͳ͜ͱͰʁ
ޙճ͠ʹͳΓ͍͢ཧ༝Λߟ • ֶߍͰڭ͖͑Εͳ͍ ɹʢϓϩάϥϜʹΞϨϧΪʔΛىֶ͜͢ੜগͳ͘ແ͍ʣ ɹʢ͋͘·Ͱखஈɻ෭࣍తͳͷͰ͋Δέʔεଟ͍ʣ • ձࣾͰڭ͍͑ͯΔՋ͕ແ͍ʁ ɹʢೳಈతʹษڧ͠ͳ͍ͱʹ͖ͭʹ͍͘ʣ • ͦͷ͚ͩͳΒɺؒʹ߹ͬͯ͠·͏͜ͱ͕ଟ͍
ɹʢ͜Ε͕࠷େͷཧ༝͔ʣ
1)1Λͬͯ3BJMTͬΆ͘ͳΔ • ݱࡏɺੜPHPʴCybozu KintoneͰWebαʔϏεΛ࡞த ɹʢۀϑϩʔɺॾ݅Λߟྀ͜͠ͷߏΛར༻ʣ • .PEFMɺ7JFXɺ$POUSPMMFSͷιʔεΛ͚Δ • .PEFMʹґଘ͠ͳ͍ػೳNPEVMFԽɻ •
63-ͳͲͷઃఆใDPOGJHϑΝΠϧʹ 3BJMTͬΆ͘ͳΔʢۮવͩͧʣ
,JOUPOF"1*ͱͷଓ͕େม • $36%ॲཧʹ૬͢Δ෦"1*Λར༻ɻ ɹʢ3VCZ 1)1 1ZUIPOͳͲͷ4%,͋Γʣ • 8FCαΠτ෦Λൈ͖ग़͢ͱɺ,JOUPOFΛ ɹ%#ͷΑ͏ʹѻ͍ͬͯ·͢ɻ •
͔͠͠ɺૹड৴͢ΔσʔλΛՃ͢Δ ɹ෦͕େมɻʢ͜͜Ͱۤ࿑ʣ ࠓճɺ4%,ʹ૬͢Δࣗ࡞͠·ͨ͠ɻ
όονॲཧͳͲ3VCZΛར༻༧ఆ • 3VCZ൛4%,ʢHFNʣ͍ͦ͢͏ɻ ɹɹυΩϡϝϯτ͕ॆ࣮͍ͯ͠Δ • ߦͷεΫϦϓτͰ$36%ॲཧ͕Մೳ ɹΫΤϦੜײతʹͰ͖Δɻ QFSMͷΑ͏ͳͷͱͯ͠ར༻ • ,JOUPOF"1*Λඪ४ೖྗPS4IFMM4DSJQU͔Β
ɹར༻͢Δ͜ͱ͍͠ɻ
"DUJWF3FDPSEͬΆ͑͘Δ SFRVJSFbLJOUPOF` BQJ,JOUPOF"QJOFX lFYBNQMFDZCP[VDPN lBVUIUPLFOz ΞϓϦʹର͠"1*ଓΛੜ ΞϓϦ൪߸*%ͷϨίʔυΛऔಘͱԾఆ BQJSFDPSEHFU
Ϩίʔυ൪߸Ͱऔಘ ΞϓϦ൪߸ʹର͠σʔλΛ༩͑Δ SFDPSE\lOBNFz\lWBMVFzl,BXBTBLJ3VCZLBJHJz^^ BQJSFDPSESFHJTUFS Ϩίʔυͷ৽نՃ
ΞτϓοτͷมԽ RubyʹݶͬͨͷͰͳ͍Ͱ͕͢ɾɾɾ • ۃྗϞδϡʔϧԽ࣮ͯ͢͠Δɻ • ΫϥεͷܧঝΑΓҠৡΛ͏ɻ • ઃఆͱϩδοΫ͚Δɻ ޠΓܧ͕Ε͖ͯͨ ϓϩάϥϚֶʹḷΓͭ͘
ۃྗϞδϡʔϧԽ͢Δ ྫ͑ɺରϦετͷςΩετϑΝΠϧʹର͠ ஔॲཧΛߦ͏Α͏ͳ߹ɾɾɾɻ w ରͱ͢ΔϑΝΠϧϦετΛऔಘ͢Δػೳ w ରϑΝΠϧͷ༗ແΛఆɺ̍݅ͣͭಡΈࠐΉػೳ w ஔ߲ͱর߹͠ɺஔ͖͑ॲཧΛߦ͏ػೳ w
ஔͨ͠ͷΛॻ͖ग़͢ػೳ ͱ͍ͬͨΑ͏ʹɺղͰ͖Δɻ
هड़ͷश׳ʹมԽ͕ग़͖ͯͨ ྫ͑ɺϧʔϓͷதͰෳͷॲཧΛߦ͏ͱ͖ GPSFBDI ඞཁͳͷಡΈࠐΈʣ ஔॲཧଞଟ ॻ͖ग़͠ॲཧʣ
FOE ɾɾɾɾ ॲཧͷ֓ཁ͕̍ը໘ʹऩ·Δʢॏཁʣˍ গͳ͍ίʔυͰଟ͘ͷͷ͕࣮ݱͰ͖ΔΑ͏ʹͳΔ ैདྷͷ߹ ̍̌̌ߦҎ্ͷϝιουβϥ ݱࡏͷ߹ GPSFBDI ػೳผΦϒδΣΫτʣ FOE ಡΈࠐΈʣ ஔ͖͑ʣ ʢॻ͖ग़͠ʣ ̍ϝιου͋ͨΓ ̏̌ʙ̒̌ߦఔ
ܧঝͱҠৡͷҧ͍ ܧঝʹΫϥεͷػೳΛҾ͖ܧ͙ ҠৡʹଞͷΫϥεͷػೳΛݺͼग़͢ w 8FCΞϓϦέʔγϣϯ։ൃͰ ɹܧঝΑΓҠৡ͕దͳ͜ͱ͕ଟ͍ɻ
ܧঝΑΓҠৡʁ ܧঝʹΫϥεͷػೳΛҾ͖ܧ͙ ʢԼͷΑ͏ͳπϦʔߏʣ εϥΠϜ ਫణܕ ӷঢ়ܕ ͘Β͛ܕ ϗΠϛεϥΠϜ ϕϗϚεϥΠϜ ͠ͼΕ͘Β͛ʁ
Ϋϥεͱͷؔ࿈ʹໃ६͕ʁʂ
ࣅ͍ͯΔΑ͏ͰҟͳΔಛੑ ϗΠϛεϥΠϜ ɾճ෮ߦಈ ɹɾϗΠϛ ɾυϩοϓ ɹɾߴ֬ w ͠ͼΕ͘Β͛ճ෮ߦಈΛߦΘͳ͍ ɹˠແ༻ػೳʹͳΔ ϕϗϚεϥΠϜ
ɾճ෮ߦಈ ɹɾϕϗϚ ɾυϩοϓ ɹɾத֬ ͠ͼΕ͘Β͛ ɾՃ߈ܸ ɹɾຑᙺ ɾυϩοϓ ɹɾ֬ ͘Β͛ܕεϥΠϜશ෦ճ෮Ωϟϥͱࢥͬͨʁ
ܧঝΑΓҠৡʁ ҠৡʹଞͷΫϥεͷػೳΛݺͼग़͢ ʢԼਤͷΑ͏ͳؔ࿈ੑʹͳΔʣ Ϣʔβʔ ΞΠςϜ Φʔμʔ "1*ଓ Πϯϙʔτ ΤϦΞ Ϟσϧͱ֦ுػೳҰରπϦʔͰͳ͍
Ϟσϧͱ֦ுػೳͷ୲ྫ ֤Ϟσϧ ɾΞΫγϣϯผॲཧ ɾೖग़ྗϑΟϧλʔ ɾ$36%ॲཧ ໘ʹΑͬͯɺΫΤϦͷ༰͕ҟͳΔ͕ ଓॲཧͷϑϩʔมΘΒͳ͍ "1*ଓɺϓϩηε΄΅͓ͳ͡ ֦ுػೳʢ"1*ଓʣ ɾΫΤϦͷ༻ҙ
ɾૹ৴ɺ݁Ռऔಘ ɾσʔλड͚͠
ઃఆͱϩδοΫΛ͚Δ લ৬ͰϋʔυίʔσΟϯάېࢭͳϓϩδΣΫτ͕͋Γ ʢσʔλղੳ࡞ۀͷ୯७ͳεΫϦϓτͰʂʂʣ ઃఆɹɹɹɿɹঢ়گʹԠͯ͡มߋൃੜ ɹɹɹɹɹɹɹʢස·ͪ·ͪʣ ϩδοΫɹɿɹঢ়گʹΑΔมߋ͕গͳ͍ ઃఆʹؔͯ͠ɺมߋසʹԠͯ͡ ιʔεϑΝΠϧΛׂ͢ΔͳͲͷ͕ඞཁ
ͦͷಓͷΓʹͻͲ͍ίʔυ͕ • ඇৗʹ͍ϝιου • ઃఆྨͷϋʔυίʔσΟϯά • 'BUͳίϯτϩʔϥʔɹ 3P3 ͜ΕΒΛஏ͔͍ͣ͠ͱ͓ͬͨ ͔ͩΒͦ͜ࠓ͕͋Δ
̍લͷॲཧΛ࣮ࢪͨ͠Β ྫ͑ɺରϦετͷςΩετϑΝΠϧʹର͠ ஔॲཧΛߦ͏Α͏ͳ߹ɾɾɾɻ ैདྷɿ̏ʙ̐ͷιʔεϑΝΠϧʹ͔Εɺ ɹɹɹԆ̑̌ʙ̒̌εςοϓҎ্ ݱࡏɿҰཡऔಘؚΊɺ̎̌εςοϓఔ ͠ͳ͘ͱྑ͔ͬͨॲཧ͕ݮͬͨ͜ͱ͕ओཁҼ
ࢀߟจݙɾϖʔδͳͲ ɾٕज़ධࣾɹύʔϑΣΫτ3VCZ ୈ̏ষ͋ͨΓʣ ɹʢΦϒδΣΫτࢤΛٵऩͰ͖ͨʣ ɾΦϥΠϦʔɾδϟύϯɹ࣮ફ7BHSBOU17BHSBOUಓ ɹʢඞཁʹԠͨ͡ڥมߋ͕Ͱ͖Δʣ ɾ3VCZʹΑΔσβΠϯύλʔϯ̑ݪଇ ɹIUUQRJJUBDPNLJEBDIJUFNTCEFBEBDD ɹʢ೦ͳ͕Βग़యݩઈ൛ʹͳͬͯ·͢ʣ ɹ