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
26k
メルカリの超高速開発を支える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.3k
アッテ開発の技術 : Golang と Google App Engine
ttsuruoka
20
48k
メルカリ開発の歴史
ttsuruoka
2
2.1k
LT_有給とって温泉に行こう
ttsuruoka
0
240
Other Decks in Technology
See All in Technology
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
10年以上続くプロダクトで今取り組んでること、取り組もうとしていること
sansantech
PRO
2
110
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
150
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
220
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.2k
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
830
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
150
リリース2ヶ月で収益化した話
kent_code3
1
280
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.8k
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
230
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
GitHub's CSS Performance
jonrohan
1031
460k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
A better future with KSS
kneath
239
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Become a Pro
speakerdeck
PRO
29
5.5k
Facilitating Awesome Meetings
lara
54
6.5k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
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ίϛϡχςΟʹ ϑΟʔυόοΫͰ͖ΔΑ͏ʹؤுΓ·͢ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠