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 第13章 / Ruby Practice 13
Search
muttan
November 29, 2016
Programming
0
110
はじめてのRuby 第13章 / Ruby Practice 13
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
360
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
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
180
Dive into Triton Internals
appleparan
0
490
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
280
AI POSにおけるLLM Observability基盤の導入 ― サイバーエージェントDXインターン成果報告
hekuchan
0
640
開発生産性が組織文化になるまでの軌跡
tonegawa07
0
170
All(?) About Point Sets
hole
0
160
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
410
2026年向け会社紹介資料
misu
0
210
アーキテクチャと考える迷子にならない開発者テスト
irof
8
3k
カンファレンス遠征を(安く)楽しむ技術
wp_daisuke
0
150
CSC509 Lecture 13
javiergs
PRO
0
250
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
470
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Statistics for Hackers
jakevdp
799
220k
A better future with KSS
kneath
239
18k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Building Applications with DynamoDB
mza
96
6.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
How STYLIGHT went responsive
nonsquared
100
5.9k
Docker and Python
trallard
46
3.7k
KATA
mclloyd
PRO
32
15k
4 Signs Your Business is Dying
shpigford
186
22k
Transcript
ͨͷ͍͠3VCZୈষ
ͨͷ͍͠ ᵋ ?@?P ᵏ
3VCZ
ୈճ
ୈষ"SSBZΫϥε
ྻͷ෮श
w ͋ΔΠϯσοΫεͷཁૉΛऔΓग़͢͜ͱ͕Ͱ͖Δ w ͋ΔΠϯσοΫεͷཁૉʹΛ֨ೲ͢Δ w ΠςϨʔλΛͬͯҰͭͣͭऔΓग़͢ ྻͷ෮श QSJOUBSSBZ<> QSJOUBSSBZ<>lౡాz BSSBZFBDIEPcOBNFc
QVUTOBNF FOE
ྻͷ࡞Γํ
w ྻͷ࡞ΓํʹҎԼͷ༷ͳͷ͕͋Δ "SSBZOFXΛ͏ ҾΛࢦఆ͢Δͱ ͦͷ͚ͩOJM ͰॳظԽͨ͠ྻΛੜ ͭࢦఆ͢Δͱ ࢦఆͨ͠Ͱ ཁૉॳظԽ
w จࣈྻྻΛ͍͍ͨ߹ XΛ͏͜ͱ͕Ͱ͖ ΔʢΧοίͷதʹจࣈྻΛۭന۠ΓͰฒΔʣ w γϯϘϧͷྻΛ࡞Γ͍ͨ߹ JͰ࡞Δ͜ͱ ͕Ͱ͖Δ XJΛ͏
w ྻʹ͍ͨ͠จࣈྻΛғ͏ͨΊͷ۠Γจࣈɺ ʮʢʣʯҎ֎ʹز͔ͭ͑Δͷ͕͋Δ w ʮจࣈྻதʹ۠Γจࣈؚ͕·Ε͍ͯͳ͍ʯ͜ͱ ʹؾΛͬͯɺ্ͷͭͷ͏ͪͲΕ͔Λ͏Α͏ʹ ͢Δ XJΛ͏
w UP@BϝιουΛ͏ͱ ଞͷΦϒδΣΫτΛྻ ΦϒδΣΫτʹม͢Δࣄ͕Ͱ͖Δ UP@BϝιουΛ͏
w จࣈྻΦϒδΣΫτͷTQMJUϝιουΛ͏ͱɺࢦ ఆͨ͠จࣈͰ۠ΒΕͨจࣈྻ͕"SSBZΦϒδΣ Ϋτͱͯ͠ฦ͞ΕΔ w ৄ͘͠ষͰʂ จࣈྻͷTQMJUϝιουΛ͏
ΠϯσοΫεͷ͍ํ
w ྻʹΠϯσοΫεΛࢦఆ BSZ<JOEFY> ͢Δ͜ͱͰ ཁૉΛऔΓग़͢͜ͱ͕Ͱ͖Δ w <>ϝιουͷ͍ํҎԼͷ௨Γ B<JOEFY>
B<ON>PSB<ON> B<O MFO> ཁૉΛऔΓग़͢
w ΠϯσοΫε͕OͷཁૉΛͭऔΓग़͢ํ๏ w ΠϯσοΫεʹෛͷΛࢦఆ͢Δ͜ͱ͕Ͱ͖Δ B<JOEFY>ͷ͍ํ B<> B<> B<> B<> B<>
B<>ͰΞΫηεՄೳ B<>ͰΞΫηεՄೳ
w B<O>͔ΒB<N>·ͰͷཁૉΛฒͨ৽͍͠ྻΛ࡞ͬ ͯฦ͢ w B<>ͱͨ͠߹ɺ<C D E>͕ฦΔ
w NྻαΠζͷ߹ ྻͷҰ൪ޙΖͷཁૉΛ ࢦఆͨ͠߹ͱಉ݁͡ՌʹͳΔ B<ON>ͷ͍ํ lBz lCz lDz lEz lFz ྻB B<>
w B<O>͔ΒB<N>·ͰͷཁૉΛฒͨ৽͍͠ྻΛ࡞ͬ ͯฦ͢ w B<>ͱͨ͠߹ɺ<C D>͕ฦΔ w
NྻαΠζͷ߹ ྻͷҰ൪ޙΖͷཁૉΛ ࢦఆͨ͠߹ͱಉ݁͡ՌʹͳΔ B<OʜN>ͷ͍ํ lBz lCz lDz lEz lFz ྻB B<>
w B<O>͔ΒMFOݸઌ·ͰͷཁૉΛฒͨ৽͍͠ྻΛ ฦ͢ w B< >ͱͨ͠߹ <C D E>͕ฦΔ B<O
MFO>ͷ͍ํ lBz lCz lDz lEz lFz ྻB B< >
w ༻ྫ ཁૉΛऔΓग़͢
w <>ϝιουҎ֎ʹɺಉ͡Α͏ͳಇ͖Λ͢Δϝιο υ͕͍͔ͭ͋͘Δ ཁૉΛऔΓग़͢ ΞΫηεํ๏ ରԠ͢Δૢ࡞ BBU O B<O> BTMJDF
O B<O> BTMJDF ON B<ON> BTMJDF O MFO B<O MFO>
w B<O>JUFNͱ͢Δ͜ͱͰ B<O>ͷཁૉΛJUFNʹม ߋ͢Δ͜ͱ͕Ͱ͖Δ w B<O
MFO>B<ON>ΛͬͨೖՄೳ ཁૉΛஔ͖͑Δ
w ྻBͷ൪ʹཁૉΛૠೖ͢Δ w ʮͱͷྻͷݸͷཁૉΛஔ͖͑Δʯͱߟ͑Δͱ B<O
>X 9:; ͱ͔͚Δ ཁૉΛૠೖ͢Δ lBz lCz lDz lEz lFz ྻB lBz lCz lDz lEz lFz ྻB l9z l:z
w WBMVFT@BUϝιουΛ͏ͱ ඈͼඈͼͷཁૉΛࢀ রͭ͠ͷ৽͍͠ྻΛ࡞Δ͜ͱ͕Ͱ͖Δ w BWBMVFT@BU O O ʜ ͱ͢Δͱ
<B<O> B<O> ʜ >ͱ͍ͬͨྻΛฦ͢ ෳͷΠϯσοΫε͔ΒྻΛ࡞Δ
ू߹ͱͯ͠ͷྻ
w "SSBZΫϥεͷΦϒδΣΫτू߹ͱͯ͠͏͜ͱ Ͱ͖Δ w 3VCZͰ ҎԼͷΑ͏ʹͯ͠ڞ௨ू߹ͱू߹ ू߹ͷࠩΛٻΊΔ͜ͱ͕Ͱ͖Δ ू߹ͷԋࢉ BSZBSZڞ௨ू߹
BSZcBSZू߹ BSZBSZू߹ͷࠩ
w ίʔυྫ ू߹ͷԋࢉ
w ίʔυྫ w ྻΛ݁߹͢Δϝιουʹʮʛʯͷଞʹʮʴʯ ͕͋Δ͕ɺ͕ॏෳͨ͠߹ͷڍಈ͕͜ͱͳΔ ू߹ͷԋࢉ
ʮྻʯͱͯ͠ͷྻ
w ྻ2VFVF4UBDLͱͯ͠͏͜ͱ͕Ͱ͖Δ w ྻͱελοΫؔͳ͍Ζ w "SSBZΫϥεʹ QVTIQPQͱݴͬͨΑ͏ͳϝιο υ͕༻ҙ͞Ε͍ͯΔʢελοΫPSΩϡʔϥΠΫͳ ૢ࡞͕Մೳʣ ʮྻʯͱͯ͠ͷྻ
w ίʔυྫ ʮྻʯͱͯ͠ͷྻ ઌ಄ཁૉʹରͯ͠ ඌཁૉʹରͯ͠ ཁૉՃ VOTIJGU QVTI औΓग़͠ TIJGU
QPQ ࢀর pSTU MBTU
ྻͷओͳϝιου
w ྻʹཁૉΛՃ͑Δํ๏͍͔ͭ͋͘Δ w BVOTIJGU JUFN ྻBͷઌ಄ʹJUFNΛૠೖ͢Δ w BJUFN BQVTI
JUFN ྻBͷඌʹJUFNΛૠೖ͢Δ ྻʹཁૉΛՃ͑Δ
w BDPODBU C B C ྻBʹผͷྻCΛ࿈݁͢ΔDPODBUϝιου ഁյతʢBͷཁૉΛมߋ͢Δʣ͕ ϝιου࿈ ݁ͨ͠৽͍͠ྻΛฦ͢
w B<O>JUFN B<ON>JUFN B<O MFO>JUFN ྻBͷࢦఆͨ͠෦ͷཁૉΛJUFNʹஔ͖͑Δ ྻʹཁૉΛՃ͑Δ
w ίʔυྫ ྻʹཁૉΛՃ͑Δ
w ϨγʔόʹͨΔΦϒδΣΫτͷ෦ঢ়ଶΛมߋ ͯ͠͠·͏ϝιουͷ͜ͱΛʮഁյతϝιουʯ ͱ͍͏ w ҎԼͷΑ͏ͳͷഁյతϝιου ʲίϥϜʳഁյతϝιου
w ҎԼͷΑ͏ͳ߹ʹҙ͕ඞཁͰ͋Δ w BͱCಉ͡ΦϒδΣΫτΛࢦ͍ࣔͯ͠͠ΔͨΊ ഁյతϝιουΛར༻ͯ͠Cͷ༰Λมߋ͢Δͱม Bʹมߋ͕ٴΜͰ͠·͏
ʲίϥϜʳഁյతϝιου
w ഁյతϝιουͷΑ͏ʹ ΦϒδΣΫτͷதΛม ߋͯ͠͠·͏Α͏ͳॲཧΛېࢭ͢Δϝιου͕͋ Δ 0CKFDUGSFF[F w
GSFF[Fͨ͠ͷΛมߋ͠Α͏ͱ͢ΔͱΤϥʔͱͳ Δ 3VOUJNF&SSPS ʲίϥϜʳഁյతϝιου
w 3VCZͷϝιου໊ʹ ʮʂʯ͕͍͍ͯΔ͕ ͋Δ w ഁյతϝιουͱඇഁյతϝιου͕ଘࡏ͢Δ ߹ ഁյతϝιουͷͷʹʮʂʯΛ͚Δͱ͍ ͏ϧʔϧʹͳ͍ͬͯΔ w
ͨͩ͠ ͯ͢ͷഁյతϝιουʹʮʂʯ͕͍ͯ ͍ΔΘ͚Ͱͳ͍ͷͰҙʢEFMFUF@JGͱ͔ʣ ʲίϥϜʳഁյతϝιου
w ͋Δ݅ʹैͬͯྻΛऔΓআ͘ϝιου͕༻ҙ ͞Ε͍ͯΔ w BDPNQBDU BDPNQBDU ྻBͷத͔Βཁૉ͕OJMͰ͋ΔͷΛऔΓআ͘ DPNQBDUϝιουOJMΛऔΓআ͍ͨ৽͍͠ྻ Λฦ͢ͷʹରͯ͠ DPNQBDUϝιουͱͷ
ྻΛஔ͖͑Δʢഁյతϝιουʣ ྻ͔ΒཁૉΛऔΓআ͘
w BEFMFUF Y ྻB͔ΒཁૉYΛऔΓআ͘ϨγʔόࣗΛมߋ ͢Δഁյతϝιου w BEFMFUF@BU O
ྻBͷO൪ͷཁૉʢB<O>ʣΛআ͢Δഁյత ϝιου ྻ͔ΒཁૉΛऔΓআ͘
w DPNQBDU EFMFUF EFMFUF@BUͷྫ ྻ͔ΒཁૉΛऔΓআ͘
w BEFMFUF@JG\cJUFNcʜ^ BSFKFDU\cJUFNcʜ^ BSFKFDU\cJUFNcʜ^ ྻBͷ֤ཁૉʹ͍ͭͯ ϒϩοΫͷ࣮ߦ݁Ռ͕USVF ͩͬͨ߹ʹB͔ΒཁૉΛऔΓআ͘EFMFUF@JGͱ SFKFDUഁյతϝιουͰ͋Δ ྻ͔ΒཁૉΛऔΓআ͘
w BTMJDF O BTMJDF ON BTMJDF O MFO ྻB͔Βࢦఆ͞ΕͨൣғͷཁૉΛऔΓআ͖
औΓ আ͍ͨΛฦͯ͢͢ഁյతϝιου w BVOJR BVOJR ྻBͷॏෳ͢ΔཁૉΛআ͢Δ ྻ͔ΒཁૉΛऔΓআ͘
w EFMFUF@JG SFKFDU TMJDF VOJRͷྫ ྻ͔ΒཁૉΛऔΓআ͘
w BTIJGU Bͷઌ಄ཁૉΛऔΓআ͖ औΓআ͍ͨΛฦ͢ w BQPQ ྻBͷඌཁૉΛऔΓআ͖ औΓআ͍ͨΛฦ͢ ྻ͔ΒཁૉΛऔΓআ͘
w ྻͷதͷཁૉΛผͷཁૉʹஔ͖͑ΔγϦʔζ w ͕͘ͷഁյతϝιουͰ͋Γ ͔ͭͳ͍ ͷ৽͘͠ΦϒδΣΫτΛ࡞ͬͯฦ͢ ྻͷཁૉΛஔ͖͑Δ
w BDPMMFDU\cJUFNcʜ^ BDPMMFDU BNBQ\cJUFNcʜ^ BNBQ ྻBͷ֤ཁૉJUFNʹϒϩοΫΛద༻͠ ͦͷ݁Ռ
ΛूΊͯ৽͍͠ྻΛ࡞Δ w ཁૉͦͷ··͕ͩ ֤ཁૉ͕ϒϩοΫʹΑͬͯ Ճ͞Εͨͷʹͳ͍ͬͯΔ ྻͷཁૉΛஔ͖͑Δ
w BpMM WBMVF BpMM WBMVF CFHJO BpMM WBMVF
CFHJO MFO BpMM WBMVF ON ྻBͷཁૉΛWBMVFʹஔ͖͑Δͭͯ͢ ͷཁૉΛWBMVFʹ ͭCFHJOҎ߱Λ ͭ CFHJO͔ΒMFOݸ ͭONͷൣғΛWBMVFʹஔ ͖͑Δ ྻͷཁૉΛஔ͖͑Δ
w BqBUUFO BqBUUFO ྻBΛฏୱԽ͢ΔฏୱԽͱ ೖΕࢠʹͳͬͨ ྻΛల։ͯͭ͠ͷେ͖ͳྻʹ͢Δ͜ͱ < <
> < < >>>< > ྻͷཁૉΛஔ͖͑Δ
w DPMMFDU NBQ pMMͷྫ ྻͷཁૉΛஔ͖͑Δ
w BSFWFSTF BSFWFSTF ྻBͷཁૉΛٯॱʹฒସ͑Δ w BTPSU BTPSU BTPSU\cJ Kcʜ^
BTPSU\cJ Kcʜ^ ྻBͷཁૉΛιʔτ͢ΔॱংϒϩοΫͰࢦఆ ͢Δ͜ͱ͕Մೳ ྻͷཁૉΛஔ͖͑Δ
w BTPSU@CZ\cJcʜ^ ྻBͷཁૉΛฒସ͑Δฒସ͑ͯ͢ͷཁ ૉʹ͍ͭͯϒϩοΫΛධՁͨ݁͠ՌΛιʔτͨ͠ ॱʹߦΘΕΔ ྻͷཁૉΛஔ͖͑Δ
w SFWFSTF TPSU TPSU@CZͷྫ ྻͷཁૉΛஔ͖͑Δ
ྻͷ֤ཁૉΛॲཧ͢Δ
w ΦʔιυοΫεͳΓ͔ͨ ϧʔϓΛ·Θͯ͠ ΠϯσοΫεΛ͍ͭͣͭΞΫηε͢Δ ܁Γฦ͠ͱΠϯσοΫεΛ͏
w FBDIϝιουΛ͑ൣғΛ໌ࣔతʹॻ͔ͣʹ ͯ͢ͷཁૉʹΞΫηεͰ͖Δ w FBDI@XJUI@JOEFYϝιουΛ͑ ཁૉͱͦͷ ΠϯσοΫεΛ྆ํऔಘͰ͖Δ FBDIϝιουΛར༻͢Δ
w ʮྻͷ֤ཁૉʹର͢Δॲཧ͕ऴΘͬͨ࣌ ͦͷ ྻࠓޙඞཁͳ͍ʯͱ͍ͬͨ߹ʹ QPQϝ ιουΛͬͯॲཧΛ͢Δͱ͍͏ํ๏͋Δ ഁյతͳϝιουͰ܁Γฦ͠Λߦ͏
w ࠓճհͨ͠ϝιουҎ֎ʹ ઌఔհͨ͠ NBQDPMMFDUͷΑ͏ͳΠςϨʔλ͕͋Δ w େମͷॲཧ༻ҙ͞Ε͍ͯΔ͕ ࣗͰ࡞Γ͍ͨ ͱࢥͬͨΒʮ͠ΐ͏͕ͳ͍ͳ͊ʯͱݴ͍ͳ͕Β ࡞Δͷ͍͍ͱࢥ͏ ྻͷ֤ཁૉΛॲཧ͢Δ
ྻͷཁૉ
w ྻͷཁૉ$ͱҧͬͯෳͷΦϒδΣΫτΛ ͭͷྻͰอ࣋͢Δ͜ͱ͕Ͱ͖Δ w ྻͷதʹྻΛೖΕΔʢೖΕࢠʹ͢Δʣࣄ Ͱ͖Δ ྻͷཁૉ
w ߦྻΛʮߦྻͷߦྻʢ࣍ݩྻʣʯΛͬͯද ݱ͍ͨ͠ w ҎԼͷΑ͏ͳྻΛྻΛͬͯ࡞͢Δʹ Ͳ͏ͨ͠Βྑ͍ͩΖ͏͔ʁ ؆୯ͳߦྻΛѻ͏ A = 0
@ 1 2 3 4 5 6 7 8 9 1 A
w ྻͷதʹྻΛೖΕࢠʹͯ͠ੜ͢Ε͍͍ w ߦྻNߦOྻͷཁૉΛऔΓग़͍ͨ͠߹ BSZ<N><O>ͱͯ͠ΞΫηε͢ΕऔΓग़͢͜ ͱ͕Ͱ͖Δ ؆୯ͳߦྻΛѻ͏
w ྻΦϒδΣΫτͷॳظԽʹҰҙ͕ඞཁ Ͱ͋Δ w ҎԼͷΑ͏ͳίʔυΛ࣮ߦͨ࣌͠ ͲͷΑ͏ʹද ࣔ͞ΕΔͩΖ͏͔ʁ ॳظԽʹҙ ཁૉͷྻΛ<
>ͰॳظԽ
w ྻBҎԼͷΑ͏ʹͳ͍ͬͯΔ w ͚͔ͭͩ͠มߋ͍ͯ͠ͳ͍ͷʹԿނ͜͏ͳͬͨ ͷ͔ ॳظԽʹҙ
w "SSBZOFX TJ[F WBM ͱ͍͏ํ๏ ཁૉTJ[F ͷྻΛWBMͰॳظԽͯ͠ฦ͢ͱ͍͏ͷ w ͜ͷࡍWBMෳ͞ΕΔͷͰͳ͘ ྻͷཁૉ
͕ͯͭ͢ͷWBMΛࢀর͢Δͱ͍͏༷ʹͳͬ ͍ͯΔ ॳظԽʹҙ ੜ͞Εͨ ྻ WBM
w ྻͷ֤ཁૉʹผʑͷΦϒδΣΫτΛೖͨ͠ ͍߹ ϒϩοΫΛࢦఆͯ͠ॳظԽ͢Δͱྑ͍ w ϒϩοΫมΛ࡞͢Δͱ ରԠ͢ΔཁૉͷΠϯ σοΫε TJ[FͳΒJEYʹʙ͕ೖΔʣ͕֨ ೲ͞ΕΔ
ॳظԽʹҙ
ෳͷྻʹ ฒߦͯ͠ΞΫηε͢Δ
w ҙͷͷྻ͕͋ͬͯ ͦΕΒͷಉ͡Πϯσο ΫεͷཁૉΛ·ͱΊ͍ͨʢ·ͱΊͯॲཧΛͨ͠ ͍ʣ w ͳʹΛݴ͍ͬͯΔ͔Θ͔Γʹ͍͘ͷͰίʔυΛ ࣔ͢ ෳͷྻʹฒߦͯ͠ΞΫηε
w ͜ͷΑ͏ͳॲཧ[JQϝιουΛ͏ͱ؆ܿʹه ड़͢Δ͜ͱ͕Ͱ͖Δ w [JQϝιου ࣗͱҾʹͨ͠ྻͷ֤ཁ ૉ͔ΒͳΔྻͷྻΛੜͯ͠ฦ͢ ෳͷྻʹฒߦͯ͠ΞΫηε
w [JQϝιουʹϒϩοΫΛ͞ͳ͚Ε࣍ͷΑ͏ ͳڍಈʹͳΔ ෳͷྻʹฒߦͯ͠ΞΫηε ֤ྻͷ൪ͷཁૉ
ࠓճͷ·ͱΊ
·ͱΊ w ྻBSZ<JOEFY>͚ͩͰͳ͘ BSZ<ON>BSZ<Oʜ N> BSZ<O MFO>ͱ͍ͬͨΞΫηεΛ͢Δ͜ͱ͕Ͱ ͖Δ w ൣғΛࢦఆͯ͠Ұׅஔ͖͕͑ՄೳͰ͋Δ
w ΩϡʔελοΫͷΑ͏ʹѻ͏͜ͱ͕Ͱ͖Δ w ͕͍ͨϝιουഁյతͰ͋Δʢͯ͢ͷഁ յతϝιουʹ͕͍͍ͭͯΔΘ͚Ͱͳ͍ʣ