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
はじめてのRuby 第12章 / Ruby Practice 12
Search
muttan
November 29, 2016
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はじめてのRuby 第12章 / Ruby Practice 12
muttan
November 29, 2016
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
130
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
200
ISUCONってなんだ / What is ISUCON
bath_poo_
0
390
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
210
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
200
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
290
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
160
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
240
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
270
Other Decks in Programming
See All in Programming
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
6k
Lessons from Spec-Driven Development
simas
PRO
0
210
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
110
RTSPクライアントを自作してみた話
simotin13
0
620
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
Agentic UI
manfredsteyer
PRO
0
180
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
160
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
190
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
How STYLIGHT went responsive
nonsquared
100
6.2k
Designing for Performance
lara
611
70k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
Documentation Writing (for coders)
carmenintech
77
5.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How GitHub (no longer) Works
holman
316
150k
Transcript
ͨͷ͍͠3VCZୈষ
ͨͷ͍͠ ᕙ ?@?P ᕗ
3VCZ
ୈճ
ୈষ/VNFSJDΫϥε
/VNFSJDͷΫϥεߏ
w *OUFHFSΫϥεʢ ͳͲʣ'MPBUΫϥε ʢ ͳͲʣ/VNFSJDΫϥεͷαϒΫϥε ͱͯ͠ఆٛ͞Ε͍ͯΔ /VNFSJDͷΫϥεߏ /VNFSJD *OUFHFS
ʢʣ 'JYOVN ʢ௨ৗͷʣ #JHOVN ʢେ͖ͳʣ 'MPBU ʢුಈখʣ 3BUJPOBM ʢ༗ཧʣ $PNQMFY ʢෳૉʣ
w ௨ৗϓϩάϥϜͰѻ͏'JYOVNʹऩ·Δఔ Ͱ͋Δ͕ ສ͕Ұ͑ͯ͠·ͬͯࣗಈతʹ#JHOVN Ϋϥεʹม͞ΕΔ /VNFSJDͷΫϥεߏ JSC NBJO O
JSC NBJO ODMBTT 'JYOVN JSC NBJO N ʜʢུʣ JSC NBJO NDMBTT #JHOVN
w 3VCZͰ༗ཧෳૉΛѻ͏͜ͱͰ͖Δ w ༗ཧ3BUJPOBMΫϥε ෳૉ$PNQMFYΫϥ εͰද͢ w ྫʣҎԼͷࣜΛ3BUJPOBMΫϥεΛ༻͍ͯܭࢉͯ͠ ΈΔ /VNFSJDͷΫϥεߏ
2 5 + 1 3
w ҎԼͷΑ͏ʹར༻͢Δ w UP@GϝιουΛ͏ͱ'MPBUΦϒδΣΫτʢখʣ ͷม͕ߦΘΕΔ w ࢠOVNFSBUPS
EFOPNJOBUPSϝιουͰ औಘͰ͖Δ /VNFSJDͷΫϥεߏ
w ෳૉΛѻ͏$PNQMFYΦϒδΣΫτҎԼͷΑ͏ ʹѻ͏ w $PNQMFY ࣮෦ ڏ෦ ͱͯ͠ੜ͢Δ w ࣮෦SFBM
ڏ෦JNBHJOBSZϝιουͰऔಘՄೳ /VNFSJDͷΫϥεߏ
ͷϦςϥϧ
w ΦϒδΣΫτΛද͢Ϧςϥϧͷྫ ͷϦςϥϧ Ϧςϥϧ ҙຯ ͷਐදه ͷਐදه Y
ͷਐදه C ͷਐදه ුಈখ F ුಈখͷࢦදه 1ΦϒδΣΫτͷϦςϥϧࢀর
w ΦϒδΣΫτΛද͢Ϧςϥϧͷྫ ͷϦςϥϧ Ϧςϥϧ ҙຯ ͷਐදه ͷਐදه Y
ͷਐදه C ͷਐදه ුಈখ F ුಈখͷࢦදه 1ΦϒδΣΫτͷϦςϥϧࢀর
w খΛؚΉුಈখͱͳΔ w ුಈখΛࢦදه͢Δࡍ ʮԾ෦Fࢦ෦ʯ ͱදه͢ΔʢF&Ͱ͍͍ʣ w খͷޙʹSΛ͚Δͱ3BUJPOBMΦϒδΣΫ τ͕ੜ͞ΕΔ ͷϦςϥϧ
w ΦϒδΣΫτΛද͢Ϧςϥϧͷྫ ͷϦςϥϧ
ࢉज़ԋࢉ
w ΦϒδΣΫτಉ࢜ͷԋࢉ ҎԼͷԋࢉࢠΛͬͯ ߦ͏͜ͱ͕Ͱ͖Δ ࢉज़ԋࢉ ԋࢉࢠ ԋࢉ Ճࢉ ݮࢉ
ࢉ আࢉ ༨ ͖
w *OUFHFS 'MPBU'MPBUʹͳΔ͕ *OUFHFSಉ࢜ͷ ԋࢉ݁Ռ͕*OUFHFSʹͳΓ 'MPBUಉ࢜ͷԋࢉ݁ Ռ͕'MPBUʹͳΔ ࢉज़ԋࢉ
w ༗ཧͷԋࢉʢ ʣ ϦςϥϧදهΛ༻ ͍Δͱ࣍ͷΑ͏ʹॻ͘͜ͱ͕Ͱ͖Δ ࢉज़ԋࢉ
w ༗ཧͷԋࢉʢ ʣ ϦςϥϧදهΛ༻ ͍Δͱ࣍ͷΑ͏ʹॻ͘͜ͱ͕Ͱ͖Δ w ෛͷ͖3BUJPOBMΦϒδΣΫτΛฦ͢ ࢉज़ԋࢉ
w ෳૉͷԋࢉ ϦςϥϧΛͬͯҎԼͷΑ͏ʹه ड़͢Δ͜ͱ͕Ͱ͖Δ ࢉज़ԋࢉ
w ʢআࢉʣʢ༨ʣҎ֎ʹ আࢉΛߦ͏ํ๏͕͋Δ w YEJW Z YΛZͰׂͬͨͷΛฦ͢ w YRVP
Z YΛZͰׂͬͨͷΛฦ͢ಉ࢜ͷԋࢉͷ߹ 3BUJPOBM ΦϒδΣΫτ͕ฦΔ w YNPEVMP Z YΛZͰׂͬͨ༨ΓΛฦ͢ w YEJWNPE Z YΛZͰׂͬͨͱ͖ͷͱ༨ΓΛྻʹͯ͠ฦ͢ আࢉ
w YEJW Z YΛZͰׂͬͨͷΛฦ͢EJWϝιουΛݺ ͼग़͠ qPPSΛऔΔ͜ͱͰܭࢉ͞ΕΔ w YRVP Z
YΛZͰׂͬͨͷΛฦ͢ಉ࢜ͷԋࢉͷ ߹ 3BUJPOBMΦϒδΣΫτ͕ฦΔ আࢉ
w YNPEVMP Z YΛZͰׂͬͨ༨ΓΛฦ͢ w YEJWNPE Z YΛZͰׂͬͨͱ͖ͷͱ༨ΓΛྻʹͯ͠ฦ͢
YEJW Z ༨ΓYNPEVMP Z ͱಉ͡ আࢉ
w YSFNBJOEFS Z YΛZͰׂͬͨ༨ΓΛฦ͢NPEVMPͱҟͳΓ ༨ Γͷූ߸Yͷූ߸ʹ४ͣΔ আࢉ
w θϩআࢉΛߦͬͨ߹ w *OUFHFSΫϥεͷ߹ྫ֎͕ൃੜ w 'MPBUΫϥεͰ /B/*OpOJUZ͕ฦΔ আࢉ
.BUIϞδϡʔϧ
w ࡾ֯ؔରؔͳͲԋࢉͷͨΊͷϝιο υ ఆ.BUIϞδϡʔϧͰఏڙ͞Ε͍ͯΔ w ͦͷଞϝιουϦϑΝϨϯεࢀরͷ͜ͱ IUUQTEPDTSVCZMBOHPSHKBMBUFTUDMBTT .BUIIUNM
.BUIϞδϡʔϧ
ܕͷม
w *OUFHFSΦϒδΣΫτˠ'MPBUΦϒδΣΫτUP@G ϝιουΛར༻͢Δ w 'MPBUΦϒδΣΫτˠ*OUFHFSΦϒδΣΫτUP@J ϝιουΛར༻͢Δ w จࣈྻUP@GจࣈྻUP@Jͱ͢Δ͜ͱͰ 4USJOHΦ ϒδΣΫτΛ*OUFHFSΦϒδΣΫτ'MPBUΦϒδΣ
Ϋτʹม͢Δ͜ͱ͕Ͱ͖Δ ܕͷม
w UP@G UP@Jϝιουͷ༻ྫ ܕͷม
w 'MPBUUP@GΓࣺͯͨΛฦ͢ w ࢛ࣺޒೖ͕ͨ͠ཉ͍͠߹ SPVOEϝιου Λ͏ w ҾͰؙΊΔܻΛࢦఆ͢Δ͜ͱ͕Ͱ͖Δ ܕͷม
w ҾΛࢦఆ͠ͳ͔ͬͨ߹ࣗʹ࠷͍ۙ ͕ฦΔ w ෛΛ༩͑Δͱ ෦ΛؙΊΔ ܕͷม
w DFJMϝιου ࣗͱ͍͔͠ΑΓେ͖ͳ ͷ͏ͪ࠷খͷͷΛฦ͢ ܕͷม
w qPPSϝιου ࣗͱ͍͔͠ΑΓখ͞ͳ ͷ͏ͪ࠷େͷͷΛฦ͢ ܕͷม
w UP@SϝιουΛݺͿ͜ͱͰ3BUJPOBMΦϒδΣΫ τ UP@DϝιουΛݺͿ͜ͱͰ$PNQMFYΦϒδΣ Ϋτʹม͢Δ͜ͱ͕Ͱ͖Δ ܕͷม
Ϗοτԋࢉ
w *OUFHFSΫϥεͰϏοτԋࢉΛར༻Ͱ͖Δ Ϗοτԋࢉ ԋࢉࢠ ԋࢉ d Ϗοτస Ϗοτੵ c
Ϗοτ ? ഉଞతཧ ӈγϑτ ࠨγϑτ
w Ϗοτԋࢉͷྫ Ϗοτԋࢉ
ཚ
w 3BOEPNSBOEϝιουͰٙࣅཚΛಘΒΕΔ w ҾΛ༩͑ͣʹݺͼग़ͨ͠߹ Ҏ্ະຬ ͷ࣮͕ฦΔ w Ҿʹਖ਼ͷOΛ༩͑ͨ߹ Ҏ্Oະຬͷ Λฦ͢
ཚ
w 3BOEPNΦϒδΣΫτΛੜ͢ΔࡍʹTFFEΛ ઃఆ͢Δ͜ͱ͕Ͱ͖Δ w ҾΛলུͨ͠߹ 3BOEPNOFX@TFFEͷΛ ༻͢Δʢ3BOEPNOFX@TFFEదͳTFFEΛ ฦ͢ϝιουʣͭ·Γʜ
ཚ
w 3BOEPNΦϒδΣΫτΛੜ͢Δͨͼʹ ৽͍͠ ཚྻ͕ಘΒΕΔ͜ͱʹͳΔ ཚ
w ҆શͳཚΛੜʹ 4FDVSF3BOEPNϞδϡʔ ϧΛར༻͢ΔʢηογϣϯΩʔ伴ͷੜͳͲ ʹద͍ͯ͠Δʣ w CBTFϝιου SBOEPN@CZUFT IFYͱݴͬ ͨϝιου͕͋Δ
w ҾʹόΠτΛࢦఆ͢Δ͜ͱͰ ͦͷ͞ͷϥ ϯμϜͳόΠτྻ͕ฦΔ ཚ
w 4FDVSF3BOEPN༻ྫ ཚ
্͑͛
w *OUFHFSΫϥεॲཧͷճྻͷཁૉͳͲ Λ্͑͛ΔͨΊʹΘΕΔ w ͜ͷઅͰհ͢Δͷ ࢦఆ͞Εͨճ͚ͩॲཧ Λ܁Γฦ͢ΠςϨʔλ w UJNFT VQUP
EPXOUP TUFQ ্͑͛
w OUJNFT\cJcʜ^ Oճͷ܁Γฦ͠Λߦ͏ϒϩοΫมJʹ͞ΕΔ ʙOͰ͋Δ ্͑͛
w GSPNVQUP UP \cJcʜ^ GSPN͔ΒUPʹୡ͢Δ·ͰJΛͭͣͭՃࢉ͠ͳ͕ Β܁Γฦ͢ʢUPGSPNճϧʔϓʣ w UPGSPNͷ߹ϧʔϓ͠ͳ͍ ্͑͛
w GSPNEPXOUP UP \cJcʜ^ GSPN͔ΒUPʹୡ͢Δ·ͰJΛͣͭݮΒ͠ͳ͕Β ܁Γฦ͢ w GSPNUPͷ߹ϧʔϓ͠ͳ͍ ্͑͛
w GSPNTUFQ UP TUFQ \cJcʜ^ GSPN͔ΒUP·ͰTUFQࠁΈͰ܁Γฦ͢ w ʮTUFQ͔ͭGSPNUPͷ߹ʯ·ͨʮTUFQ ͔ͭGSPNUPͷ߹ʯ܁Γฦ͞ͳ͍ ্͑͛
w UJNFT VQUP EPXOUP TUFQϝιου ݺͼग़ ͠ͷࡍʹҾΛ͞ͳ͚Ε&OVNSBUFSΦϒδΣ Ϋτ͕ฦΔ w NBQpSTUNBYͱ͍ͬͨ&OVNSBUPSΫϥεͷ
ϝιουͰऩूͰ͖ΔΑ͏ʹͳΔ ্͑͛
ؙΊޡࠩ
w ͳͲਐͰද͢͜ͱͷग़དྷͳ͍ු ಈখʹ͍ͭͯޡࠩΛؾʹ͢Δඞཁ͕͋ Δ w ্ͷΑ͏ʹͷׂΓࢉͱͯ͠ද͢͜ͱ͕Ͱ͖ Δ߹ 3BUJPOBMΦϒδΣΫτΛ༻͍Δ͜ͱͰ ؙΊޡ͕ࠩͳ͍Α͏ʹԋࢉ͢Δ͜ͱ͕Ͱ͖Δ w
CJHEFDJNBMͱ͍͏ͷ͋ΔΑ ؙΊޡࠩ
ࠓճͷ ·ͱΊ
·ͱΊ w 3VCZͰුಈখ͚ͩͰͳ͘ ༗ཧ ෳૉΛѻ͏Ϋϥε͕ଘࡏ͢Δ w *OUFHFSΫϥεͰϏοτԋࢉ༻ҙ͞Ε͍ͯΔ w 3BOEPNΫϥεʹΑٖͬͯࣅཚΛੜ͢Δ Έ͕ఏڙ͞Ε͍ͯΔ
w UJNFT VQUP EPXOUP TUFQϝιου ݺͼग़͠ ͷࡍʹҾΛ͞ͳ͚Ε&OVNSBUFSΦϒδΣΫ τ͕ฦΔ