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
79
はじめての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
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
Parallel Socket Communication in Swift
s_shimotori
0
200
DDD, necessary but insufficient: physical design principles for microservices
cer
PRO
0
2.1k
イベントストーミングによるオブジェクトモデリング・オブジェクト指向プログラミングの適用・開発プロセスの変遷・アーキテクチャの変革 / Object modeling with Event Storming.
nrslib
12
2.3k
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
170
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2.6k
Why 1 + 1 = 2 in Swift?
1plus4
1
240
Laravel OpenAPIによる"辛くない"スキーマ駆動開発
kentaroutakeda
2
2.1k
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
390
せっかくモデル図描くのなら、嬉しいことが多い方がいいよね!
kuboaki
1
1.2k
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
2
210
Migrating to Signals: A Practical Workshop
manfredsteyer
PRO
0
280
Dockerで始めるAWS Lambda開発
stutkhd0709
13
2.5k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
It's Worth the Effort
3n
180
27k
Web Components: a chance to create the future
zenorocha
304
41k
WebSockets: Embracing the real-time Web
robhawkes
59
6.9k
A Philosophy of Restraint
colly
195
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
Why Our Code Smells
bkeepers
PRO
330
56k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
What the flash - Photography Introduction
edds
64
11k
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%ʢͦΕͧ Εͷݴޠʹྲྀ͕͋Δͣʣ