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 (PHPCon2014)
Search
Tatsuya Tsuruoka
October 11, 2014
Technology
26k
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メルカリの超高速開発を支えるPHP (PHPCon2014)
PHPカンファレンス2014のスライドです。
Tatsuya Tsuruoka
October 11, 2014
More Decks by Tatsuya Tsuruoka
See All by Tatsuya Tsuruoka
「メルカリ アッテ」を支える Google App Engine と Golang
ttsuruoka
18
12k
GoとGAEによるWebアプリケーション開発(Go Con 2016 Spring)
ttsuruoka
12
8.4k
アッテ開発の技術 : Golang と Google App Engine
ttsuruoka
20
48k
メルカリ開発の歴史
ttsuruoka
2
2.2k
LT_有給とって温泉に行こう
ttsuruoka
0
270
Other Decks in Technology
See All in Technology
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
280
:syncing_time:
sksat
3
840
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
1
140
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
500
MCPを待つな、パスキーを拡げよう(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Distributed Transactions Under Fire: Building a Zero-Oversell Flash Sale Platform with Amazon Aurora DSQL
yama3133
0
100
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
900
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
440
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
1
310
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
480
Agile that works and the tools we love
rasmusluckow
331
22k
Designing Experiences People Love
moore
143
24k
A Modern Web Designer's Workflow
chriscoyier
698
190k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Language of Interfaces
destraynor
162
27k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
630
YesSQL, Process and Tooling at Scale
rocio
174
15k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
650
Transcript
ϑϦϚΞϓϦʮϝϧΧϦʯͷ ߴ։ൃΛࢧ͑Δ1)1 גࣜձࣾϝϧΧϦ ϓϦϯγύϧΤϯδχΞ Ԭୡ UTVSVPLB!NFSDBSJBQQDPN !
ࠓճ͓͢Δ͜ͱ αʔόߏ Ͳ͏ͬͯεέʔϧ͖ͯͨ͠ʁ ϝΠϯݴޠ1)1 ͳͥ1)1 1)1ͷྑ͍ͱ͜Ζ ͲΜͳߟ͑ํͰ։ൃ͖͔ͯͨ͠
εϐʔυͷॏཁੑՁΛੜΉίʔυͱ
ʮϝϧΧϦʯʹ͍ͭͯ
None
w ݄ɺձࣾઃཱ w ݄ɺΞϓϦެ։
w ຖສ݅Ҏ্ͷग़ w ݄ؒྲྀ௨ֹेԯԁ w ςϨϏ$.์өத ສ%-ୡ
None
αʔόߏ
αʔόߏ w ݱࡏͷαʔόɿ w -#ɺ8FCɺ%#ɺόονɺ ΩϡʔϫʔΧʔɺΩϟογϡ w ϐʔΫ࣌ϦΫΤετඵҎ্Λॲཧ
Ͳ͏ͬͯεέʔϧ͖ͯͨ͠ʁ ! w ڈͷ1)1ΧϯϑΝϨϯεͷࠒɺ αʔό͚ͩ අ༻ɿສԁ݄
Ͳ͏ͬͯεέʔϧ͖ͯͨ͠ʁ w Ͱഒʂʢڈ͕ͳͷͰʜʣ w ݱࡏͷߏୈࡾੈ w ୈҰੈɿʹશ෦ w ୈೋੈɿ8FCͱ%#ͳͲ༻్ผʹ w
ୈࡾੈɿ-#ΩϟογϡͰෛՙࢄ
γϯϓϧˍϛχϚϜ w 8FCαʔόʹͪΖΜ1)1 w "QBDIF NPE@QIQ .Z42-ͷ Ͳ͜ʹͰ͋Δ؆୯ͳߏ w ୈҰੈͷߏͦΕ͚ͩ
Ωϟογϡαʔόͳ͠
γϯϓϧˍϛχϚϜ w ୈࡾੈͷߏͰෛՙࢄΛຊ֨Խ -#ɿOHJOY Ωϟογϡɿ.FNDBDIFEɺ3FEJT Ωϡʔɿ2.
γϯϓϧˍϛχϚϜ w ेͳ࣮͕͋ΔϛυϧΣΞ͚ͩͰ ߏ͞Ε͍ͯΔ w .Z42-ɺ.FNDBDIFEɺ3FEJT 1)1͔Β؆୯ʹ͑Δ
ϝΠϯݴޠ1)1
ͳͥ1)1 w ۀϝϯόʔͱܨ͕͍ͬͯΔ։ൃऀͷ ଟ͕͘1)1։ൃऀͩͬͨ w ΞϓϦΛ։ൃ͍ͯͨ࣌͠Ͱ ࠷։ൃϦιʔε͕֬อ͔ͬͨ͢͠ w ͭ·Γɺ୯ʹۙͩͬͨ
ͳͥ1)1 w ҆қͳཧ༝ʹݟ࣮͑ͯॏཁͳͷͰʁ w ྲྀߦΛ͍͔͚ͳ͍ w ݱ࣮తͳΛղܾ͍ͨ͠ͷͰ͋ͬͯ ϞμϯͳݴޠΛۦ͢Δ͜ͱΛ తʹ͠ͳ͍
ͳͥ1)1 w 8PSE1SFTT͕1)1Ҏ֎ͷݴޠͰ࡞ΒΕͯ ͍ͨΒɺࠓ΄Ͳͷ͍ͳ͔ͬͨͷͰ w ۙʹղܾ͍ͯ͠Δ͜ͱͷՁΛ ͬͱೝΊΑ͏
1)1ͷྑ͍ͱ͜Ζ w 8FCαʔόͰͷॲཧेʹߴ w ϝϧΧϦฏۉϨεϙϯελΠϜϛϦඵ w ؆୯ͳͷʹ࣮༻త w 1)1ΛΒͳ͍։ൃऀͰɺผͷݴޠ Λ͍ͬͯΕ͋ͬͱ͍͏ؒʹशಘ
w ͨͩ͠8FCݴޠͰ͋ΔͨΊۤखͳ͜ͱ ͨ͘͞Μ͋Δ w ฒྻॲཧɺৗறϓϩηεɺFUD w ͦΕಘҙͳݴޠʹͤΔ
w 1)1͚ͩͰͯ͢Λ࡞Δ͜ͱʹ ͩ͜ΘΒͳ͍ w 1)1͕ۤखͳॲཧɺ 3VCZɺ1ZUIPOɺ(PͳͲ͍͚ͬͯ0,
ͲΜͳߟ͑ํͰ։ൃ͖͔ͯͨ͠
Ұ൪େࣄͳ͜ͱʮεϐʔυʯ
ϝϧΧϦ։ൃͷۂઢ ࠓ͜͜ ඪ ࣌ؒ ౸ୡ
w ͜Ε·ͰͷϝϧΧϦˠͷஈ֊ w ։ൃऀͷׂɺ։ൃͷߟ͑ํ ஈ֊ʹΑͬͯมΘΔ w ˠͰҰ൪େࣄͳͷ͕εϐʔυ
w ઌߦ͢Δڝ߹ ޙ͔Βͬͯ͘Δେࢿຊͷڝ߹ w ϦϦʔε͢Δ·Ͱͷεϐʔυͱɺ ϦϦʔε͔ͯ͠ΒͷεϐʔυͰ ࠩΛ͚Δ͔͠ͳ͍ w ૉૣ͘ग़ͯ͠ɺ୭͔ʹͬͯΒͬͯɺ ՁΛߴΊ͍ͯ͘
ͳͥʮεϐʔυʯ͕େࣄͳͷ͔
ͳͥʮεϐʔυʯ͕େࣄͳͷ͔ w εϐʔυ͕େࣄͳ͜ͱΈΜͳ͔͍ͬͯΔ w ʮͬͱΏͬ͘Γ࡞Εྑ͔ͬͨʯ ͱ͍͏͜ͱ͋Γ͑ͳ͍
w ஸೡʹ࡞ΒΕ͍ͯͯྑ͘Ͱ͖͍ͯΔ͚Ͳ ୭͍ͬͯͳ͍αʔϏε ҙຯ͕ͳ͍ɻɻ ελʔτΞοϓͷੈքͰʣ
ʮεϐʔυʯΛग़͢͜ͱͷ ͠͞
ݶΒΕͨϦιʔεͰͲ͏࡞Δʁ w ։ൃऀɺ༧ࢉɺ࣌ؒ ͲΕΓͳ͍ͷ͕;ͭ͏
εϐʔυΛੜΈग़͢ ͭͷߟ͑ํ
໎ͬͨΒ୯७ͳํΛબͿ
໎ͬͨΒ୯७ͳํΛબͿ w ٕज़બఆ͢Δͱ͖ʹΑ͋͘Δ w ߴػೳ͚ͩͲෳࡶͳͷWTػೳ͚ͩ Ͳ୯७ͳͷ w ྫɿߏཧπʔϧ$IFGWT"OTJCMF
໎ͬͨΒ୯७ͳํΛબͿ w Ͱ͖ΔݶΓใΛूΊܾͯΊΒΕͳ͍ͱ͖ ʮػೳ͚ͩͲ୯७ͳͷʯΛબͿ w ୯७Ͱ͋Δ͜ͱֶशίετ͕͍ͷ ظతʹՌ͕ग़Δ w ʙઌͷϝϦοτΑΓࠓ͕େࣄ
࠷ߴͩͱࢥ͏ͷͷ ׂͰग़͢
࠷ߴͩͱࢥ͏ͷͷ ׂͰग़͢ w ͍͔ͭΘΕΔ͔͠Εͳ͍ίʔυΛ ࠓ४උ͓͍ͯͯ͠ʜ ेதീΘΕͳ͍ɻɻ ݁ہɺԼͨ࣌ؒ͠ճऩͰ͖ͣʣ
࠷ߴͩͱࢥ͏ͷͷ ׂͰग़͢ w ͍ͭདྷΔ͔͔Βͳ͍ະདྷͷ͜ͱΑΓɺ ͙͢ͷલͷޭͷ΄͏͕ѹతʹॏཁ w ͷલͷޭ͕͋ͬͯ࢝Ίͯɺ কདྷΛݟӽͨ͠վળΛ͢Δҙຯ͕ग़ͯ͘Δ
࠷ߴͩͱࢥ͏ͷͷ ׂͰग़͢ w ࠷ߴΛࢦ͢ͱɺ ͍ͭ·ͰܦͬͯऴΘΒͳ͍ w ׂͰग़ͯ͠ɺϢʔβͷԠΛݟΔ͖
࠷ߴͩͱࢥ͏ͷͷ ׂͰग़͢ %POFJTCFUUFSUIBOQFSGFDU ᘳΛࢦ͢ΑΓɺ·ͣऴΘΒͤΖ 'BDFCPPLͷϞοτʔͷͻͱͭ
࠷ߴͩͱࢥ͏ͷͷ ׂͰग़͢ ૣ͗͢Δ࠷దԽॾѱͷࠜݯ %&,OVUI w ࣅ͍ͯΔ֨ݴɾߟ͑ํ͕ͨ͘͞Μ͋Δ :"(/* :BL4IBWJOH
࠷ॏཁͳ͜ͱʹ ϑΥʔΧε͢Δ
࠷ॏཁͳ͜ͱʹ ϑΥʔΧε͢Δ w ϝϧΧϦͷ߹ɺϗʔϜը໘ʹදࣔ͞ΕΔ ͷҰཡɺग़ߪೖͷૢ࡞ w ਅͬઌʹ࡞Γ࢝Ίͯɺ ԿԿ࡞Γͳ͓͞Εͯચ࿅͞Εͨ
࠷ॏཁͳ͜ͱʹ ϑΥʔΧε͢Δ w ͋Δ෦ʹϑΥʔΧε͢Δͱ͍͏͜ͱɺ ΘΓʹԿΛলུ͢Δ͔ͱ͍͏͜ͱ
࠷ॏཁͳ͜ͱʹ ϑΥʔΧε͢Δ w ΞϓϦެ։Λٸ͙ͨΊɺ ΓࠐΉػೳΛݶք·Ͱߜͬͨ ެ։࣌ͷ"1*ͷ छྨ ݱࡏͷ छྨ ΄΅ഒ
࠷ॏཁͳ͜ͱʹ ϑΥʔΧε͢Δ w େʹলུͨ͜͠ͱɿ ެ։࣌ͷΠϯϑϥ w ͘͞ΒΠϯλʔωοτͷ ߴੑೳͳઐ༻αʔόʹͯ͢٧ΊࠐΈ
࠷ॏཁͳ͜ͱʹ ϑΥʔΧε͢Δ w ຊ൪ڥΛͰߏஙͰ͖ͨ w ҆Ձˍखؒͳ͔ͬͨͷͷɺ ϲ݄Ͱෛՙͷݶքʹ w ͔͠͠ɺΠϯϑϥ४උظ͕ؒݮͬͨ͜ͱɺ ݎ࿚ͳΠϯϑϥΛ࠷ॳ͔Β४උ͢ΔΑΓ
ͣͬͱՁ͕͋Δ͜ͱͩͬͨ
εϐʔυͷͨΊʹ ͯ͢Λࣺͯͳ͍Α͏ʹؾΛ͚ͭΔ
ςετʹ͍ͭͯ w ςετলུ͗͢͠ͳ͍ w 1)16OJUͰͲΜͳςετΛॻ͔͘ w අ༻ରޮՌͷߴ͍ςετΛॻ͘
අ༻ରޮՌͷߴ͍ςετ w ։ൃऀͷηϯε͕ΘΕΔɻɻ w ະདྷͷ։ൃऀ ؚࣗࣗΉ ͕ ͲΕ͚ͩٹ͑Δ͔ w ΧόϨοδॏࢹͰͳ͘
ΤϯυπʔΤϯυͰਖ਼͠͞Λςετ͢Δ
අ༻ରޮՌͷߴ͍ςετ w ΤϯυπʔΤϯυͷςετ͕͋Εɺ ҆৺ͯ͠ݩίʔυΛେʹมߋͰ͖Δ w ༏Εͨςετ͕͋Εɺ εϐʔυͷͨΊʹίʔυ࣭͕٘ਜ਼ʹͳͬͯ ڐ༰Ͱ͖Δ
·ͱΊ
·ͱΊ w 1)1Ͱૉૣ͘ɺϋΠύϑΥʔϚϯεʹɺ εέʔϧ͢ΔαʔϏεΛ࡞ΕΔ w ࣗ৴Λͬͯ1)1ͰϓϩμΫτΛ࡞Γ· ͠ΐ͏ʂ
w ·ͨޙɺ1)1ίϛϡχςΟʹ ϑΟʔυόοΫͰ͖ΔΑ͏ʹؤுΓ·͢ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠