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 第4章 / Ruby Practice 04
Search
muttan
October 25, 2016
Programming
0
97
はじめてのRuby 第4章 / Ruby Practice 04
muttan
October 25, 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
160
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
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
110
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
1.9k
Select API from Kotlin Coroutine
jmatsu
1
180
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.2k
A comprehensive view of refactoring
marabesi
0
970
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
11
2.8k
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
0
130
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
2
630
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
820
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
740
エラーって何種類あるの?
kajitack
5
270
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
14k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Building an army of robots
kneath
306
45k
RailsConf 2023
tenderlove
30
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How GitHub (no longer) Works
holman
314
140k
Done Done
chrislema
184
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
ͨͷ͍͠3VCZୈষ
ୈষΦϒδΣΫτͱมɾఆ
ΦϒδΣΫτ
ΦϒδΣΫτ w 3VCZͰσʔλΛදݱ͢Δجຊతͳ୯Ґ w ʮͯ͢ΦϒδΣΫτʯͱݴͬͯաݴͰ ͳ͍Ͱ͑͞ΦϒδΣΫτͰ͋Δ w ྫ͑ ΦϒδΣΫτจࣈྻ ྻΦϒδΣ
ΫτFUDʜ ࣍εϥΠυͰओͳΦϒδΣΫτΛղ આʣ
ΦϒδΣΫτ w ΦϒδΣΫτ ͳͲͷΛද͢ΦϒδΣΫτෳૉ DNBUI ߦྻ NBUSJY ͳͲΛද͢ΦϒδΣΫ τ͋Δ
w จࣈྻΦϒδΣΫτ lBBBz lΑͬͱzͳͲͷจࣈͷฒͼ͔ΒͳΔΦϒ δΣΫτ
ΦϒδΣΫτ w ྻΦϒδΣΫτ ϋογϡΦϒδΣΫτ ෳͷσʔλΛ·ͱΊͯอ࣋͢ΔΦϒδΣΫτ w ਖ਼نදݱΦϒδΣΫτ ϚονϯάύλʔϯΛอ࣋͢ΔΦϒδΣΫτ w ࣌ࠁΦϒδΣΫτ
࣌ࠁʹؔ͢Δใʢ˓˓݄ͳͲʣΛอ࣋͢ΔΦϒ δΣΫτ ͳͲͳͲ
Ϋϥε
Ϋϥε w ͱৼΔ͍Λఆٛͨ͠σʔλܕ w Ϋϥε͔Β࡞ΒΕ࣮ͨମΛΠϯελϯεͱ͍͏ w Ͱ͋Ε/VNFSJDΫϥε จࣈྻ4USJOHΫ ϥεʹଐ͍ͯ͠Δ w
ৄ͍͜͠ͱԿճ͔͋ͱʹग़͖ͯ·͢
ม
ม w 3VCZʹҎԼͷΑ͏ͳม͕͋Δ w ϩʔΧϧม ઌ಄͕ΞϧϑΝϕοτখจࣈPS@Ͱ࢝·Δ w άϩʔόϧม ઌ಄͕Ͱ࢝·Δ w
Πϯελϯεม ઌ಄͕!Ͱ࢝·Δ ࣍ϖʔδʹଓ͘
ม w Ϋϥεม ઌ಄͕!!Ͱ࢝·Δ w ٙࣅม OJM USVF GBMTF TFMGͷΑ͏ͳ
ಛఆͷΛࣔͨ͢ Ίͷ༧͞Εͨมͷ͜ͱಛఆͷΛࣔͨ͢Ί ʹΘΕΔͨΊ Ϣʔβʔ͕Λมߋ͢Δ͜ͱ ग़དྷͳ͍
ϩʔΧϧมͱάϩʔόϧม w ϩʔΧϧม มͷείʔϓ͕ہॴతͳม มͷӨڹൣғΛ͋Δఔݶఆ͢Δ͜ͱ͕Ͱ͖ Δ w άϩʔόϧมϓϩάϥϜͷͲ͔͜ΒͰ ࢀর͢Δ͜ͱ͕Ͱ͖Δม
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC TVCSC w YάϩʔόϧมͰ͋ΔͨΊ ଞͷϓϩάϥϜ Ͱมߋ͕ߦΘΕΔͱͦͷมߋ͕ө͞ΕΔ w YϩʔΧϧมͰ͋Δ͔Β ଞͷϑΝΠϧͰಉ
໊ͷมΛมߋͯ͠ӨڹΛड͚ͳ͍ 1TDPQFUFTUSC࣮ߦ
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC TVCSC Y άϩʔόϧม
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC Y TVCSC Y άϩʔόϧม
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC Y TVCSC Y άϩʔόϧม
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC Y TVCSC Y Y άϩʔόϧม
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC Y TVCSC Y Y άϩʔόϧม
ϩʔΧϧมͱάϩʔόϧม TDPQFUFTUSC Y TVCSC Y Y άϩʔόϧม
ϩʔΧϧมͱάϩʔόϧม w ৭ϩʔΧϧมͷείʔϓʢมΛมߋͨ͠ Өڹ ಉҰείʔϓͷΈʣ w άϩʔόϧมͳΔ͘Θͳ͍ํͰϓϩ άϥϜΛॻ͘΄͏͕·͍͠
ϩʔΧϧมͱάϩʔόϧม w ϩʔΧϧม࠷ॳͷೖΛߦͬͨͱ͖ʹॳظ Խ͞ΕΔ w ॳظԽ͞Ε͍ͯͳ͍มʹΞΫηε͢ΔͱΤϥʔ ͱͳΔ
JSC NBJO TIJNB NPO /BNF&SSPSVOEFpOFEMPDBMWBSJBCMFPSNFUIPEATIJNBGPSNBJO0CKFDU GSPN JSC
ΠϯελϯεมͱΫϥεม ൪֎ฤ w Πϯελϯεมੜ͞ΕͨΠϯελϯεͦΕ ͧΕ͕͍࣋ͬͯΔม w ΠϯελϯεͳΒͲ͔͜ΒͰݺͼग़͢͜ͱ ͕Ͱ͖Δ w Ϋϥεม
ͦͷΫϥεαϒΫϥε ͦΕΒ ͷΠϯελϯεͰڞ༗͞ΕΔάϩʔόϧม w ৄ͘͠ճͰΓ·͢
ϩʔΧϧมͱάϩʔόϧม !!HMPCBM !Y !!HMPCBM !Y !!HMPCBM !Y Πϯελϯε" Πϯελϯε# Πϯελϯε$
!!HMPCBM !Y ͜͜Ͱɺ֤Πϯελϯε!Yͱ͍͏ΠϯελϯεมΛ͍࣋ͬͯΔ !YͱݴͬͨΑ͏ͳૢ࡞ɺͦͷΠϯελϯεʹͷΈӨڹ͢Δ !!HMPCBMͲͷΠϯελϯε͔ΒࢀরͰ͖ΔΫϥεม ೖૢ࡞ͯ͢ͷΠϯελϯεʹӨڹ͢Δ Πϯελϯε
ఆ
ఆ w ͋Δಛఆͷʢྫ͑࠷େʣʹ໊લΛ͚ͭͨ ͷ w ఆมͱҧͬͯมߋෆՄೳͰ͋Δ w 3VCZͰઌ಄͕ΞϧϑΝϕοτʢେจࣈʣͰ͋ Δͷ͕ఆͱΈͳ͞Ε·͢ w
ϝιουͷ෦ͰఆఆٛෆՄೳ
ఆ w ༻ྫ w ೖͰ͖ͳ͍͕ͣ ࣮ೖͰ͖ͯ͠·͏ ʢͪΖΜܯࠂग़ΔͷͰආ͚Δ͖ίʔυʣ
w ؾʹͳͬͨਓ3VCZGSFF[FͰݕࡧ
༧ޠ
༧ޠ w 3VCZͷߏจʹΘΕΔ୯ޠ ༧ΊΈࠐ·Ε ͍ͯΔఆͳͲͷ໊લΛ༧ޠͱ͍͏ w ྫ͑ FOE EFG CFHJO
JG TVQFS CSFBL EPͳͲʜ w ͜ΕΒม໊ͱͯ͑͠ͳ͍ͷͰҙ
ଟॏೖ
ଟॏೖ w ز͔ͭͷมʹରͯ͠·ͱΊͯೖจΛॻ͖ͨ ͍߹ʹར༻͢Δ
ଟॏೖ w ड͚औΔଆͷมʹ͚ͭͩ Λ͚͓ͯ͘ͱ ༨ͬ ͨมͷ͕ྻͱͯ֨͠ೲ͞ΕΔ w B
C D< >͕֨ೲ͞ΕΔ͜ͱʹ ͳΔ
ଟॏೖ w ଟॏೖΛ͏ͱ มͷதΛަ͢Δϓϩ άϥϜΛ؆ܿʹهड़͢Δ͜ͱ͕Ͱ͖Δ w UNQͷΑ͏ͳҰ࣌มΛ༻͢Δ͜ͱͳ͘ߦͰ ॻ͚ΔͷͰϋοϐʔ
ଟॏೖ w ྻͷཁૉΛऔΓग़ͯ͠มʹೖ͍ͨ͠߹ ͏͜ͱ͕Ͱ͖Δ w B C
D͕ೖ͞ΕΔ
ࠓͷ·ͱΊ ͍Β͢ͱ
·ͱΊ w 3VCZͷੈքͰ ͕ͯ͢ΦϒδΣΫτ w มͷछྨͭάϩʔόϧมͳΔ͘ ༻͠ͳ͍ํͰ w ม໊ͷจࣈΛେจࣈʹ͢Δͱఆͱͯ͠ѻ ΘΕΔ
w ଟॏೖ ม ม ʜมO ʜ O
ͱ͜ΖͰ
มͷ໋໊نଇ w ීஈؾʹͤͣʹม໊Λ͚͍ͯΔ͔͠Εͳ ͍͕ ໋໊نଇʹ໊લ͕͍͍ͭͯ·͢ w HFUJOTUBODFΛද͢߹ ه๏ දهྫ 1BTDBM$BTF
6QQFS$BNFM$BTF (FU*OTUBODF $BNFM$BTF -PXFS$BNFM$BTF HFU*OTUBODF TOBLFDBTF HFU@JOTUBODF
3VCZͰʜ w ม໊ϝιου໊ʹؔͯ͠TOBLFDBTF w Ϋϥε໊Ϟδϡʔϧ໊ʹؔͯ͠$BNFM$BTF Ͱ໋໊͞ΕΔ͜ͱ͕ଟ͍ ه๏ දهྫ 1BTDBM$BTF 6QQFS$BNFM$BTF
(FU*OTUBODF $BNFM$BTF -PXFS$BNFM$BTF HFU*OTUBODF TOBLFDBTF HFU@JOTUBODF
ม໊ʹ͍ͭͯ w ͍͠ӳ୯ޠΛબͿΑΓ ׂΓͬͯϩʔϚࣈදه Λ࠾༻ͨ͠΄͏͕͔Γ͍͢߹ʜ w ͍ม໊ྑ͘ͳ͍͕ ͍͕ͨ͘͠ނʹ୯ޠ Λলུ͗͢͠Δͷ/( w
׳ྫతʹೝΊΒΕ͍ͯΔུޠ NFTTBHFˠNTH UFNQPSBSZˠUFNQͳͲ ͜ͷݶΓͰͳ͍ w ϓϩάϥϜͰه๏Λ౷Ұ͢Δͱ(00%ʢͦΕͧ Εͷݴޠʹྲྀ͕͋Δͣʣ