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の限界とレガシーからの脱却 / phpcon2019
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shmurakami
December 01, 2019
Technology
2
3.8k
レガシーなPHPの限界とレガシーからの脱却 / phpcon2019
PHPConference Japan 2019
shmurakami
December 01, 2019
Tweet
Share
More Decks by shmurakami
See All by shmurakami
サーバーサイドから見るChatworkの現状と未来 / Now and future of Chatwork from server side perspective
shmurakami
3
1.3k
php grpc-client in phpcon2018
shmurakami
0
1.8k
lumen e2e test
shmurakami
0
1.1k
decoded_php.pdf
shmurakami
3
800
良心的にまじめに開発するための心構え
shmurakami
0
190
TypeScriptでKnockoutを書いてみた
shmurakami
3
1.3k
社内勉強会資料 PHPプロジェクトでのJavaScript
shmurakami
0
690
社内勉強会資料 JavaScriptの基本 その1
shmurakami
5
1.9k
Other Decks in Technology
See All in Technology
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
150
Devinを導入したら予想外の人たちに好評だった
tomuro
0
450
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
AI Agentにおける評価指標とAgent GPA
tsho
1
230
【SLO】"多様な期待値" と向き合ってみた
z63d
2
240
Digitization部 紹介資料
sansan33
PRO
1
6.9k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
270
Microsoft Fabric のワークスペースと容量の設計原則
ryomaru0825
2
210
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
2
500
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
200
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Evolving SEO for Evolving Search Engines
ryanjones
0
140
エンジニアに許された特別な時間の終わり
watany
106
240k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Crafting Experiences
bethany
1
74
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
380
Statistics for Hackers
jakevdp
799
230k
Optimizing for Happiness
mojombo
379
71k
Transcript
$IBUXPSLͷγεςϜ͔ΒֶͿ ϨΨγʔͳ1)1ͷݶքͱϨΨγʔ͔Βͷ٫ 1)1$POGFSFODF+BQBO
© Chatwork ࣗݾհ ˔͠Ό͔TIBLB ଜ্ढ़հ ˔$IBUXPSLגࣜձࣾ ˔1)1ྺ4DBMBྺOϲ݄ ˔1)1Ͱ*46$0/ຊબҐ
© Chatwork $IBUXPSLʹ͍ͭͯ ˔ϏδωενϟοταʔϏε ˓άϧʔϓνϟοτ λεΫཧ ϑΝΠϧڞ༗ ϏσΦԻ௨ ˔ಋೖاۀ ࣾҎ্
݄ݱࡏ
© Chatwork "HFOEB ˔͜ͷൃදͰͷϨΨγʔίʔυͷఆٛ ˔$IBUXPSLͷόοΫΤϯυߏ ˔ϨΨγʔͳ1)1ͷݶք ˔ϨΨγʔ͔Βͷ٫
© Chatwork ϨΨγʔίʔυͷఆٛ
© Chatwork ϨΨγʔίʔυͷఆٛ ʮςετ͕ͳ͍ίʔυʯ ϨΨγʔίʔυվળΨΠυ. גࣜձࣾᠳӭࣾ, 2009
© Chatwork ϨΨγʔίʔυͷఆٛ ʮॊೈੑͷͳ͍ίʔυʯ ʮςετ͞Ε͍ͯͳ͍ίʔυʯ ʮٕज़తෛ࠴Λ๊͍͑ͯΔίʔυʯ ϨΨγʔιϑτΣΞվળΨΠυ. גࣜձࣾᠳӭࣾ, 2016, 7p
© Chatwork ϨΨγʔίʔυͷఆٛ ʮमਖ਼ɺ֦ுɺ࡞ۀ͕ ɹɹඇৗʹ͍͠ίʔυʯ ϨΨγʔίʔυ͔Βͷ٫. ΦϥΠϦʔɾδϟύϯ, 2019, xiii
© Chatwork ͜ͷൃදͰͷϨΨγʔίʔυͷఆٛ ʮमਖ਼ɺ֦ுɺ࡞ۀ͕ ɹɹඇৗʹ͍͠ίʔυʯ ϨΨγʔίʔυ͔Βͷ٫. ΦϥΠϦʔɾδϟύϯ, 2019, xiii
© Chatwork ChatworkͷόοΫΤϯυߏ
© Chatwork γεςϜߏ֓ཁ OSQT NT
© Chatwork $IBUXPSLʹ͓͚ΔαʔόʔαΠυ ˔ όʔδϣϯY ˓ ࠓͰ&0-Ͱ͢Ͷ ˔ લʹ࡞ΒΕͨΦϨΦϨϑϨʔ ϜϫʔΫ
˔ ڊେͳϞϊϦε ˔ Α͋͘Δ5)&ϨΨγʔ ˓ ҉ͱྺ࢙తܦҢ͕ͨ͘͞Μ ˓ ͍ΖΜͳਓͷࢥ͕ࠞ͡Γ߹ͬ ͨྺ࢙͕ਂ͍ϨΠϠʔ ˔ .JDSPTFSWJDFTνοΫ ˔ ࢄγεςϜࢤ ˓ )#BTF ˓ %ZOBNP%# ˓ ,BGLB ˔ ϦΞΫςΟϒγεςϜ ˓ &WFOU4PVSDJOH ˓ $234
© Chatwork $IBUXPSLʹ͓͚ΔαʔόʔαΠυ IUUQTDSFBUPSTOPUFDIBUXPSLDPNFOUSZTDBMBZFBS
© Chatwork $IBUXPSLʹ͓͚ΔαʔόʔαΠυ $IBUXPSLͰલʹɺ1)1ͷಠࣗϑϨʔϜϫʔΫͰͭ͘ ΒΕͨେنγεςϜΛɺ4DBMBΛͬͯθϩϕʔεͰͭ͘Γͳ͓ ͢ͱ͍͏ܾஅΛ͠·ͨ͠ɻ ͜͜ͰͳΜͱ͔͠ͳ͍ͱαʔϏε͕কདྷతʹࢮ͵ɺͱഎਫͷਞ ͰΜͩϓϩδΣΫτͰͨ͠ IUUQTDSFBUPSTOPUFDIBUXPSLDPNFOUSZTDBMBZFBS
© Chatwork $IBUXPSLʹ͓͚ΔαʔόʔαΠυ $IBUXPSLͰલʹɺ1)1ͷಠࣗϑϨʔϜϫʔΫͰͭ͘ ΒΕͨେنγεςϜΛɺ4DBMBΛͬͯθϩϕʔεͰͭ͘Γͳ͓ ͢ͱ͍͏ܾஅΛ͠·ͨ͠ɻ ͜͜ͰͳΜͱ͔͠ͳ͍ͱαʔϏε͕কདྷతʹࢮ͵ɺͱഎਫͷਞ ͰΜͩϓϩδΣΫτͰͨ͠ IUUQTDSFBUPSTOPUFDIBUXPSLDPNFOUSZTDBMBZFBS
ϨΨγʔͳγεςϜࢮ͵
© Chatwork 1)1ΞϓϦέʔγϣϯͷͭΒΈ ˔ϝϯςφϯε͕ͭΒ͍ঢ়ଶ ˓ڊେͳϞϊϦεϓϩδΣΫτɺສߦͷ6UJMΫϥε ˓ݹ͍ΦϨΦϨϑϨʔϜϫʔΫ ˙Ϟμϯͳ੩తղੳπʔϧͷద༻͕͍͠ ˓҉ͱྺ࢙తܦҢ ཻ͕·ͪ·ͪͳυΩϡϝϯτ ˔͕ೖΓࠞ͡Γׂ͍͕͗ͯͯ͢ࠔ
˓ςετ͋Δ͕ʮෳͷΛຬͨ͢͜ͱʯͷ୲อ͕େม ˔$IBUXPSLͱ1)1ͱࢲ 1)1$POGFSFODF IUUQTTQFBLFSEFDLDPNUBOBLBZVLJDIBUXPSLUPQIQUPTJ
© Chatwork ੩తղੳπʔϧ ˔1)14UBO ˓143 $PNQPTFSʹରԠ͍ͯ͠ͳ͍Օॴ͕͋Γઃఆ͕ࠔ ˔1IBO ˓QIQBTU֦ு͕ඞਢ ˓࠷ۙ·Ͱ1)1͕Քಇ͍ͯͨ͠ͷͰಋೖͰ͖ͳ͔ͬͨ ˔4POBS2VCF
˓େ͖͍ϑΝΠϧʹରͯ͠ಈ͔͢ͱEPDLFSίϯςφ͕མͪΔ ˓॥తෳࡶͳͲऔΕΔ͕ɺཉ͍͠σʔλͦΕ͡Όͳ͍ ˔1IQ.FUSJDT ˓ಈ͔ͤͨ
© Chatwork 1IQ.FUSJDT
© Chatwork 1IQ.FUSJDT 1BDLBHF 0CKFDUϨϕϧͰͷϝτϦΫε ؔ࿈ ਤ͕औಘՄೳ
© Chatwork Package relations by PhpMetrics
© Chatwork Ͳ͏ͯ͜͠͏ͳͬͨʁ ˔༏ઌͰ։ൃΛଓ͚͖ͯͨ෭࡞༻ ˓ελʔτΞοϓͰͨΓલͷݱ ˔Ϗδωε͕֦େͨ͠λΠϛϯάͰ༷Λݫ֨Խ͠ͳ͔ͬͨ ˓ͱͱࣾπʔϧͩͬͨ ˓ᐆດͳ༷͕ᐆດͳ༷ΛੜΉѱ॥ ˔աڈʹίʔυͷվળʹࣦഊͨ͠ ˓શମతͳ4DBMBԽʹҰࣦഊ͠ɺ෦తʹ͔͠ҠߦͰ͖
͍ͯͳ͍ ˓4DBMBԽͨ͠෦ͷઃܭ1)1ʹҾ͖ͣΒΕΔ
© Chatwork ϨΨγʔͳPHPͷݶք
© Chatwork ʮमਖ਼ɺ֦ுɺ࡞ۀ͕ ɹɹඇৗʹ͍͠ίʔυʯ
© Chatwork ࠔͳมߋ ˔ϓϩδΣΫτͷن͕େ͖͘ɺΞʔΩςΫνϟɾઃܭͷେ نͳมߋ͕ࠔ ˓%#ͷׂɺεέʔϧΞτ ˓ϦϙδτϦׂ ˓1MBJO1)1ʹΑΔಉظॲཧલఏͷ༷ ˙ࠓ͔Β4XPPMF "NQͷಋೖʜ
˓֎෦αʔϏεͷҠߦ ˙ݱͳΒ4 -BNCEBͰࡁΉ"1*͋Δ
© Chatwork ϨΨγʔγεςϜͷݶք ʮࠔΛׂͤΑʯ
© Chatwork ࠔͳมߋ ˔ϓϩδΣΫτͷن͕େ͖͘ɺΞʔΩςΫνϟɾઃܭͷม ߋ͕ࠔ ˓%#ͷׂɺεέʔϧΞτ ˓ϦϙδτϦׂ ˓1MBJO1)1ʹΑΔಉظॲཧલఏͷ༷ ˙ࠓ͔Β4XPPMF "NQͷಋೖʜ
˓֎෦αʔϏεͷҠߦ ˙ݱͳΒ4 -BNCEBͰࡁΉ"1*͋Δ
© Chatwork Growth Scale Out Scale Up ❌
© Chatwork ϨΨγʔγεςϜ͕ݶքΛܴ͑ΔλΠϛϯά ˔αʔϏεΛܧଓ্͍ͯ͘͠Ͱى͜Δ͜ͱ ˓૿͑ଓ͚ΔϢʔβʔ ˓ϦΫΤετͷ૿Ճ ˓%#εέʔϧΞοϓͷݶքΛܴ͑Δ εέʔϧΞτࠔ ˓%#ίωΫγϣϯͷݶքΛܴ͑Δ
˓ϦΫΤετ͕ॲཧෆՄೳʹͳΔ ˔ΞϓϦέʔγϣϯϨΠϠʔͰରॲͰ͖ͳ͍ϛυϧΣΞͷੑ ೳݶքΛܴ͑Δ
© Chatwork Կ͕ͳͷ͔ ˔1)1͘ͳ͍͠ѱ͘ͳ͍ ˓1)1ѱ͘ͳ͍͘͠ͳ͍ େࣄ ˔ࣗࣾϑϨʔϜϫʔΫϨΨγʔ͕ͩ͘ͳ͍ ˓ ඞཁͳػೳ͕ແ͍ͱݴ͑Δ
˓ྲྀߦΓ͔ͩΒͱ-BSBWFMͳͲॏްͳϑϨʔϜϫʔΫʹ Γ͑ΔͱύϑΥʔϚϯε͕ग़ͳͯ͘αʔϏε͕མͪΔ ˔$IBUXPSLͷαʔϏεنʹ1)1͕ద߹͠ͳ͘ͳͬͨ ˓ͦΖͦΖ%#ίωΫγϣϯϓʔϧ͕ཉ͍͠ ˓O,SQTΛಉظॲཧͷݴޠͰॲཧ͢Δͷ͍͠ ˙+7. (P &SMBOH7.ͳͲ͕ద
© Chatwork ϨΨγʔ͔Βͷ٫ in Chatwork
© Chatwork ϨΨγʔ͔Βͷ٫ ˔5P%P ˓αʔϏεͷޓੑΛอͪͭͭ։ൃΛָʹ͠ͳ͕Β ˓ࠓͷഒͷτϥϯβΫγϣϯΛॲཧՄೳʹ͠ ˓৫ʹεέʔϥϏϦςΟΛ࣋ͨͤΔ
© Chatwork ٻΊΒΕ͍ͯΔͷ ˔ଈԠੑ ˓ߴͳϨεϙϯε ˔ྗੑ ˓ߴՄ༻ੑ ˔োੑ ˓γεςϜোͷہॴԽߴՔಇ
© Chatwork ϦΞΫςΟϒγεςϜ ग़య: ϦΞΫςΟϒએݴ ˔$IBUXPSLͷ৽ϝοηʔδϯάγεςϜΛࢧ͑Δٕज़ IUUQTTQFBLFSEFDLDPNKJLPDIBUXPSLGBMTFYJO NFUVTF[JOHVTJTVUFNVXP[IJFSVKJTIV
© Chatwork εέʔϧΞτ ˔γεςϜͱ৫ΛεέʔϧΞτ͢ΔΈ ˓γεςϜ͚ͩεέʔϧΞτͯ͠ϝϯςφϯεͰ͖Δ ମ੍͕͍ͬͯͳ͍ͱ࣋ଓͰ͖ͳ͍ ˙ίϯΣΠͷ๏ଇ ˓৫ͷεέʔϧʹ߹Θͤͯੜ࢈ੑΛߴΊΒΕΔߏ ˙.JDSPTFSWJDFT ˙.PEVMBS.POPMJUI
© Chatwork ৫ߏ ˔ώΤϥϧΩʔܕ৫͔Β٫ ˓νʔϜؒͷίϛϡχέʔγϣϯ͕औΓͮΒ͍ ˙ݱ͕ίϛϡχέʔγϣϯͤͣʹ࡞ΕΔ΄Ͳιϑτ ΣΞ։ൃ؆୯Ͱͳ͍ ˓ҙࢥܾఆͷ͕ᐆດ
© Chatwork ৫ߏ ˔ϗϥΫϥγʔ৫ ˓ϩʔϧϕʔεͷࣗͨ͠νʔϜ ˓ݖݶɺΛࢄ ˓$IBUXPSLࣾʹ͍ͯΔ͔ ࠓޙݕ౼ ग़య: GlassFrog
© Chatwork ϨΨγʔ͔Βͷ٫͜Ε·Ͱ ˔Ҡߦܭըɾํϓϥϯχϯά1P$ ˔ཁٻੳɾϞσϦϯά ˓3%3" %%% ˙3FMBUJPOTIJQ%SJWFO3FRVJSFNFOU"OBMZTJT ˙ۀɺϢʔεέʔεɺυϝΠϯɺʜ ˔͜͜·ͰͰϲ݄
© Chatwork ϨΨγʔ͔Βͷ٫͜Ε͔Β ˔5P%P ˓ϞσϦϯά ˓ίϯςΩετׂ ˓։ൃ ˓σʔλҠߦ ˓։ൃ৫ͷ৽ Δ͜ͱ͍ͬͺ͍
© Chatwork ·ͱΊ ˔ؔ࿈πʔϧͷݶք㲈ϨΨγʔͳ1)1ͷݶք ˓ίʔυͷϝϯςφϯεʹݶք͕དྷΔํ͕ૣͦ͏ ˓ʮࠔΛׂʯͰ͖ΔΑ͏ʹઃܭ͓ͯ͘͠ ˔αʔϏεͷࣾձతɺཁٻੑೳ͕ߴ·͔ͬͯΒͷେن ͳ৽ΊͪΌͪ͘Όେม ˓Ϗδωεنɺঢ়گʹ߹ΘͤͯదͳλΠϛϯάͰͷϦ ϑΝΫλɺϦϥΠτɺϦΞʔΩςΫτ
© Chatwork IUUQTXXXXBOUFEMZDPNQSPKFDUT
© Chatwork 8F$IBUXPSLBSFIJSJOH IUUQTDPSQDIBUXPSLDPNKBSFDSVJUFOHJOFFS ˔ϋΠύϑΥʔϚϯεͳ1)1Λॻ͖͍ͨਓ ˔1)1ʹॻ͖͖ͯผͷݴޠʹΓ͍͑ͨਓ