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
3.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レガシーなPHPの限界とレガシーからの脱却 / phpcon2019
PHPConference Japan 2019
shmurakami
December 01, 2019
More Decks by shmurakami
See All by shmurakami
サーバーサイドから見るChatworkの現状と未来 / Now and future of Chatwork from server side perspective
shmurakami
3
1.4k
php grpc-client in phpcon2018
shmurakami
0
1.8k
lumen e2e test
shmurakami
0
1.2k
decoded_php.pdf
shmurakami
3
820
良心的にまじめに開発するための心構え
shmurakami
0
200
TypeScriptでKnockoutを書いてみた
shmurakami
3
1.3k
社内勉強会資料 PHPプロジェクトでのJavaScript
shmurakami
0
720
社内勉強会資料 JavaScriptの基本 その1
shmurakami
5
1.9k
Other Decks in Technology
See All in Technology
AICoEでAIネイティブ組織への進化
yukiogawa
0
200
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
560
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.6k
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
300
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
320
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
5.1k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
300
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
810
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
280
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.6k
Building Adaptive Systems
keathley
44
3.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Paper Plane
katiecoart
PRO
2
52k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
420
Amusing Abliteration
ianozsvald
1
230
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
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ʹॻ͖͖ͯผͷݴޠʹΓ͍͑ͨਓ