Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
今あえて試行錯誤しながら"車輪の再発明"をする意味 / jtf2016-reinventing...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
rrreeeyyy
July 25, 2016
Programming
5.1k
26
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今あえて試行錯誤しながら"車輪の再発明"をする意味 / jtf2016-reinventing-the-wheel
#jtf2016 (
http://2016.techfesta.jp/
) にて『今あえて試行錯誤しながら"車輪の再発明"をする意味』というタイトルで発表しました。
rrreeeyyy
July 25, 2016
More Decks by rrreeeyyy
See All by rrreeeyyy
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1.3k
Reliability in the Age of AI: Engineering for AI Velocity
rrreeeyyy
0
230
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
290
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
3
2.6k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
350
An Efficient Incident Response Training with AI / SRE NEXT 2024 Sponsor Session
rrreeeyyy
1
6.3k
カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy
rrreeeyyy
4
2.7k
信頼性の育て方 / mackerel-meetup-15
rrreeeyyy
10
3.1k
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
9.1k
Other Decks in Programming
See All in Programming
Java 27新機能 / Java 27 new features
kishida
2
220
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Are APIs Still Relevant in the AI Era?
soyuka
0
450
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
AWSに止められる覚悟してますか?
morizo_1984
2
520
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.2k
ジョジョの世界をXRで再現する
mofurune
0
150
気持ちぃ〜角丸 Squircle
ryu1013
0
220
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
570
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
560
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
RailsConf 2023
tenderlove
30
1.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
740
Chasing Engaging Ingredients in Design
codingconduct
0
350
Transcript
ࠓ͋͑ͯࢼߦࡨޡ͠ͳ͕Β "ंྠͷ࠶ൃ໌"Λ͢Δҙຯ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota
( @rrreeeyyy ) / Topotal 1
July
Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 2
ंྠͷ࠶ൃ໌ (reinven(ng the wheel) ंྠΛࡐʹͨ͠׳༻۟Ͱ͋Γɺ ੈքதͰΘΕ͍ͯΔɻ ͘ड͚ೖΕΒΕཱ֬͞Ε͍ͯΔ ٕज़ղܾ๏ΛΒͣʹ ʢ·ͨҙਤతʹແࢹͯ͠ʣɺ ಉ༷ͷͷΛ࠶ͼҰ͔Β࡞Δ͜ͱ
— h$ps://ja.wikipedia.org/wiki/ंྠͷ࠶ൃ໌ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 3
ंྠͷ࠶ൃ໌͖ͳਓʁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota (
@rrreeeyyy ) / Topotal 4
ंྠͷ࠶ൃ໌ݏ͍ͳਓʁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota (
@rrreeeyyy ) / Topotal 5
ͳ͍ͥ·ंྠͷ࠶ൃ໌ͳͷ͔ʁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota (
@rrreeeyyy ) / Topotal 6
എܠ 1. ΠϯϑϥΤϯδχΞϓϩτίϧɾϨΠϠͷࣝΛ࣋ͭඞཁ͕͋Δ • Infrastructure Complexity • Ճ͑ͯɺ৽͍֓͠೦ɾϓϩμΫτͳͲ͕ొ͢Δ 2. ΠϯϑϥΤϯδχΞίʔυ͕ॻ͚Δඞཁ͕͋Δ
• Infrastructure as code • ΠϯϑϥͷίʔυԽ • Site Reliability Engineer • ϓϩμΫτࣗମͷίʔυϨϏϡʔͳͲͱ͍ͯ͠Δ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 7
July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy
) / Topotal 8
ͳ͍ͥ·ंྠͷ࠶ൃ໌ͳͷ͔ʁ 1. ϓϩτίϧɾϨΠϠͷཧղ͕ਂ·Δ • → ίʔυԽɾෳࡶԽ͕ਐΉࡢࠓͰඇৗʹྑ͍ษڧ๏ͱͳΔ 2. ίʔσΟϯάͷྑ͍࿅शʹͳΔ • →
ιʔεɾ༷ΛಡΈखΛಈ͔࣮ͯ͠·Ͱ͢ΔͷͰඇৗʹ࿅शʹͳΔ 3. දతϓϩμΫτΛ࡞ΕΔՄೳੑ͕͋Δ • → ࠶ൃ໌ͨ͠ͷʹΞΠσΞΛՃ͑ΔࣄͰൃ໌ʹͳΓ͑Δ → ෳࡶԽɾίʔυԽ͕ਐΉࡢࠓɺΠϯϑϥΤϯδχΞʹΦεεϝͷษڧ๏ͩͱߟ͑Δ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 9
Shut the fuck up and write some code? 1 1
h$ps:/ /speakerdeck.com/mizzy/serverspec-at-j92014?slide=75 July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 10
... but How? July Tech Festa 2016 2016/07/24 - Yoshikawa
Ryota ( @rrreeeyyy ) / Topotal 11
Lv1. ࣸܦ Lv2. ंྠͷ࠶ൃ໌ Lv3. දతϓϩμΫτ July Tech Festa 2016
2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 12
Lv1. ࣸܦ • ଟ͘ͷਓ͔͜͜Βελʔτ • ৽͘͠ϓϩάϥϛϯάΛ࢝ΊΔͱ͖ • ৽͍͠ϓϩάϥϛϯάݴޠΛ֮͑Δͱ͖ • ࣸܦ͋ΔҙຯͰंྠͷ࠶ൃ໌
• ํ๏ɾॻ੶ͱʹॆ࣮͍ͯͯ͠ଟ͘ͷਓ࣮ફͰ͖Δ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 13
ࣸܦͷͦͷޙ... • ࡞Γ͍ͨͷ͕͋ΔʁૉΒ͍͠ΞΠσΞ͕͋Δʁ • → ͥͻ࡞Γ·͠ΐ͏ʂ • → Ͱଟ͘ͷਓ͜͏Ͱͳ͍ •
Α͘ฉ͘ݴ༿ • → ʮԿ࡞Γ͍ͨͷ͕ͳ͍...ʯ • → ंྠͷ࠶ൃ໌Λࢼͯ͠ΈΔ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 14
Lv2. ंྠͷ࠶ൃ໌ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota
( @rrreeeyyy ) / Topotal 15
Lv2. ंྠͷ࠶ൃ໌ • ϓϩάϥϛϯάͷΓํ͕Կͱͳ͔͖ͬͯͨ͘ࠒ͔Β • ࣗͷษڧ͍ͨ͠ϓϩτίϧɾΞϧΰϦζϜΛ࣮͢Δ • ϓϩτίϧɾΞϧΰϦζϜͷษڧʹͳΓҰੴೋௗ • ࣗͷ͍ͬͯΔϓϩμΫτʹࣅ͍ͯΔͷΛ࡞ͬͯΈΔ
• Ͳ͏͍͏࣮ͳͷ͔ʁͲ͕͜ϘτϧωοΫʹͳΓͦ͏ͳͷ͔ʁ • ͳΜͱͳ͘૾Ͱ͖ΔΑ͏ʹͳΔ • ࣮ࡍʹݟͯΈΔͱ͍͢͝ίʔυ͕ॻ͍ͯ͋ͬͯษڧʹͳΔ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 16
EX1. HTTP αʔόͷࣗ࡞ • HTTP ϓϩτίϧΛΔ TCP αʔόΛࣗ࡞ͯ͠ΈΔ • جຊͰ͋Δ
HTTP ϓϩτίϧΛ͔ͬ͠ΓཧղͰ͖Δ • HTTP ͱͲ͏͍͏ϓϩτίϧͳͷ͔ʁ • Ͳ͏͍͏ϔομ͕͋ΓͲ͏͍͏͕͋Δͷ͔ʁ • Apache, Nginx ͷ HTTP αʔόͷجຊతͳಈ͖͔ΔΑ͏ʹͳΔ • Apache ͱ Nginx ͰͲ͏͍͏ҧ͍͕͋ΓԿʹ͕ࠩͰΔͷ͔ʁͳͲ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 17
EX1. HTTP αʔόͷࣗ࡞ • ͍͔͠ͱࢥ͍͖ಈ͔͚ͩ͢ͳΒҙ֎ͱ؆୯ • ݴޠʹΑΔ͕ 100 ߦఔ͋Εϒϥβ͔ΒݟΕΔαʔό͕࡞ΕΔ •
࣮͢Δݴޠ࠷ॳ׳ΕͯΔݴޠɾษڧ͍ͨ͠ݴޠͰྑ͍ • ͔ͬ͠Γ࣮͠Α͏ͱࢥ͏ͱߋʹ৭ʑͳࣄֶ͕Δ • I/O (C10K ): select(), epoll() ͳͲʹ͍ͭͯͷࣝ • ֤छϔομͷৄࡉͳಈ͖: Keep-Alive, Range, Cache-Control ... • CGI ಈ࡞ͷΈ: CGI ͲͷΑ͏ʹͯ͠ಈ࡞͍ͯ͠Δͷ͔ʁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 18
EX1. HTTP αʔόͷࣗ࡞ • HTTP ͘ΘΕ͍ͯΔͷͰຊʹਖ਼͘͠ཧղͰ͖͍ͯΔͱศར • ҙ֎ͱͲ͏͍͏ϓϩτίϧɾ࣮ʹͳ͍ͬͯΔͷ͔͔Βͳ͍ਓଟ͍ • ࣗͰ࡞ͬͨ
HTTP αʔόͰϒϥβ͔Β HTML ͕ݟΕΔͱײಈ • ΠϯϑϥΤϯδχΞ͚ͩͰͳ͘ΞϓϦΤϯδχΞʹΦεεϝ • ύϑΥʔϚϯεΛҙࣝͨ͠ίʔυɾHTTP ͷσόοάͳͲʹඇৗʹཱͭ • ࠷ۙຊ͕ग़͍ͯͨͷͰࢀߟʹ͢Δͱྑͦ͞͏ • ʰWebαʔόΛ࡞Γͳ͕ΒֶͿ جૅ͔ΒͷWebΞϓϦέʔγϣϯ։ൃೖʱ 2 2 h$p:/ /d.hatena.ne.jp/kmaebashi/20160605/p1 July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 19
EX2. Linux ίϯςφΤϯδϯͷࣗ࡞ • Linux ͷίϯςφΤϯδϯΛࣗ࡞ͯ͠ΈΔ • Docker ͳͲͰίϯςφٕज़͕ҰൠԽ͖ͯͨ͠ •
Docker ඇৗʹڊେͳͷͰಈ͖͕͔ΓͮΒ͍͜ͱଟ͍ • ࣮͢Δ͜ͱͰதͰͲͷΑ͏ͳಈ͖ʹͳ͍ͬͯΔ͔ཧղͰ͖Δ • cgroup chroot, veth ͷΑ͏ͳٕज़ཧղͰ͖Δ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 20
EX2. Linux ίϯςφΤϯδϯͷࣗ࡞ • ͜Ε͍͔͠ͱࢥ͍͖ಈ͔͚ͩ͢ͳΒҙ֎ͱ؆୯ • h#ps:/ /github.com/kazuho/jailing 200
ߦఔͷ Perl εΫϦϓτ • Linux ίϯςφࣗମେମ 10 લ͙Β͍͔Β͋Δ • ࣮ͯ͠ΈΔͱ Docker Կ͕ಛผͩͬͨͷ͔͔Δ • ٯʹ Docker ԿΛ٘ਜ਼ʹͨ͠ͷ͔͔Δ • ίϯςφΤϯδϯͷࣗ࡞Λ͍ͯ͠Δਓ݁ߏ͍ΔͷͰࢀߟʹ͢Δͱྑͦ͞͏ • h#ps:/ /github.com/yuuki/droot h#ps:/ /github.com/haconiwa ͳͲ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 21
ͦͷଞͷྫ • ݴޠॲཧܥΛ࡞ͬͯΈΔ • ϓϩϏδϣχϯάπʔϧΛ࡞ͬͯΈΔ • ϩάΠϯೝূαʔόΛ࡞ͬͯΈΔ • ࢹαʔόΛ࡞ͬͯΈΔ •
ࢄγεςϜͷΞϧΰϦζϜΛ࣮ͯ͠ΈΔ • ... July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 22
ंྠͷ࠶ൃ໌ͰಘΒΕΔ • ϓϩτίϧɾϨΠϠͳͲͷීวతͰ͑͘Δٕज़ΛޮΑֶ͘Δ • ࣅͨͷΛ࡞ΔͷͰݩͷιʔείʔυΛඞવతʹಡΉ͜ͱ͕૿͑Δ • ଞऀͷιʔείʔυΛେྔʹಡΉ͜ͱϓϩάϥϛϯά্ୡͷํ๏ͷҰͭ • Apache, Nginx,
Docker(libcontainer) ͷιʔεʹ׳ΕΔࣄ͕ग़དྷΔ • Կ͔τϥϒϧ͕͋ͬͨ࣌ʹιʔείʔυϨϕϧͰಈ࡞Λ͑Δ • RFC ͳͲͷ͔ͬ͠Γ༷ͨ͠ΛݩʹιʔεΛॻ͘ܦݧ͕ग़དྷΔ • ৽͍༷͕͠ެ։͞Εͨ࣌ͳͲʹ RFC ΛಡΈղ͘࿅शʹͳΔ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 23
Lv3: දతϓϩμΫτ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota
( @rrreeeyyy ) / Topotal 24
දతϓϩμΫτ 3 ʮΤϯδχΞͰ͋Ε୭Ͱͦ͏Ͱ͋ΔΑ͏ʹʯͱ͍͑Δ͜ͱͳͷ͔Ͳ͏͔Θ͔ Βͳ͍͕ɺʮ◦◦͞Μͱ͍͑□□Ͱ༗໊ʯͱ͍ΘΕΔΑ͏ͳɺ͜͜Ͱ͍͏ʮදతϓ ϩμΫτʯΛ࣋ͭ͜ͱɺগͳ͘ͱʹͱͬͯಌΕΔͱ͜Ζͷେ͖͍ͷͩɻ ʮදతϓϩμΫτʯͱݺΕΔʹͲ͏͍͕ͬͨ݅ඞཁͳͷͩΖ͏͔ɻҎԼͷ4 ͙ͭΒ͍͕͙͢ʹࢥ͍ු͔ͿɻͦΕͳΓͷنͷͷɺ͘ΘΕΔͷɺٕज़త ৽نੑͷ͋Δͷɺ࡞ऀݸਓΛڧ͘ىͤ͞Δͷɻ্ه4ͭΛඞͣͯ͢͠ຬͨ ͍ͯ͠Δඞཁͳ͍͔͠Εͳ͍͕ɺຬ͍ͨͯ͠Δํ͕ΑΓʮදੑʯ͕ߴ͔Ζ͏ ͜ͱ͕૾Ͱ͖Δɻ
3 h$p:/ /kentaro.tumblr.com/post/66674445339/දతϓϩμΫτʹ͍ͭͯ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 25
ंྠͷ࠶ൃ໌ + ΞΠσΞ = දతϓϩμΫτ? • ंྠͷ࠶ൃ໌ࣗͷΞΠσΞΛՃ͑ΔࣄͰൃ໌ͨΓ͑Δ • ࡞ͬͨιϑτΣΞʹݩͷιϑτΣΞͱͷࠩΛՃ͑Δ •
ex. طଘͷιϑτΣΞͷෆຬΛղܾ͍ͯ͠Δ • ex. σϓϩΠӡ༻͕طଘͷιϑτΣΞΑΓ؆୯ʹͳ͍ͬͯΔ • Ճ͑Δ͖ΞΠσΞ࡞͍ͬͯΔ͏ͪʹݟ͑ͯ͘Δ͜ͱଟ͍ • ंྠͷ࠶ൃ໌Λ͍ͯ͠Δ͏ͪʹରυϝΠϯͷਂ͍͕ࣝಘΒΕΔͨΊ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 26
ंྠͷ࠶ൃ໌ + ΞΠσΞͷྫ • நԽ͗ͣ͢͠ಛఆͷنɾυϝΠϯΛରʹಛԽͯ͠ΈΔ • ࣗͷ৫ͷنʹඞཁͳ͚ͩநԽ͢ΔΑ͏ʹ͢Δ • ॻ͖͢ͳΒ "ͲͷݴޠͰॻ͖͢ͷ͔ʁ"
݁ߏॏཁ • ݴޠͷಛੑ͝ͱʹ͍ͯΔɾ͍͍ͯͳ͍͕͋Δ • ϫϯόΠφϦͰσϓϩΠ͍ͨ͠ʁDSL Λ࡞Γ͍ͨʁ • ϢʔβΠϯλϑΣʔεͷߟ͑ํ݁ߏॏཁ • Ͳ͏͍͏ઃఆϑΝΠϧʹ͢Δ͔ʁఆӡ༻ϑϩʔͲ͏͢Δ͔ʁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 27
ंྠͷ࠶ൃ໌ + ΞΠσΞͷྫ • Linux ίϯςφΤϯδϯෳࡶ͗͢Δ͜ͱ͕ଟ͍ • ࣗͷ৫ͷنʹ࠷దԽͨ͠෦ͷΈΛ࣮͢Δํ 4 •
طଘͷπʔϧΛ Go ݴޠͰॻ͖͢ • ϫϯόΠφϦͰಈ͘ͷͰΫϥΠΞϯτπʔϧͳΒಋೖোน͕Լ͕Δ • ฒྻॲཧ͕࣮͍͢͠ͷͰ໘ͰͷརಘΒΕΔՄೳੑ͕͋Δ • ઃఆϑΝΠϧࣗಈԽ͕͍͠πʔϧΛ CRuby/mruby ͳͲͷݴޠͰ࣮ͯ͠ΈΔ • DSL ࡞Γ͘͢ Web ΤϯδχΞΑ͘͏ݴޠͳͷͰड͚ೖΕΒΕ͘͢ͳΔ 4 h$p:/ /blog.yuuk.io/entry/diy-container July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 28
ൃ໌Ξϯνύλʔϯ(ݏΘΕΔंྠͷ࠶ൃ໌)ͷྫ • طଘͷͷྼԽΛ࡞ͬͯϓϩμΫγϣϯʹೖΕͯ͠·͏ • ϓϩμΫγϣϯʹೖΕΔͳΒطଘͷͱͷࠩԿ͔ʁΛͪΌΜͱҙࣝ͢Δ • ͪΌΜͱઆ໌ग़དྷΔΑ͏ʹ͓ͯ͘͠ • υΩϡϝϯτͳͲͰͪΌΜͱ͢Α͏ʹ͓ͯ͘͠ •
طଘͷͷमਖ਼ͰेࡁΉͷʹ৽͍͠Λ࡞ͬͯಋೖͯ͠͠·͏ • ಋೖࡁΈͷͷͰमਖ਼ͰࡁΉͳΒमਖ਼͠·͠ΐ͏ • → ࣗͷൃ໌ʹ͢Δʹ࡞Ζ͏ͱ͍ͯ͠ΔରྖҬͷਂ͍ݟ͕ඞཁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 29
·ͱΊ • ίʔσΟϯάͷ࿅शͷखஈͱͯ͠ंྠͷ࠶ൃ໌Λհ • ϨΠϠɾϓϩτίϧͷཧղɾϓϩάϥϛϯάͷྑ͍࿅शʹͳΔ • ंྠͷ࠶ൃ໌͔ΒֶΔࣄʹ͍ͭͯྫΛަ͑ͯհ • ϨΠϠɾϓϩτίϧͳͲͷਂ͍ཧղ •
༷࣮ࡍͷڍಈ͔Β࣮·Ͱམͱ͠ࠐΊΔ࣮ྗ • ࣗͷυϝΠϯͰͷࣝɾܦݧΛՃ͑ΔࣄͰදతϓϩμΫτʹͳΓ͑Δ • ͥͻ JTF2016 ͷςʔϚͰ͋Δ "ͬͯΈͨ" ଆʹͳͬͯΈ͍ͯͩ͘͞ • Shut the fuck up and write some code! July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 30
Any ques)ons? July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota
( @rrreeeyyy ) / Topotal 31
ࢀߟࢿྉ • https://speakerdeck.com/mizzy/serverspec-at-jtf2014 • http://d.hatena.ne.jp/kmaebashi/20160605/p1 • https://github.com/kazuho/jailing • https://github.com/yuuki/droot •
https://github.com/haconiwa/haconiwa • http://blog.yuuk.io/entry/diy-container • http://kentaro.tumblr.com/post/66674445339/දతϓϩμΫτʹ͍ͭͯ • https://github.com/peco/peco July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 32
࣭ٙԠ༻εϥΠυ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota (
@rrreeeyyy ) / Topotal 33
Ϟνϕʔγϣϯͷҡ࣋ • ंྠͷ࠶ൃ໌ͰϞνϕʔγϣϯ͕ଓ͔ͳ͍ʁ • Ϟνϕʔγϣϯͷҡ࣋ਓͦΕͧΕΓํ͕ҧ͏ • ͷΛ࡞ͬͯಈ͔͢͜ͱࣗମʹָ͠ΈΛײ͡Δਓ • ंྠͷ࠶ൃ໌݁ߏ͍ͯΔ͔ʁ •
දతϓϩμΫτΛ࡞Δ͜ͱʹເΛײ͡Δਓ • ंྠͷ࠶ൃ໌݁ߏ͍ͯΔ͔ʁ • ࣗͷͨ͠ܦݧɾ࣋ͬͯΔࣝΛөͰ͖Δ͔࣍ୈ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 34
࡞Βͳ͔ͯ͘Δͱ͍͏ਓͲ͏͢Εʁ • ͪΖΜͦͷ௨Γ • શͯͷษڧ͍ͨ͜͠ͱΛ࠶࣮͍ͯͨ͠Β͕࣌ؒΓͳ͍ • ࣗͷ 1 ͭͷಛԽ͍ͨ͠ࣄ߲͙Β͍࣮Λܦݧ͓͖ͯ͘͠ •
࡞Δ͜ͱͰॳΊ͔ͯͬͯ͘Δࣄ͋Δͱࢥ͍ͬͯΔ • ͏ଆ͔Β࡞ΔଆͷసকདྷతʹٻΊΒΕΔͱࢥ͍ͬͯΔ • ࡞Βͳ͔ͯ͘Δ͙Β͍ݡ͍ਓͲΜͲΜ࡞ͬͯެ։͍ͯͩ͘͠͞ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 35
ϨΠϠɾϓϩτίϧͷࣝͳͥॏཁ͔ʁ • ͍ΘΏΔπʔϧͱ͍͏ͷҠΓมΘΓ͕ܹ͍͠ • πʔϧͷ͍ํ͚͍ͩͬͯ͘ͱຊ࣭Λཧղ͢Δલʹ࣌ؒΕʹͳΔ • ͱ͍͑جຊతͳͱ͜Ζಉ͡(ྫ. HTTP ϓϩτίϧ) •
ϓϩτίϧϨΠϠͷࣝීวతʹ͑͘Δ • ϨΠϠͷγεςϜίʔϧͳͲେ͖͘มԽ͢Δ͜ͱগͳ͍ • ϓϩτίϧਐతʹਐԽ͢Δ͜ͱ͋Δ • HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 • ϓϩτίϧͷ༷ΛಡΉྗɾಡΜͰ࣮͢Δྗ͍ͭͰඞཁ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 36
ंྠͷ࠶ൃ໌ͷ࣌ؒཧʹ͍ͭͯ • Q. • ࠶։ൃ͠Α͏ͱ͢Δͱͣͬͱग़དྷΔ • HTTP ϓϩτίϧશ෦࣮͖͠Δ·Ͱ... • A.
• εϞʔϧΰʔϧΛܾΊΔ • HTTP αʔόͰ͋ΕҰ୴ϒϥβͰݟΕΔ·Ͱ • ͲΜͲΜཁ݅Λ૿͍ͯ͘͠ͷ݁ߏ໘ന͍ • ͭ͗͜ͷϔομ...͜ͷϔομ • ษڧ͍ͨ͠ྖҬʹΑ࣮ͬͯΛ૿͍͚ͯ͠ྑ͍ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 37
Ͳ͏ͬͯࣄʹೖΕΔ͔ • Q. • ͍͟ϓϩμΫγϣϯʹೖΕΔͱ͖Ͳ͏ೖΕ͍͔ͯ͘ʁ • A. • ৫ɾνʔϜͷ߹ҙΛऔ͔ͬͯΒࣄʹೖΕ͍ͯ͘ •
શؔ͘ͳ͍ษڧͷίʔυΛࣄͰͣͬͱॻ͘ͷม • ͜͏͍͏ٕज़͕ඞཁͰษڧ͢Δඞཁ͕͋Δ • ͜͏͍͏πʔϧΛͬͯطଘΑΓ͜͏ྑ͍ͷͰࣄͰॻ͖͍ͨ • ͜Ε͕৫ɾνʔϜͰ߹ҙग़དྷͯॳΊͯࣄͰग़དྷΔͱࢥ͏ • ษڧ͕ग़དྷͨΓଞ࣮ࣾͳͲʹͱΒΘΕͳ͍Ͱग़དྷΔ৫ͩͱ͍͍Ͱ͢Ͷ July Tech Festa 2016 2016/07/24 - Yoshikawa Ryota ( @rrreeeyyy ) / Topotal 38