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
0
100
はじめての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
79
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
120
ISUCONってなんだ / What is ISUCON
bath_poo_
0
290
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
160
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
130
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
220
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
100
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
170
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
220
Other Decks in Programming
See All in Programming
document.write再考
brn
5
2.5k
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.2k
ONE WEDGE_Company_Information
1wedge
0
180
複雑なドメインを扱うプロダクトの探索フェーズではいつどのようにテストをするのか / How to testing during exploratory phase
boykush
2
150
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
180
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
25
15k
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
14
3.5k
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1k
WasmOS: Wasmを実行する自作Microkernel
riru
0
380
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
170
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
43
9.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
A Philosophy of Restraint
colly
195
15k
Scaling GitHub
holman
456
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
BBQ
matthewcrist
78
8.7k
What the flash - Photography Introduction
edds
64
11k
4 Signs Your Business is Dying
shpigford
174
21k
Practical Orchestrator
shlominoach
180
9.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
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ΦϒδΣΫ τ͕ฦΔ