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
120
はじめての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
350
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
ALL CODE BASE ARE BELONG TO STUDY
uzulla
20
5.2k
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
250
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
370
私はどうやって技術力を上げたのか
yusukebe
43
18k
CSC509 Lecture 03
javiergs
PRO
0
340
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
130
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
明日から始めるリファクタリング
ryounasso
0
140
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
230
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
220
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Being A Developer After 40
akosma
91
590k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Side Projects
sachag
455
43k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
The Cult of Friendly URLs
andyhume
79
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
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ΦϒδΣΫ τ͕ฦΔ