PHPConference Japan 2019
$IBUXPSLͷγεςϜ͔ΒֶͿϨΨγʔͳ1)1ͷݶքͱϨΨγʔ͔Βͷ٫1)1$POGFSFODF+BQBO
View Slide
© 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
© ChatworkChatworkͷόοΫΤϯυߏ
© ChatworkγεςϜߏ֓ཁOSQTNT
© 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ϨΨγʔͳγεςϜࢮ͵
© Chatwork1)1ΞϓϦέʔγϣϯͷͭΒΈ˔ϝϯςφϯε͕ͭΒ͍ঢ়ଶ˓ڊେͳϞϊϦεϓϩδΣΫτɺສߦͷ6UJMΫϥε˓ݹ͍ΦϨΦϨϑϨʔϜϫʔΫ˙Ϟμϯͳ੩తղੳπʔϧͷద༻͕͍͠˓҉ͱྺ࢙తܦҢཻ͕·ͪ·ͪͳυΩϡϝϯτ˔͕ೖΓࠞ͡Γׂ͍͕͗ͯͯ͢ࠔ˓ςετ͋Δ͕ʮෳͷΛຬͨ͢͜ͱʯͷ୲อ͕େม˔$IBUXPSLͱ1)1ͱࢲ 1)1$POGFSFODF IUUQTTQFBLFSEFDLDPNUBOBLBZVLJDIBUXPSLUPQIQUPTJ
© Chatwork੩తղੳπʔϧ˔1)14UBO˓143 $PNQPTFSʹରԠ͍ͯ͠ͳ͍Օॴ͕͋Γઃఆ͕ࠔ˔1IBO˓QIQBTU֦ு͕ඞਢ˓࠷ۙ·Ͱ1)1͕Քಇ͍ͯͨ͠ͷͰಋೖͰ͖ͳ͔ͬͨ˔4POBS2VCF˓େ͖͍ϑΝΠϧʹରͯ͠ಈ͔͢ͱEPDLFSίϯςφ͕མͪΔ˓॥తෳࡶͳͲऔΕΔ͕ɺཉ͍͠σʔλͦΕ͡Όͳ͍˔1IQ.FUSJDT˓ಈ͔ͤͨ
© Chatwork1IQ.FUSJDT
© Chatwork1IQ.FUSJDT1BDLBHF 0CKFDUϨϕϧͰͷϝτϦΫε ؔ࿈ਤ͕औಘՄೳ
© ChatworkPackage 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*͋Δ
© ChatworkGrowthScale 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ͷ৽ϝοηʔδϯάγεςϜΛࢧ͑Δٕज़ IUUQTTQFBLFSEFDLDPNKJLPDIBUXPSLGBMTFYJONFUVTF[JOHVTJTVUFNVXP[IJFSVKJTIV
© ChatworkεέʔϧΞτ˔γεςϜͱ৫ΛεέʔϧΞτ͢ΔΈ˓γεςϜ͚ͩεέʔϧΞτͯ͠ϝϯςφϯεͰ͖Δମ੍͕͍ͬͯͳ͍ͱ࣋ଓͰ͖ͳ͍˙ίϯΣΠͷ๏ଇ˓৫ͷεέʔϧʹ߹Θͤͯੜ࢈ੑΛߴΊΒΕΔߏ˙.JDSPTFSWJDFT˙.PEVMBS.POPMJUI
© Chatwork৫ߏ˔ώΤϥϧΩʔܕ৫͔Β٫˓νʔϜؒͷίϛϡχέʔγϣϯ͕औΓͮΒ͍˙ݱ͕ίϛϡχέʔγϣϯͤͣʹ࡞ΕΔ΄ͲιϑτΣΞ։ൃ؆୯Ͱͳ͍˓ҙࢥܾఆͷ͕ᐆດ
© Chatwork৫ߏ˔ϗϥΫϥγʔ৫˓ϩʔϧϕʔεͷࣗͨ͠νʔϜ˓ݖݶɺΛࢄ˓$IBUXPSLࣾʹ͍ͯΔ͔ ࠓޙݕ౼ग़య: GlassFrog
© ChatworkϨΨγʔ͔Βͷ٫͜Ε·Ͱ˔Ҡߦܭըɾํϓϥϯχϯά1P$˔ཁٻੳɾϞσϦϯά˓3%3" %%%˙3FMBUJPOTIJQ%SJWFO3FRVJSFNFOU"OBMZTJT˙ۀɺϢʔεέʔεɺυϝΠϯɺʜ˔͜͜·ͰͰϲ݄
© ChatworkϨΨγʔ͔Βͷ٫͜Ε͔Β˔5P%P˓ϞσϦϯά˓ίϯςΩετׂ˓։ൃ˓σʔλҠߦ˓։ൃ৫ͷ৽Δ͜ͱ͍ͬͺ͍
© Chatwork·ͱΊ˔ؔ࿈πʔϧͷݶք㲈ϨΨγʔͳ1)1ͷݶք˓ίʔυͷϝϯςφϯεʹݶք͕དྷΔํ͕ૣͦ͏˓ʮࠔΛׂʯͰ͖ΔΑ͏ʹઃܭ͓ͯ͘͠˔αʔϏεͷࣾձతɺཁٻੑೳ͕ߴ·͔ͬͯΒͷେنͳ৽ΊͪΌͪ͘Όେม˓Ϗδωεنɺঢ়گʹ߹ΘͤͯదͳλΠϛϯάͰͷϦϑΝΫλɺϦϥΠτɺϦΞʔΩςΫτ
© ChatworkIUUQTXXXXBOUFEMZDPNQSPKFDUT
© Chatwork8F$IBUXPSLBSFIJSJOHIUUQTDPSQDIBUXPSLDPNKBSFDSVJUFOHJOFFS˔ϋΠύϑΥʔϚϯεͳ1)1Λॻ͖͍ͨਓ˔1)1ʹॻ͖͖ͯผͷݴޠʹΓ͍͑ͨਓ