Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
0
130
はじめてのRuby 第12章 / Ruby Practice 12
muttan
November 29, 2016
Tweet
Share
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
110
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
170
ISUCONってなんだ / What is ISUCON
bath_poo_
0
370
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
190
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
160
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
260
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
140
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
220
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Other Decks in Programming
See All in Programming
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
20 years of Symfony, what's next?
fabpot
2
360
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
160
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
Cap'n Webについて
yusukebe
0
130
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
認証・認可の基本を学ぼう前編
kouyuume
0
240
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
310
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
エディターってAIで操作できるんだぜ
kis9a
0
730
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6k
Building Applications with DynamoDB
mza
96
6.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Speed Design
sergeychernyshev
33
1.4k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Navigating Team Friction
lara
191
16k
How to train your dragon (web standard)
notwaldorf
97
6.4k
The Invisible Side of Design
smashingmag
302
51k
It's Worth the Effort
3n
187
29k
Six Lessons from altMBA
skipperchong
29
4.1k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Writing Fast Ruby
sferik
630
62k
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ΦϒδΣΫ τ͕ฦΔ