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
79
はじめての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
86
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
130
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
180
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
220
Other Decks in Programming
See All in Programming
Milestoner
bkuhlmann
1
410
ONE WEDGE_company_guide
1wedge_one
0
470
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
300
2 週間で Twitter Bot を作ってみた
contour_gara
0
310
雑に思考を整理する技術と効能
konifar
58
29k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
680
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
270
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
260
Rethinking UI building strategies @ SFI 2024
letelete
0
270
Java 22 Overview
kishida
1
180
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Designing the Hi-DPI Web
ddemaree
276
33k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Building Adaptive Systems
keathley
31
1.9k
Navigating Team Friction
lara
178
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Side Projects
sachag
451
41k
Designing with Data
zakiwarfel
96
4.8k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
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 ͕͍ͨϝιουഁյతͰ͋Δʢͯ͢ͷഁ յతϝιουʹ͕͍͍ͭͯΔΘ͚Ͱͳ͍ʣ