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
shmurakami
December 01, 2019
Technology
2
3.3k
レガシーな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.1k
php grpc-client in phpcon2018
shmurakami
0
1.5k
lumen e2e test
shmurakami
0
1.1k
decoded_php.pdf
shmurakami
3
730
良心的にまじめに開発するための心構え
shmurakami
0
150
TypeScriptでKnockoutを書いてみた
shmurakami
3
1.2k
社内勉強会資料 PHPプロジェクトでのJavaScript
shmurakami
0
610
社内勉強会資料 JavaScriptの基本 その1
shmurakami
5
1.7k
Other Decks in Technology
See All in Technology
Getting started with controlling LEGO using Swift
hcrane
0
130
Tohoku.Tech #1 「EC-CUBE/AWSの構築をChatGPTに相談してみました」by テンダ
jun2882
0
140
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
460
技術広報経験0のEMがエンジニアブランディングをはじめてみた
coconala_engineer
1
130
Cloud Deploy と仲良くなりたい
phaya72
1
100
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
170
チーム単位で保守性を高める:独自指標と向上にむけた実践
tarappo
0
300
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
Vos logs méritent mieux que la config par défaut
lyrixx
2
330
Autify Company Deck
autifyhq
1
30k
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
10
1k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Rails Girls Zürich Keynote
gr2m
91
13k
Teambox: Starting and Learning
jrom
126
8.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Docker and Python
trallard
33
2.6k
Thoughts on Productivity
jonyablonski
57
3.8k
Building Applications with DynamoDB
mza
88
5.6k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Faster Mobile Websites
deanohume
296
30k
Designing with Data
zakiwarfel
94
4.8k
Done Done
chrislema
178
15k
Keith and Marios Guide to Fast Websites
keithpitt
407
22k
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ʹॻ͖͖ͯผͷݴޠʹΓ͍͑ͨਓ