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
0
160
Middleman on Production
Middleman の本番運用とそれを支えるサービスとか
Hirofumi Wakasugi
May 19, 2017
Tweet
Share
More Decks by Hirofumi Wakasugi
See All by Hirofumi Wakasugi
Racc Introduction
5t111111
1
410
Keep Calm and Enjoy Gachima
5t111111
3
350
Swift Functional Programming
5t111111
0
260
名古屋Ruby会議03 高速一言感想
5t111111
3
1k
ドキュメント翻訳懺悔のLT ~進捗ダメです~
5t111111
1
580
UFO演算子について
5t111111
0
310
Rubyと戯れるOSS DTM
5t111111
4
740
Rubyの拡張をCrystalで書いてみる
5t111111
0
100
YARV INTRODUCTION
5t111111
0
86
Other Decks in Programming
See All in Programming
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
CSC509 Lecture 12
javiergs
PRO
0
160
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
890
距離関数を極める! / SESSIONS 2024
gam0022
0
280
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
EventSourcingの理想と現実
wenas
6
2.3k
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
CSC509 Lecture 11
javiergs
PRO
0
180
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Realtime API 入門
riofujimon
0
150
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
100
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Featured
See All Featured
Being A Developer After 40
akosma
86
590k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
Statistics for Hackers
jakevdp
796
220k
Fireside Chat
paigeccino
34
3k
Embracing the Ebb and Flow
colly
84
4.5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
How to Think Like a Performance Engineer
csswizardry
20
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
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Λར༻͢Δํ๏ͱͯ͠·͋Α͘Ͱ͖͍ͯΔ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠