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
260
Narrative of Ruby & Rust
udzura
0
230
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
450
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
790
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
740
Device access filtering in cgroup v2
udzura
1
930
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
850
Other Decks in Technology
See All in Technology
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
2
180
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
5
1.3k
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1.1k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
3
1.5k
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
16
5.2k
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
160
株式会社ARAV 採用案内
maqui
0
340
Backboneとしてのtimm2025
yu4u
4
1.4k
Goでマークダウンの独自記法を実装する
lag129
0
210
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
1
110
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Designing Experiences People Love
moore
142
24k
Code Reviewing Like a Champion
maltzj
525
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to train your dragon (web standard)
notwaldorf
96
6.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
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&#&#&&" &#$&#"&"&#
&#&#&&"&#$ &#&%&#$&&## &"&&"&#"&"