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
17
25k
メルカリの超高速開発を支えるPHP (PHPCon2014)
PHPカンファレンス2014のスライドです。
Tatsuya Tsuruoka
October 11, 2014
Tweet
Share
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.2k
アッテ開発の技術 : Golang と Google App Engine
ttsuruoka
20
48k
メルカリ開発の歴史
ttsuruoka
2
2k
LT_有給とって温泉に行こう
ttsuruoka
0
230
Other Decks in Technology
See All in Technology
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
180
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
生成AIのガバナンスの全体像と現実解
fnifni
1
180
MLOps の現場から
asei
6
630
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Documentation Writing (for coders)
carmenintech
66
4.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Six Lessons from altMBA
skipperchong
27
3.5k
Rails Girls Zürich Keynote
gr2m
94
13k
Optimising Largest Contentful Paint
csswizardry
33
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
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ίϛϡχςΟʹ ϑΟʔυόοΫͰ͖ΔΑ͏ʹؤுΓ·͢ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠