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 第11章 / Ruby Practice 11
Search
muttan
November 22, 2016
Programming
0
140
はじめてのRuby 第11章 / Ruby Practice 11
muttan
November 22, 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
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
930
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.3k
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
3
580
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
200
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
470
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
170
TypeScriptでDXを上げろ! Hono編
yusukebe
3
770
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
760
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
260
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
11
1.3k
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
110
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
340
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
750
The World Runs on Bad Software
bkeepers
PRO
70
11k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Statistics for Hackers
jakevdp
799
220k
The Invisible Side of Design
smashingmag
301
51k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Cult of Friendly URLs
andyhume
79
6.5k
GitHub's CSS Performance
jonrohan
1031
460k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
ͨͷ͍͠3VCZୈষ
ͨͷ͍͠ ʋ ?@?P ϊ
3VCZ
ୈճ
ୈষϒϩοΫ
ϒϩοΫͱ
w ϒϩοΫͱ ϝιουݺͼग़͠ͷࡍʹҾͱҰ ॹʹ͢͜ͱ͕Ͱ͖ΔॲཧͷմʢFBDIUJNFT ϝιουΛར༻͢Δࡍʹͨ͠ͷʣ w ҎԼͷྫͰճϒϩοΫ͕࣮ߦ͞ΕΔʢEP FOEͷ·Ͱͷ෦͕ϒϩοΫʣ ϒϩοΫͱ
w ͜ͷΑ͏ͳݺͼग़͠ํΛ ϒϩοΫ͖ݺͼग़͠ PSϒϩοΫ͖ϝιουݺͼग़͠ͱݺͿʢ෮शʣ ϒϩοΫͱʢ෮शʣ ΦϒδΣΫτϝιου໊ Ҿ ʜ EPcม ม
ʜc ॲཧ FOE ΦϒδΣΫτϝιου໊ Ҿ ʜ \cม ม ʜc ॲཧ ^ ϒϩοΫม
ϒϩοΫͱ
w ʢࠓݱࡏʣ࠷ۙͳϒϩοΫͷ͍Έͪͱ͠ ͯ ܁Γฦ͠ʹ༻͢Δͷ͕͋Δ w ϒϩοΫΛड͚औΔϝιουͷ͏ͪ ܁Γฦ͠Λ ߦ͏ͷΛΠςϨʔλͱ͍͏ ܁Γฦ͠
w ྫʣྻͷ֤ཁૉΛେจࣈʹͯ͠ग़ྗ͢Δ w ྫʣ)BTIͷ֤ཁૉΛऔΓग़͠ ߹ܭΛٻΊΔ
)BTI<LFZ WBMVF>ͱ͍͏ྻ͕͞ΕΔ ܁Γฦ͠ 1IBTI@FBDISC࣮ߦ
w ྫͷϓϩάϥϜ ଟॏೖͷϧʔϧΛద༻͢ Δͱ ϒϩοΫมͷड͚औΓํΛҎԼͷΑ͏ʹ ͢Δ͜ͱͰ͖Δ w
JUFN<LFZ WBMVF> LFZ WBMVFJUFNͱಉ͡ϧʔϧ ܁Γฦ͠ cJUFNcˠcLFZ WBMVFc 1IBTI@FBDISC࣮ߦ
w ΠςϨʔλҎ֎ʹ ޙॲཧΛ࣮֬ʹ࣮ߦͤ͞Δ ͱ͍͍ͬͨํΛ͢Δ͜ͱͰ͖Δ ఆܕͷॲཧΛӅ͢ DMPTF͕ͳ͍
w 'JMFPQFOϝιουʹϒϩοΫΛ͢ͱ ϑΝΠϧ ΦϒδΣΫτΛϒϩοΫมͱͯ͠Ұ͚ͩϒϩο ΫΛىಈ͢Δ w ໌ࣔతʹDMPTFΛॻ͔ͳͯ͘෦Ͱดͯ͘͡Ε ͍ͯΔʢΤϥʔ͕ى࣮ͬͯ֬͜ʹด͡Δʣ ఆܕͷॲཧΛӅ͢ DMPTF͕ͳ͍
1pMF@PQFOSC࣮ߦ
w pMF@PQFOSCҎԼͷΑ͏ͳॲཧ͕෦తʹߦΘ Ε͍ͯΔ͜ͱʹͳΔ ఆܕͷॲཧΛӅ͢
w 'JMFPQFOϝιουʹϒϩοΫΛ͢ͱ ϑΝΠϧ Λѻ͏্Ͱ࣮֬ʹඞཁʹͳΔॲཧʢϑΝΠϧΛ ด͡Δ ΤϥʔॲཧʣΛॻ͔ͣͱߦ͏ w ܾ·Γ͖ͬͨॲཧϝιουʹҕͶ Ϣʔβʔଆ Ͱඞཁͳॲཧ͚ͩهड़͢Δͱ(00%
ఆܕͷॲཧΛӅ͢
w ཁૉͷฒସ͑Λ͢ΔTPSU TPSU@CZϝιουΛ ྫʹߟ͑Δ w ιʔτͷج४༷ʑ͋ΔͨΊ ͦͷج४͝ͱʹιʔ τϝιουΛࢦఆ͍ͯͯ͠ϝιου͕ଟ͢ ͗Δ w
ͦͷͨΊ"SSBZTPSU ൺֱج४ΛϒϩοΫͰ ͢͜ͱͰ্هͷʹରԠ͍ͯ͠Δ ܭࢉͷҰ෦Λࠩ͠ସ͑ʢιʔτॱͷࢦఆʣ
w Ҿແ͠Ͱ"SSBZTPSU ΛݺΜͩ߹ ԋࢉࢠͰൺֱ ͨ͠ॱʹͳΔ
w จࣈྻͷ߹ࣙॻॱʹͳΔ w େจࣈখจࣈେจࣈ͕༏ઌ͞ΕΔ ܭࢉͷҰ෦Λࠩ͠ସ͑ʢιʔτॱͷࢦఆʣ ݅ ݁Ռ BC ʢΑΓখ͍͞ʣ BC BC ʢΑΓେ͖͍ʣ
w "SSBZTPSUͷྫʢϒϩοΫͳ͠ʣ w "SSBZTPSUͷྫʢจࣈͰঢॱιʔτʣ ϒϩοΫ࠷ޙͷ͕࣮ࣜߦ݁ՌͱͳΔͷͰ BC ͷͱ͖CBͰൺֱ͠ͳ͚ΕͳΒͳ͍
ܭࢉͷҰ෦Λࠩ͠ସ͑ʢιʔτॱͷࢦఆʣ
w "SSBZTPSUͷྫ w ͭͷ݁ՌʢBSSBZTPSUͷ߹ʣ <lz lz lz lz
lz>ͱͳΔ w ͭͷ݁ՌʢϒϩοΫΛͨ͠߹ʣ<lz lz lz lz lz>ͱͳΔ ܭࢉͷҰ෦Λࠩ͠ସ͑ʢιʔτॱͷࢦఆʣ
w ޮతʹιʔτ͍ͨ͠ ܭࢉͷҰ෦Λࠩ͠ସ͑ ϒϩοΫ͕ճݺΕ͍ͯͯ ݺ ͼग़͠ͰճMFOHUIϝιουΛ ݺͿͷͰਏ͍ 1TPSU@DPNQ@DPVOUSC࣮ߦ
w ޮతʹιʔτ͍ͨ͠ w ͚ͩMFOHUIϝιουΛݺͿΑ͏ʹ͍ͨ͠ ܭࢉͷҰ෦Λࠩ͠ସ͑
ϒϩοΫ͕ճݺΕ͍ͯͯ ݺ ͼग़͠ͰճMFOHUIϝιουΛ ݺͿͷͰਏ͍ 1TPSU@DPNQ@DPVOUSC࣮ߦ
w ͦ͜ͰTPSU@CZϝιουΛར༻͢Δ w JUFNMFOHUIͷ෦ʹؔͯ͠ 0 O
ʹͳΔͷͰ ޮ͕ྑ͍ʢ͚ͩࢀর͢Δ͜ͱʹͳΔʣ ܭࢉͷҰ෦Λࠩ͠ସ͑
ϒϩοΫ͖ϝιουΛ࡞Δ
w ZJFMEͱ͍͏໋ྩΛݺͿ͜ͱͰ ϝιουʹ༩͑Β ΕͨϒϩοΫΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ ϒϩοΫΛ࣮ߦ͢Δ 1NZMPPQSC࣮ߦ OVNͱͳͬͨΒ ແݶϧʔϓ͔Βൈ͚Δ
w ϒϩοΫมΛ͢͜ͱͰॲཧΛมԽͤ͞ Λ ฦ͢ϝιουΛ࣮ͯ͠ΈΔ w GSPN͔ΒUP·ͰͷΛॱʹऔΓग़͠ ԿΒ ͔ͷՃΛߦ͔ͬͯΒ߹ܭ͢ΔϝιουΛ࡞ ͯ͠ΈΔ ϒϩοΫมΛ͢
݁ՌΛಘΔ
ϒϩοΫมΛ͢ ݁ՌΛಘΔ O Oͷೋ CMPDL͕༩͑ΒΕ͍ͯͨΒ 1UPUBMSC࣮ߦ
w ZJFMEʹҾΛ͢ͱ ͦͷ͕ϒϩοΫมʹ֨ ೲ͞ΕΔ w Ͱ ෳͷϒϩοΫมΛͨ͠߹Ͳ͏ͳΔ
ͷ͔ ϒϩοΫมΛ͢ ݁ՌΛಘΔ Oͷೋ͕ฦΔ
ϒϩοΫมΛ͢ ݁ՌΛಘΔ 1CMPDL@BSHT@UFTUSC࣮ߦ ϒϩοΫมΛcBcͰड͚औΔ <OJM> <> <> ϒϩοΫมΛcB C DcͰड͚औΔ
<OJM OJM OJM> < OJM OJM> < > ϒϩοΫมΛc BcͰड͚औΔ <> <> < >
w ZJFMEͷҾͷͱϒϩοΫมͷ͕ҧ͍ͬͯ ͯݺͼग़͢͜ͱ͕Ͱ͖Δ w ϒϩοΫมͷ΄͏͕ଟ͍߹OJMͱͳΔ w ϒϩοΫม͕Γͳ͍߹ Λड͚औΔ͜ ͱ͕Ͱ͖ͳ͍ ͱ͕ड͚औΕ͍ͯͳ͍ʣ
ϒϩοΫมΛ͢ ݁ՌΛಘΔ 1CMPDL@BSHT@UFTUSC࣮ߦ ϒϩοΫมΛcBcͰड͚औΔ <OJM>ZJFME <>ZJFME <>ZJFME
w มͷܗࣜͰड͚औΔͱ ϒϩοΫมΛ·ͱ Ίͯྻͱͯ͠ड͚औΔ w ϝιουఆٛͷࡍʹͰ͖ͯͨ Ҿͷ͕ෆఆͷ ߹ͱࣅͨಈ͖ ϒϩοΫมΛ͢ ݁ՌΛಘΔ
ϒϩοΫมΛc BcͰड͚औΔ <> <> < >
w ͜͜ͰͰ͢ w ͜ͷͱ͖ͳΜͱग़ྗ͞ΕΔͰ͠ΐ͏͔ʁ
ϒϩοΫͷ࣮ߦΛ੍ޚ͢Δ
w ͑OJM w ϒϩοΫͰCSFBL͕ൃੜͨ͠߹ ϝιουݺ ͼग़͠ͷ·Ͱͬͯ͠·͏ͨΊ w Կ͔Λฦ͍ͨ͠ͱ͖ lCSFBLzͷΑ͏ʹҾ Λ͢ͱྑ͍
ϒϩοΫͷ࣮ߦΛ੍ޚ͢Δ
w OFYUಉ༷ʹࢦఆͨ͠Λฦ͢ࣄ͕Ͱ͖Δ w OFYUͷ߹ ϒϩοΫͷͦͷճͷ࣮ߦΛதஅ࣍͠ ͷॲཧʹҠΔʢCSFBLͷΑ͏ʹऴΘΒͳ͍ʣ w OFYUʹԿࢦఆ͠ͳ͚ΕOJM ࢦఆͨ͠߹ͦ ͷ͕ฦΔ
ϒϩοΫͷ࣮ߦΛ੍ޚ͢Δ
w 1SPDOFXϝιουʹϒϩοΫΛ͢͜ͱͰ ϒ ϩοΫͷΦϒδΣΫτΛ࡞͢Δ͜ͱ͕Ͱ͖Δ w DBMMϝιουͰݺͼग़͢ͱ
ϒϩοΫʹॻ͔Εͨ ॲཧΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ ϒϩοΫΛΦϒδΣΫτͱͯ͠ड͚औΔ 1QSPDSC࣮ߦ
w ϝιουʹϒϩοΫΛ࣌͢ ໌ࣔతʹϒϩοΫ Λड͚औΔมΛࢦఆ͢Δ͜ͱ͕Ͱ͖Δ ϒϩοΫΛΦϒδΣΫτͱͯ͠ड͚औΔ ม໊Ͱड͚औΔ 1QSPDSC࣮ߦ
w Ҿ໊ͱ͢Δͱ ࣗಈతʹ1SPDΦϒδΣΫτͱ ͯ͠͞ΕΔͷͰ ݺͼग़࣌͢ʮҾ໊DBMMʯ ͱ͢Δ ϒϩοΫΛΦϒδΣΫτͱͯ͠ड͚औΔ 1SPDΦϒδΣΫτʹͳΔ DBMMͰݺͼग़͢
w ม໊ͷલʹΛ͚ͭͯड͚औΔҾͷ͜ͱΛ 1SPDมͱ͍͏ w ϒϩοΫΛ͞ͳ͍߹1SPDมOJMʹͳΔͷ Ͱ ϒϩοΫ͕Ҿ͖͞Ε͍ͯΔ͔Ͳ͏͔ม ͕OJM͔ͦ͏Ͱͳ͍͔Ͱஅ͢ΕΑ͍ w 1SPDҾͯ͢ͷҾͷதͰҰ൪࠷ޙʹͳͬ
ͯͳ͚ΕͳΒͳ͍ ϒϩοΫΛΦϒδΣΫτͱͯ͠ड͚औΔ
w 1SPDΦϒδΣΫτͱͯ͠ड͚औΔ͜ͱͰ ͖ͳ λΠϛϯάͰݺͼग़͢͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ w ϝιουͷݺͼग़͠ҾΛʮ1SPDΦϒδΣΫ τʯͷܗࣜͰ͢͜ͱͰ ଞͷϝιουʹ1SPD ΦϒδΣΫτΛ͢͜ͱ͕Ͱ͖Δ ϒϩοΫΛΦϒδΣΫτͱͯ͠ड͚औΔ
w ྫʣ1SPDΦϒδΣΫτΛதܧ͢Δ ϒϩοΫΛΦϒδΣΫτͱͯ͠ड͚औΔ 1DBMM@FBDISC࣮ߦ
ϩʔΧϧมͱϒϩοΫม
w ֎Ͱ࡞ΒΕͨϩʔΧϧมΛϒϩοΫ͔Βࢀ র͢Δ͜ͱ͕Մೳ w ϒϩοΫมͱͯ͠ΘΕΔม ϒϩοΫͷ ֎ଆͷͷͱผͱͯ͠ѻΘΕΔ ϩʔΧϧมͱϒϩοΫม 1MPDBM@BOE@CMPDLSC࣮ߦ Z֎ଆͷϩʔΧϧ
มΛࢀর
w ϒϩοΫͰఆٛ͞Εͨม ϒϩοΫͷ֎Ͱ ࢀর͢Δ͜ͱͰ͖ͳ͍ ϩʔΧϧมͱϒϩοΫม Z͕ϒϩοΫͷ֎Ͱએݴ͞Ε͍ͯͳ͍ ͨΊ/BNF&SSPSͱͳΔ
w ϒϩοΫมҎ֎ʹ ϒϩοΫͰͷΈ༗ޮͳม Λ࡞Δ͜ͱ͕Ͱ͖Δ w ϒϩοΫมͷ͋ͱʹηϛίϩϯzzͰ۠ͬͯ એݴ͢Δ ϩʔΧϧมͱϒϩοΫม 1MPDBM@BOE@CMPDLSC࣮ߦ ϒϩοΫϩʔΧϧม
ࠓճͷ ·ͱΊ
·ͱΊ w ϒϩοΫͱ ϝιουݺͼग़͠ͷࡍʹҾͱҰ ॹʹ͢͜ͱ͕Ͱ͖Δॲཧͷմ w ܁Γฦ͠ ఆܕͷॲཧΛӅ͢ ܭࢉͷҰ෦Λࠩ͠ ସ͑Δͱ͍ͬͨͷʹ͏͜ͱ͕Ͱ͖Δ
w 1SPDOFXϝιουʹϒϩοΫΛ͢͜ͱͰ ϒ ϩοΫͷΦϒδΣΫτΛ࡞͢Δ͜ͱ͕Ͱ͖Δ w είʔϓʹؾΛ͚ͭΑ͏