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
PHP Conference 2015 / How to Build Efficient an...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Sotaro Karasawa
October 03, 2015
Technology
15k
5
Share
PHP Conference 2015 / How to Build Efficient and Integrated Development Environment for The Team
「チーム開発において、効率的な統合的な開発環境をいかに作るか」
Sotaro Karasawa
October 03, 2015
More Decks by Sotaro Karasawa
See All by Sotaro Karasawa
「事業目線」の正体 〜3つのフェーズのCTO経験から見えてきた、EMが持つべき視点 @ EMConf JP 2026
sotarok
8
7.3k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
22
13k
P2B Haus法人サポータープランのご提案
sotarok
2
1.7k
ソフトウェアxスタートアップから見た飲食と配送の世界 / The World of Food Deliverlies and Restaurant Businesses from a Software and Startup Perspective
sotarok
2
1.3k
CTO 3度目の正直 / My 3rd CTO Career
sotarok
21
11k
Introduction to the Corporate Solutions Engineering at MTC2018
sotarok
1
36k
Mercari meetup for Corporate Engineering #1 / What is "Corporate Engineering"?
sotarok
2
2.5k
Markdown and WYSIWYG
sotarok
1
6.5k
20 Jan 2017 / Moving Beyond Borders - Mercari DAY
sotarok
8
16k
Other Decks in Technology
See All in Technology
NFLコンペ2026 解法
lycorptech_jp
PRO
0
130
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
180
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.7k
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
630
APIテストとは?
nagix
0
160
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
150
Claude code Orchestra
ozakiomumkj
2
730
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
150
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
5
310
CloudFront VPCオリジンとVPC Latticeサービスの内部ALBをマルチアカウントで一元利用しよう
duelist2020jp
5
260
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
16
17k
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
Context Engineering - Making Every Token Count
addyosmani
9
920
Into the Great Unknown - MozCon
thekraken
41
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Code Reviewing Like a Champion
maltzj
528
40k
The Curious Case for Waylosing
cassininazir
1
360
Transcript
)PXUP#VJME &GpDJFOUBOE*OUFHSBUFE %FWFMPQNFOU&OWJSPONFOU GPS5IF5FBN 1)1$POGFSFODF+BQBO !TPUBSPL .FSDBSJ *OD
νʔϜͷͨΊͷ ޮతͰ౷Ұతͳ։ൃڥͷ ࡞Γํ ˞ຊൃදଟຊޠͰ͢ 1)1$POGFSFODF+BQBO !TPUBSPL .FSDBSJ *OD
!TPUBSPL
!TPUBSPL 4PUBSP,BSBTBXB .FSDBSJ *OD
!TPUBSPL
None
.FSDBSJ *OD
.FSDBSJ *OD %-. 64 +1 ग़%BJMZ, ߪೖ.POUIMZ.
+1:
.FSDBSJ *OD $IFDLPVUPVSCMPH IUUQUFDINFSDBSJDPN
2)PXNBOZFOHJOFFSTJOZPVSUFBN ʙਓ ʙਓ ʙਓ ਓʙ
.FSDBSJ *OD w &OHJOFFST w 0DU ਓऑ w 0DUਓऑ w
0DUਓऑ ଟ
%FWFMPQNFOU&OWJSPONFOU ։ൃڥ
ͳͥ ʠ༰қʹߏஙՄೳͳ։ൃڥ Λ༻ҙ͖͢ͳͷ͔
ۀظ ਓਓʙਓͱ͔ ͦΕͧΕ͕ͦΕͧΕదʹ։ൃͯ͠Δɻ ܾ·ͬͯΔͷ͏ݴޠͱ%#ɾ8FCαʔόʔ͘Β͍
ظ ਓਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY ਓ ϥΠϒϥϦ ݴޠ ϛυϧΣΞ ίϯ ϙωϯτ
ظ ਓਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY ਓ ϥΠϒϥϦ ݴޠ ϛυϧΣΞ ίϯ ϙωϯτ
৽ਓ ϛ
ظ ਓਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY ਓ ϥΠϒϥϦ ݴޠ ϛυϧΣΞ ίϯ ϙωϯτ
৽ਓ ϛ
w ཧͰ͖ͳ͍ w ૿͑ΔϛυϧΣΞɾιϑτΣΞʹϝϯόʔ͕ ैͰ͖ͳ͍ w ৽ਓ͕Ͳ͏ͬͯ։ൃΛ࢝ΊΔͷ͔͕Θ͔Βͳ͍
5SBJOJOH ڭҭʹ͍ͭͯ
༏लͳਓͷଗ͏νʔϜ͔ͩΒڭҭͱ͔͍Βͳ͍
ͱʹ͔͘։ൃ͕ॏཁ͔ͩΒڭҭͯ͠ΔՋͳ͍
Α͋͘Δؒҧ͍✘
༏लͳਓͷଗ͏νʔϜʹͦ͜ɺڭҭॏཁ w ༏लͳਓΛ͍͔ʹૣ͘ϓϩμΫτͰ׆༂ͤ͞Δ͔ w ৫ͷʹඋ͑Δ w ϑΣʔζʹΑΔঢ়گͷมԽΛ࣮֬ʹଊ͑ͳ͕Β
։ൃڥߏஙʹؔ͢Δ ΑΓ۩ମతͳ
$PNNPO%FWFMPQNFOU4FSWFS /var/www/vhosts/dev1.example.com /var/www/vhosts/dev2.example.com /var/www/vhosts/dev3.example.com /var/www/vhosts/dev4.example.com ...
*OEJWJEVBM%FWFMPQNFOU4FSWFS 3FDJQF EFC SQN
-PDBM
PUUP
ϝϧΧϦͷ߹ w 7JSUVBM#PY 7BHSBOU w ֤छϛυϧΣΞΛηοτΞοϓࡁΈͷ#PY Λ #PY4ʹ͓͍ͯΔ w
ιʔείʔυ.BD্ʹɻ TZODFE@GPMEFS
ϝϧΧϦͷ߹ $ git clone http://…/mercari-dev.git $ cd mercari-dev $ make
ϝϧΧϦͷ߹ config.vm.box_url = "https://s3-ap- northeast-1.amazonaws.com/.../mercari- dev/catalog.json"
#PYͮ͘ΓͷΞϨίϨ w σΟϨΫτϦߏΛຊ൪ͱଗ͑Δ w ͢Δ7.ࣗମͷϓϩϏδϣχϯάΛBOTJCMFͰ w WFFXFFͰϏϧυ w NBLFίϚϯυൃͰϏϧυˠΧλϩάͷΞοϓϩʔυ w
FYQFSJNFOUBMCVJMEΛఏڙͯ͠ಈ࡞֬ೝޙ൛࡞
-PDBMͷΈ w 2"νʔϜͱͷΓͱΓ w ΫϥΠΞϯτ "OESPJEJ04 ͱͷΓͱΓ w 44-Ͳ͏͠Α͏ w
ՈͰΔͱ͖ࠔΔ
ϝϧΧϦͷ߹ $ make dns
IPTUTΛॻ͖͑ΒΕͳ͍ ͔ΒΞΫηεͰ͖ͯخ͍͠ 10.0.1.12 api-sotarok-jp.dev.example.com 10.0.1.12 api-sotarok-us.dev.example.com 10.0.1.12 www-sotarok-jp.dev.example.com 10.0.1.12 www-sotarok-us.dev.example.com
10.0.1.12 …
ϋΠϑϯͰ໊લΛ࡞Δ EFWFYBNQMFDPN 10.0.1.12 api-sotarok-jp.dev.example.com 10.0.1.12 api-sotarok-us.dev.example.com 10.0.1.12 www-sotarok-jp.dev.example.com 10.0.1.12 www-sotarok-us.dev.example.com
10.0.1.12 … 8JME$BSE44-
%BUBCBTF4FSWFS
$PNNPO%BUBCBTF4FSWFS DEV DB Dev Server Dev Server Dev Server
։ൃڥͷσʔλΛͰ͖Δ͚ͩຊ൪ʹ͚ۙͮΔ IUUQUFDIMJGFDPPLQBEDPNFOUSZ
ϝϧΧϦͷ߹ w -PDBMʹ։ൃڥΛͬͯΔΜͰʜ w 2"ڥͷ%#ͷόοΫΞοϓΛJNQPSU͢ ΔΈ
2"ڥ ͋Δ͍TUBHJOHͱ͔͍͏
2" QA DB QA App QA Member QA Member QA
Member qa.dev.example.com
2" QA DB QA App QA Member QA Member QA
Member qa.dev.example.com %#͕ख़ͯ͘͠Δ
·ͱΊ
·ͱΊ w ։ൃڥͷߏஙํ๏؆୯ʹͨ͠΄͏͕͍͍Α w ͍Ζ͍ΖΓํ͋ΔΑ w ϝϧΧϦͩͱ w ϩʔΧϧʹߏஙͯ͠։ൃ w
ϩʔΧϧʹߏங͢ΔΈ͍Ζ͍Ζղܾ w 2"ڥڞ௨ͩͬͨΓ͢Δ w σʔλ2"ڥ͔Β࣋ͬͯདྷͯϋοϐʔ
ʠ։ൃڥʡʹؔ͢Δ ͓·͚తͳ
ʠ։ൃڥʡ αʔόʔ͚ͩ͡Όͳͯ͘ɻ
ʠ։ൃڥʡ w *%& w $PNNBOE-JOF5PPMT w #SPXTFS&YUFOTJPO w ʜ
'BDFCPPLͷ3FBDU%FWFMPQFS5PPM
։ൃͷ࣭Λ্ͤ͞ɺແବΛল͘ w ͦ͏͍͏ʠπʔϧʡ܊ͯ͢։ൃڥ w ແବΛऔΓআ͖ຊ࣭తͳ։ൃ࡞ۀʹ࠷ूதͰ͖ ΔڥΛ࡞Δ
ͦ͏͍͏͜ͱΛɺ ୭͕ߟ͑ ୭͕࢝ΊΔ͔
:PV
PS
None
8FBSFIJSJOH
5IBOLZPV