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 Paas Sqaleを支える技術2016
Search
KONDO Uchio
May 21, 2016
Technology
2
3.5k
PHP Paas Sqaleを支える技術2016
@PHPカンファレンス福岡 2016
http://phpcon.fukuoka.jp/
KONDO Uchio
May 21, 2016
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.4k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
220
Narrative of Ruby & Rust
udzura
0
200
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
420
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
740
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
710
Device access filtering in cgroup v2
udzura
1
840
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
780
Other Decks in Technology
See All in Technology
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
100
目次機能実装から理解するLexical Editor
wtdlee
0
120
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略 / phper-kaigi-2025-ryu
carta_engineering
0
660
生成AIで生産性向上
tomuro
0
230
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
9
3k
コンテナ上シェル悪用の話とPure Bashでcurlが作れた話
ryotosaito
2
390
これからクラウドエンジニアになるために本当に必要なスキル 5選
hiyanger
1
420
Kubernetesを手元で学ぼう! 初心者向けローカル環境のススメ
nayaaaa
PRO
2
820
PHPでアクターモデルを活用したSagaパターンの実践法 / php-saga-pattern-with-actor-model
ytake
0
710
SLI/SLO・ラプソディあるいは組織への適用の旅
nwiizo
4
690
一人QA時代が終わり、 QAチームが立ち上がった話
ma_cho29
0
160
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
140
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.3k
Designing for Performance
lara
605
69k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
How to Ace a Technical Interview
jacobian
276
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
480
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Being A Developer After 40
akosma
89
590k
Transcript
d͖Έ͚ͩͷ͍͖͞ΐ͏ͷ1)1Λͭ͘Ζ͏ʂd GMO Pepabo, Inc. Uchio Kondo 2016/05/21 PHPΧϯϑΝϨϯεԬ2016!!1 1)11BB4ʮ4RBMFʯ Λࢧ͑Δίϯςφ
ͳͲ ٕज़
NF
None
ۙ౻͏͓ͪ !VE[VSB(.0ϖύϘॴଐ ٕज़ج൫νʔϜ Ԭࢧࣾۈ 'VLVPLBSC
3BJMT(JSMT'VLVPLB૯߹ࡶ༻ίʔν·ͱΊ
ஶ࡞Ͱ͢
ੴΛ͛ͳ͍Ͱʂ
'"2 2ॳΊͯຊ֨తʹ৮ͬͨϓϩάϥϛϯάݴޠ ʁ "1)1Ͱ͢ʂ
None
ൃදͷલʹ
1)1
4RBMFͰఏڙ։࢝͠·͢ʂ ˞ ЌϦϦʔεͱ͍͏͜ͱͰΑΖ͓͘͠ئ͍͠·͢ɻ
ʂʂʂʂʂʂʂʂʂʂʂ
None
ؓٳ
4RBMFͱ
None
4RBMF ͍ΘΏΔɺ1BB4 4'51(JUʹΑΔσϓϩΠ 3VCZͱ1)1ʹରԠ͍ͯ͠Δ
ٕज़ͷৄࡉ !IJCPNB͞ΜʹΑΔൃදࢿྉ͕͋Γ·͢ 1BB4ͷ࡞Γํ4RBMFͷ߹ IUUQXXXTMJEFTIBSFOFUIJCPNBTRBMFQBBT
Ҏ্Ͱ͢
͑ͬʜʜ
͋Ε͔Β
͋ͷαʔϏεࠓ
ۙگใࠂ
࠷͍ۙͬͯΔ͜ͱ *BB4͔Β/ZBIʹҠઃ͍ͯ͠Δ ͍ͭͰͱ͍͏͔ɺγεςϜ৽݉Ͷ͍ͯΔ ࢥͬͨҎ্ʹಈ͍ͯΔɻηΩϡϦςΟͰෆ҆ͳ ͱͭ͜Ϳͭͭ͠ؾ࣋ͪʹͳ͍ͬͯΔ
/ZBIͬͪʁ ࣾͷϓϥΠϕʔτɾΫϥυ ൃදࢿྉଟɻ!UONU͞ΜͷεϥΠυͳͲ IUUQTTQFBLFSEFDLDPNUONUQFQBCPT QSJWBUFDMPVEOZBIBGUFSUIBU
1)1ͷՃ ͦͯ͠ 1)1ͷͳͷͰޙ΄Ͳ·ͱΊͯɻ
ͦͷ΄͔ ϛυϧΣΞ04ͷΞοϓάϨʙυݕূத $FOU04 ,FSOFM -9$
ͳͲͳͲʜʜ
-9$
ίϯςφٕज़
ίϯςφ ͬͯͦͦԿͳͷ
ྑ͍ࢿྉ͕͋Γ·͢ -JOVYίϯςφͷجૅ !ίϯςφܕԾԽͷใަձJOԬ IUUQTTQFBLFSEFDLDPNUFOGPSXBSEUI DUTUVEZ
Ҏ্Ͱ͢
͑ͬʜʜ
͏ͪΐͬͱʜ 4RBMFͰ͜͜·Ͱड़͖ͯͨ-9$Λ͔ͭͬ ͯɺʮϢʔβίϯςφʯΛ্ཱ͍ͪ͛ͯ·͢ɻ ҙͱͯ͠ɺҎલͷόʔδϣϯΛར༻ͯͨ͠Γ͢Δ ͷͰɺݹ͍Λ͍ͯ͠Δ͔ʜʜ
ίϯςφͷཧղͷલఏͱͯ͠ -JOVYίϯςφɺ୯Ұͷػೳͱ࣮ͯ͠͞Ε ͍ͯΔΘ͚Ͱͳ͍ɻ DHSPVQ -JOVYOBNFTQBDF ϑΝΠϧγεςϜͷִ
DISPPU RVPUB $BQBCJMJUJFT
ͻͱͭͻͱͭ খ͞ͳɺγϯϓϧͳػೳ
DHSPVQ $POUSPM(SPVQͷҙ ϗετͷ༷ʑͳཧϦιʔεʹର͢Δ੍ݶΛ͢ Δ $16ɺϝϞϦɺ#MPDL*0
DHSPVQͷྺ࢙ DHSPVQ݄ʹ(PPHMFͷΤϯδχ ΞʹΑͬͯ࠷ॳͷύον͕ߘ͞ΕɼΧʔ ωϧͰ࠷ॳͷϚʔδ͕ͳ͞ΕͨػೳͰ͢ɻ ʹϦϦʔε͞Εͨ3FE)BU&OUFSQSJTF -JOVYʹ͜ͷػೳ͕ࡌ͞Εʜ SFGTIUUQHJIZPKQBENJOTFSJBMMJOVY@DPOUBJOFST
-JOVYOBNFTQBDF 04Λ͏ͨΊͷ༷ʑͳϦιʔεΛִ͢Δ ͋ΔϓϩηεͷOBNFTQBDFΛɺ΄͔ͷϓϩη ε͔Βݟ͑ͳ͘Ͱ͖Δ ϚϯτϙΠϯτɺ*1$ɺϢʔβʔɺωοτϫʔ Ϋ
ϑΝΠϧγεςϜपΓͷִ DISPPU ϑΝΠϧγεςϜͷΛมߋɺݟ͑ΔॴΛม͑Δ RVPUB YGT@RVPUB
ϑΝΠϧγεςϜͷར༻ΛϓϩδΣΫτ͝ͱʹ੍ݶɺϨ ϙʔτͰ͖Δ
-JOVYDBQBCJMJUJFT εʔύʔϢʔβͷݖݶΛׂ͠ɺڐՄΛ༩͑ͨΓ ېࢭͨ͠ΓͰ͖Δ ྫ$"1@4:4@5*.& γεςϜΫϩοΫͷมߋΛڐՄ͢Δ$BQBCJMJUZ ͜ΕΛୣ͑ɺϗετͷ࣌ؒมߋ͕Ͱ͖ͳ͍
ୣΘΕͨϓϩηεͰEBUFTίϚϯυΛଧͬͯΈΑ͏ %PDLFSͳͲͰࢼͯ͠Έ·͠ΐ͏
͜ΕΒΛΈ߹ΘͤΔͱʜ
͔͋ͨʮԾڥʯͷ Α͏ʹѻ͑Δ
':*ԾڥͬͯԿͩ ࣮ଶɺ 04Ϧιʔεͷִ OBNFTQBDF DISPPU ʴ ੍ݶ DHSPVQ
DBQBCJMJUJFT ͔͠͠ɺϢʔβ͔ΒݟΔͱɺ͍͍ͩͨಠཱͨ͠ 04ͷΑ͏ʹѻ͑ͨΓ͢ΔͷͰɺ͔Γ͢͞༏ ઌͰҰछͷʮԾڥʯͱݺΜͩΓ͢Δ
۩ମతͳ -9$ͷ͍ํ
ϑΝΠϧγεςϜͷڞ༗ ΄ͱΜͲSFBEPOMZͰCJOENPVOU͠ͳ͓ͯ͠ ͍Δ ϢʔβྖҬΛݶఆ͢ΔʢRVPUB͢Δʣ SFBEPOMZͳͱ͜Ζڞ༻ ڞ༻ͳͷͰɺมߋ͕શίϯςφʹ͙͢ʹө͢
Δɻ1)1όΠφϦͷՃ͕Γ͍͢
ར༻͢Δ$16 ίϯςφ࡞࣌ʹܾΊ͏͍ͪͯ͠Δɻ ࠓͷͱ͜Ҡઃखಈʜʜ ͳΊΒ͔ʹ͍ͨ͠Ͱ͢Ͷ
GPSLCPNCରࡦ ಠࣗύονΛར༻ NJ[[Z͞ΜͷεϥΠυ IUUQCJUMZ7:(D ։ൃͷຊےʹ͋ΔDHSPVQͷઃఆ߲ʹ͍ͨ͠ ʢͷͪ΄Ͳʣ
Φʔόʔϔου͋Δʁ
؆୯ͳϕϯν έʔε DISPPUͷΈɺ$16ɺ(#NFN έʔε -9$Ͱ$16ɺ(#NFNར༻
ωοτϫʔΫͷͤͣ ͦͷଞͷ݅ಉ͡ IUUQE QIQGQN 1)1 $FOU04 1)1QSJOUl)FMMPzఔͷॲཧ "# XJUILFFQBMJWF
None
ߟ ΞʔΩςΫνϟͷҧ͍ ʢDISPPUͷΈ͔ɺ-9$Λܦ༝͢Δ͔ʣ ʹΑΔΦʔόʔϔου֬ೝͰ͖ͳ͍ɻ গͳ͘ͱ΄ͱΜͲͷ߹ଞͷϘτϧωοΫ͕ ઌʹདྷΔͱݴ͑ΔͩΖ͏ ωοτϫʔΫϑΝΠϧγεςϜͷΛ͍ͯ͠ͳ͍͜ͱ͕
ޮ͍͍ͯΔՄೳੑ͕͋Δ
1BB4Ͳ͏ͬͯಈ͘ ͱݴ͏
ͳʹͱ͋ΕίϯςφΛ࡞Δ ίϯςφΛ࡞ΔͱҎԼͷͷ͕࡞ΒΕΔ ίϯςφͷSPPUGT 4'51HJUͷϑΝΠϧγεςϜʢσϓϩΠ༻ʣ %/4Ϩίʔυ
Ϣʔβͷ͏%#
ͱ͜ΖͰ 4RBMFࣗମͷ8FCΞϓϦέʔγϣϯ 3⚪CZ⚪O3⚪JMT Ͱ͢
None
3FTRVF 3BJMTͷ༗໊ͳδϣϒΩϡʔϓϥάΠϯ جຊతʹɺίϯςφͷϓϩϏδϣχϯάͷॲཧ ɺδϣϒΩϡʔͰඇಉظԽ͞Ε͍ͯΔ ͔ͭɺϗετؒ3FEJTͷδϣϒΩϡʔͷΈͰ ͭͳ͕͍ͬͯͯɺεέʔϧ͍͢͠
͍͘ΒͰ ಉ͡ϩʔϧΛՃՄೳ CVJMEʜ VTFSTʜ HJUʜ
ίϯςφͷSPPUGTΛͲ͏࡞Δʁ $IFGXJUIDISPPUͰͬ͘͞Γͱ ͜͜Φʔόʔϔουগͳ͘ ϑΝΠϧγεςϜͷཧʹಛԽͨ͠ϨγϐΛॻ͘ αʔϏεཧͱ͔͓͍ͱ͘
SPPUͱͳΔɺجຊతͳϑΝΠϧγεςϜΛ࡞Δ ˠͦͷޙɺϢʔβ͕͍͡ΕΔσΟϨΫτϦҎԼΛ࡞Δ ʢIPNFTRBMFͳͲʣ
HJUQVTIͳͲͰσϓϩΠΛ͢Δ SFDFJWFIPPL͕ىಈ͢Δ ͬͺΓ3VCZ ͦ͜ͰσϓϩΠϓϩηε͕Δ 3BJMTͳΒ
CVOEMFJOTUBMMBTTFUQSFDPNQJMFSTZOD 1)1୯ʹSTZOD DPNQPTFSͳͲEFQMPZޙͷIPPLΛఆٛͰ͖ΔͷͰͦ͜Ͱ
Ϗϧυδϣϒ3BJMTΞϓϦͷதʹ 3VCZͰ؆୯ͳ%4-Λ࡞͓ͬͯΓɺ Ճ͕ 3VCZJTUʹ ؆୯ʹݟ͑Δ ͦͷؾʹͳΕରԠݴޠΛ૿ͤΔ͔ ͪ͜Β͋ͱͰʜ
1)1ରԠͷ
3VCZͷ৽όʔδϣϯରԠ όΠφϦՃ SCFOWલఏ Ϗϧυ༻ͷεΫϦϓτ͕࡞ΒΕ͓ͯΓɺखॱ ཱ͍֬ͯ͠Δɻ ൺֱత؆୯ʹରԠͰ͖Δɻ
ίϛολձࣾʹࡏ੶͠ɺॆ࣮ͨ͠αϙʔτɻ
1)1ͷ৽όʔδϣϯରԠ ʢखهͦ͜Ͱ్Ε͍ͯΔʣ HJUIVCͷJTTVF
Ϗϧυखॱ͕ࣦΘΕ͍ͯΔ
Ͳ͏ͬͯࢲ 1)1όΠφϦΛՃ͔ͨ͠ʁ
ߟݹֶతௐࠪۀ *TTVFʹඍົʹ͍ͬͯͨͷͰɺͦ͜ͰશΛ ௫Ή 3VCZͱಉ༷QIQFOWϕʔεΒ͍͠ Ϗϧυͯ͠UH[ͰݻΊΔɺجຊγϯϓϧʹͬͯͦ͏ EFpOJUJPOɺ͍·ࣦΘΕͨαʔόʹʜ
ʜʜ
ϏϧυΦϓγϣϯͷௐࠪ طଘͷόΠφϦ ͷQIQJOGP ͔Βऔಘ σϑΥϧτͷϏϧυͱΦϓγϣϯͱൺֱ TRMJUFରԠͷ֦ுͳ͘Ͷʁʢ͔͔͠Βʣ
ௐͯɺ4RBMFͷαϙʔτର͔Βམͱ͢ɻ
1&"3ύοέʔδ ϚχϡΞϧʹ͋ΔͭΛҰ௨ΓೖΕΔ IUUQTTRBMFKQTVQQPSUNBOVBMQIQ όʔδϣϯࢥ͍ͬͯ৽͘͢͠Δ QFBSίϚϯυࣗମϢʔβ͞Μ͕ୟ͚ΔΜͰ
ͬͪ͜εΫϦϓτԽ
NFNDBDIFE֦ு 1)1ͩͱQFDMͷͭ͡ΌͩΊΆʜʜ HJUIVC͔Βऔͬͯ͘ΔͱϏϧυͰ͖ͨɻͦΕΛ ͏
ͳΜ͔͔ΒQIQGQNͷઃఆมΘͬͨʁ :FUBOPUIFS͏⚪Β͞Μʹಥܸͨ͠
None
ͱ͍͏͜ͱͰݕূՄೳͳ ঢ়ଶʹ࣋ͬͯߦͬͨ
ͯ͞ɺͲ͏ͩΖ͏ʜʜ
None
8PSE1SFTT͕ಈ͍ͨ
ओཁͳ1)1ΞϓϦέʔγϣϯͷಈ࡞ͱ ֦ுͳͲΛςετͯ͠ϦϦʔεɻ
50%0 ࣮͍·ͩʹ͜ͷͷखॱΛεΫϦϓτԽࣗಈ ԽͰ͖͍ͯͳ͍ʜʜ ͜ͷखॱɺࣦ͏Θ͚ʹ͍͔ͳ͍ ୀ৬༧ఆͳ͍ͷͰΏͬ͘ΓΖ͏ʜʜ
͜Ε͔ΒΓ͍ͨ͜ͱ
ϐΧϐΧͷVTFSTΛͭ͘Δ VTFSTϢʔβఏڙαʔόʢϖύϘ༻ޠʁʣ $FOU04 LFSOFM ߟ͍͑ͯΔͷ
-9$
ͳͥϐΧϐΧʹ͍͔ͨ͠ -9$ͷόʔδϣϯΧʔωϧͷόʔδϣϯݹ ͗ͯ͢MYDBUUBDI͕ಈ͔ͳ͍ LFSOFM͕ݹ͍ˠQJEOBNFTQBDFͳ͍͔Βʂ MYD͕ݹ͍ˠOBNFTQBDFͷݶఆ͕Ͱ͖ͳ͍
ͳͥ OFUOT͍ͮΒ͍ $FOU04ͷJQSPVUFOFUOTରԠͯ͠ͳ͍ʜʜ ϐϯϙΠϯτͰͬͯΑΓηΩϡΞʹ͍ͨ͠
ͳͥ LFSOFMҎ߱Ͱɺίϯςφ୯ҐͰϓϩηε ͷ੍ݶ͕Ͱ͖ΔΑ͏ʹͳΔɻ ͜ΕɺGPSLCPNCύονͷΘΓͷػೳͱͯ͑͠Δɻ IUUQHJIZPKQBENJOTFSJBM MJOVY@DPOUBJOFST
ݱࡏଞʹ༷ʑͳύον͕͍ͨͬͯͯɺಈ͖ ͕औΓͮΒ͘ɺຊےͷϏϧυΛ͍͍ͨɻ
ରԠݴޠͷՃ OPEFHPMBOHΛಈ͔ͤΔͱ͔͍͍ͬ͜ গͳ͘ͱࣾͰ͍ग़͕͋Δ
)VCPUΛ ಈ͔͍ͨͧ͠ʂ
ՃͷΊͲཱͬͯΔ ݴޠ༻$IFGͷΫοΫϒοΫΛՃ ݴޠ༻ϏϧυखॱΛ3VCZ%4-ͰՃ ͦͷଞɺඍົʹઃఆΛՃ ͋ͱؾ߹Ͱݕূ
Կ͔͕ى͜Γͦ͏
͜Μͳײ͡ʜʜ
աڈʹՃͨ͜͠ͱͳ͍ɻ Δͧʂ
Ҏ্ɺΓ͍ͨͰ͢ Δͱݴͬͯͳ͍ ʜ
·ͱΊ
ϩϦϙοϓʂϨϯλϧαʔόʔΛ ΑΖ͓͘͠ئ͍͠·͢ʂʂ ৄࡉϒʔεͰʂʂ̍
4RBMFͬͯͶ
ίϯςφͱ͔1)1ʹ ؔ৺ͷ͋ΔਓΛืू͍ͯ͠·͢
ը૾ͳͲͷιʔε ը૾ɺϩΰ(.0ϖύϘΛ࢝Ίɺ֤ࣾɾஂ ମ͕ݖརΛॴ༗͢Δ߹͕͋Γ·͢ɻҾ༻ͷൣ ғͰͷར༻Λ͍ͯ͠·͢ɻ λΠτϧ$$ IUUQTQJYBCBZDPNKB&#&#&&" &#$&#"&"&#
&#&#&&"&#$ &#&%&#$&&## &"&&"&#"&"