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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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.3k
アッテ開発の技術 : Golang と Google App Engine
ttsuruoka
20
48k
メルカリ開発の歴史
ttsuruoka
2
2.2k
LT_有給とって温泉に行こう
ttsuruoka
0
270
Other Decks in Technology
See All in Technology
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
480
入門!AWS Blocks
ysuzuki
1
190
When Platform Engineering Meets GenAI
sucitw
0
170
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
850
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
500
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
460
5分でわかるDuckDB Quack
chanyou0311
3
250
Lightning近況報告
kozy4324
0
220
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
150
千葉での単身赴任からAWSをやり続け、千葉に戻ってきた話
yama3133
1
120
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
240
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
390
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
Art, The Web, and Tiny UX
lynnandtonic
304
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
How to build a perfect <img>
jonoalderson
1
5.7k
Side Projects
sachag
455
43k
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ίϛϡχςΟʹ ϑΟʔυόοΫͰ͖ΔΑ͏ʹؤுΓ·͢ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠