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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
270
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
160
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
300
開発を止めない CI/CD ~CI Visibilityによる継続的最適化~
pensuke628
0
220
OpenClawとHermesAgentでAI新入社員を作った話
takanoriyanada
0
150
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
640
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
16
17k
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
2
480
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
160
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
540
React、まだ楽しくて草
uhyo
6
860
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
180
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.6k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
130
HDC tutorial
michielstock
2
680
Git: the NoSQL Database
bkeepers
PRO
432
67k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
180
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Being A Developer After 40
akosma
91
590k
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