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
Middleman on Production
Search
Hirofumi Wakasugi
May 19, 2017
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Middleman on Production
Middleman の本番運用とそれを支えるサービスとか
Hirofumi Wakasugi
May 19, 2017
More Decks by Hirofumi Wakasugi
See All by Hirofumi Wakasugi
Racc Introduction
5t111111
1
510
Keep Calm and Enjoy Gachima
5t111111
3
410
Swift Functional Programming
5t111111
0
330
名古屋Ruby会議03 高速一言感想
5t111111
3
1.1k
ドキュメント翻訳懺悔のLT ~進捗ダメです~
5t111111
1
730
UFO演算子について
5t111111
0
450
Rubyと戯れるOSS DTM
5t111111
4
850
Rubyの拡張をCrystalで書いてみる
5t111111
0
180
YARV INTRODUCTION
5t111111
0
120
Other Decks in Programming
See All in Programming
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
120
1B+ /day規模のログを管理する技術
broadleaf
0
140
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.6k
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
210
yield再入門 #phpcon
o0h
PRO
0
270
継続モナドとリアクティブプログラミング
yukikurage
3
590
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
320
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
900
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
720
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
490
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Ruling the World: When Life Gets Gamed
codingconduct
0
280
How STYLIGHT went responsive
nonsquared
100
6.2k
New Earth Scene 8
popppiees
3
2.4k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Claude Code のすすめ
schroneko
67
230k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Language of Interfaces
destraynor
162
27k
Transcript
.*%%-&."/ POQSPEVDUJPO 2017/05/19 Tokyo Middleman Meetup #3 Hirofumi Wakasugi (@5t111111)
ࣗݾհ w !)JSPGVNJ8BLBTVHJ !U w !αʔόʔαΠυͰ3VCZPO3BJMT͕ϝΠϯͳϑϦʔϥϯεͰ͢ w ❤4XJGU--7.
None
.JEEMFNBOຊ൪Ͱͬͯ·͢ w ίʔϙϨʔταΠτςΟβʔαΠτ-1 w ϒϩάχϡʔεϖʔδ w ΞʔςΟετΠϕϯταΠτݸਓγϣοϓͱ͔ &$ผαʔϏεͱ͔Ͱ
w FUD ͪΖΜϓϩτλΠϐϯάͰ͏͜ͱ͋Δ
੩తαΠτ͚αʔϏεͷॆ࣮
.JEEMFNBOͷӡ༻Λࢧ͑Δͷͨͪ
"NB[PO4 4UBUJD8FCTJUF)PTUJOH
"NB[PO4 w આ໌ෆཁͳΫϥυετϨʔδαʔϏε w 4UBUJD8FCTJUF)PTUJOHͱ͍͏ػೳͰ੩తαΠτͷϗεςΟϯά͕Մೳ w ͜ͷػೳΛ$*ͱΈ߹Θͤͯ੩తαΠτͷߋ৽γεςϜΛߏங͢Δ
%&7&-01.&/5 130%6$5*0/4
%&7&-01.&/5
%&7&-01.&/5 3&104*503: 164)
%&7&-01.&/5 3&104*503: 164) $*#6*-% 16--
%&7&-01.&/5 3&104*503: 164) $*#6*-% 16-- 130%6$5*0/4 165 45"(*/(4 165
%&7&-01.&/5 3&104*503: 164) $*#6*-% 16-- 130%6$5*0/4 165 %*453*#65*0/ 45"(*/(4
165 $"$)&
%&.0
1SPT w 8FCαʔόʔͷߏங͕ෆཁ w %PDLFSίϯςφͰ.JEEMFNBO্ཱ͕͕ͪΔͷͰ։ൃڥͷߏஙෆཁ w "$.͕͑Δ w (JU
(JU)VC 'MPXతʹϦϦʔε࡞ۀ·Ͱ(JU)VC্ͷૢ࡞͚ͩͰ݁Ͱ͖Δ w ͍͍҆εέʔϥϒϧ
$POT w 44-ԽͷͨΊʹ$MPVE'SPOU͕ඞਢ ΩϟογϡઓུͪΌΜͱΔඞཁ͕͋Δ w ݁ہڥߏஙͷͭΒΈ͋Δ ϫϯόΠφϦͷ)VHPݟͪΌ͏ͱͳ͊ʜ
w 4UBUJD8FCTJUF)PTUJOHͷػೳΛ͏ͱ4ͷΤϯυϙΠϯτ௵ͤͳ͍ w (JU)VC1BHFTͷΑ͏ͳαʔϏεͰेͳ߹ଟ͍ͱࢥ͏
.JEEMFNBOͱ4Ͱ շదͳ੩తαΠτӡ༻Λ⭐ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
ʁ
͓͍߹Θͤ ϑΥʔϜ͕ཉ͍͠ʁ
(PPHMF'PSNT/( NBJMUPʜ͍͍Θ͚ͳ͍
ϑΥʔϜΛઃஔ͢Δ߹ w Ͳ͏ͯ͠΄ͱΜͲͷ߹όοΫΤϯυ͕ඞཁʹͳΔ w .JEEMFNBOʹ4JOBUSBΛϚϯτ͢Δͱ͔Ͱ͖Δ͕੩తαΠτͷར͕௵ΕΔ w ͏·͍͜ͱόοΫΤϯυଆͷॲཧ͚ͩͲ͏ʹ͔Ͱ͖Ε͍͍͚Ͳʜ
"NB[PO"1*(BUFXBZ "NB[PO-BNCEB 4FSWFSMFTT"SDIJUFDUVSF
"1*(BUFXBZ -BNCEB w "1*(BUFXBZͰ"84্ʹ"1*ͷ3&45GVMͳΤϯυϙΠϯτΛ࡞Δ͜ͱ͕Ͱ͖Δ w ΤϯυϙΠϯτͰड͚ͨϦΫΤετΛ-BNCEBGVODUJPOͰॲཧͰ͖Δ w ͋ͱ4ʹσʔλΛ֨ೲͨ͠Γϝʔϧ௨͢Ε͍͍ w
͍ΘΏΔ4FSWFSMFTT"SDIJUFDUVSFͷจ຺
$-*&/54
$-*&/54 "1*&/%10*/5 46#.*5
$-*&/54 "1*&/%10*/5 46#.*5 '6/$5*0/ */70,&
$-*&/54 "1*&/%10*/5 46#.*5 '6/$5*0/ */70,& /05*'*$"5*0/ 4%"5"4503& 165
$-*&/54 "1*&/%10*/5 46#.*5 '6/$5*0/ */70,& /05*'*$"5*0/ 4%"5"4503& 165 "((3&("5*0/ 26&3:
%&.0
੩తΣϒαΠτ 4FSWFSMFTT"SDIJUFDUVSF❤ w #BB4'BB4ͷॆ࣮͕͔ͳΓ੩తΣϒαΠτʹͱ͍ͬͯ෩ʹͳ͍ͬͯΔ ΤίγεςϜൃలͭͭ͋͠Δ -BNCEBσϓϩΠπʔϧͳͲ w ϑϧϚωʔδυͳαʔϏεͷར༻ʹΑΓ0QTͷίετΛେ෯ʹܰݮ
.JEEMFNBOͰ4FSWFSMFTTʹ շదͳ੩తαΠτӡ༻Λ⭐ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
ʁ
χϡʔεϖʔδͷߋ৽Λ ࣗͰΓ͍ͨʁ
ίϯςϯπͷߋ৽͕ߴ͍ w χϡʔεϒϩάͷΑ͏ͳ؆୯ͳίϯςϯπΫϥΠΞϯτࣗͰߋ৽͍ͨ͠ w $.4ͷΑ͏ʹ8:4*8:(ͳฤूը໘͕͋ΔΘ͚Ͱͳ͍ w .JEEMFNBOىಈͯ͠ΤσΟλͰฤूͯ͠QVTIͯ͠Β͏ʁ·͔͞ʜ w 4FSWFSMFTTؾ߹͍Ͱ͕Μͬͯ+40/ฦ͢ͱ͔Ͱ͖ΔͩΖ͏͚Ͳʜ͏ʔΜ
(JU)VC "TB$POUFOU.BOBHFNFOU4ZTUFN
(JU)VCBTB$.4 w (JU)VCʹϑΝΠϧͷฤूΞοϓϩʔυػೳ͕͋Δ w .BSLEPXOͷϓϨϏϡʔػೳ͋Δ w ͋Εʁ͜Ε(JU)VC্Ͱฤूͯ͠QVTIͯ͠Β͏͘Β͍ͳΒͰ͖ΔΜ͡Όͳ͍ʁ
%&.0
(JU)VCBTB$.4 w ؆қͳίϯςϯπͷߋ৽Ͱ͋Ε(JU)VCͰेͳ߹͋Δ w ϢʔβʔͷೝূೝՄͷཧͳͲΛ(JU)VCʹͤΒΕΔ w QVTI$*EFQMPZͷྲྀΕΛ࡞͓͚ͬͯ(JU)VCҎ֎৮Βͳ͍͍ͯ͘ w Γ͍ͨ͜ͱ࣍ୈ͚ͩͲˢ͘Β͍ͳΒ$.4ͷֶशίετΑΓ͍͘Β͍
w ͚Ͳɺ$.4తͳ6*ʹ࠷ॳ͔Β׳Ε͍ͯΔਓ͕ଟ͍ w ߋ৽͕සൟͰ͋ΕͬͺΓී௨ʹ$.4ͷํ͕͍͍ʜ w (JU)VCGPS"UPNͷొͳͲͰࠓޙঢ়گมΘ͍͔ͬͯ͘
·ͱΊ w ੩తαΠτΛ͏͖͔Ͳ͏͔݁ہΓ͍ͨ͜ͱ࣍ୈ w ޙ͔ΒࠔΒͳ͍Α͏ʹͪΌΜͱώΞϦϯά͠·͠ΐ͏Ͷʜͱ͍͏ʜ w ͨͩɺհͨ͠Α͏ͳαʔϏεͷॆ࣮Ͱ੩తαΠτͷద༻ൣғ࣮֬ʹ૿͍͑ͯΔ w ΣϒΞϓϦέʔγϣϯΛߏங͢Δલʹ੩తαΠτͰͷϑΟδϏϦΛݕ౼͢ΔՁ͋Δ
w 41"ͷྲྀΕ͋ΔͷͰɺͦͷͰϑϩϯτ͕੩తαΠτͱ͍͏ιϦϡʔγϣϯ༗
IUUQTXXXTUBUJDHFODPN ੩తαΠτͷݱঢ়
.JEEMFNBO w .JEEMFNBO͏ϞμϯͳπʔϧͰͳ͍ɻ͕ɺ͏ϝϦοτ·ͩ·ͩ͋Δͱࢥ͏ ˒ ϒϩάͷΑ͏ͳ୯७ͳͷ͚ͩͰͳ͘ͲΜͳαΠτͰ࡞ΕΔ ˒ 3VCZͷख़ͨ͠ΤίγεςϜΛར༻Ͱ͖Δ ˒ ΤΫεςϯγϣϯ͕ॻ͖͍͢
˒ &YUFSOBMQJQFMJOF؆୯ʹOQNΛར༻͢Δํ๏ͱͯ͠·͋Α͘Ͱ͖͍ͯΔ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠