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
技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善
Search
Arakaki Yuji
October 12, 2019
Programming
0
1.4k
技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善
Arakaki Yuji
October 12, 2019
Tweet
Share
More Decks by Arakaki Yuji
See All by Arakaki Yuji
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
340
私の選ぶ開発環境: Raycast, Vivaldi, Warp, Emacsを活用したワークフロー
ug
0
1.5k
2週間に一度からリリースを日々の当たり前にするエンジニアリングマネジメント
ug
0
1.5k
レガシーフレームワークからの移行
ug
0
450
データ指向プログラミング(仮)のススメ
ug
1
520
プログラミング言語に依存しない、質の高いコードを書く技術
ug
0
2.4k
Issues About frontend development
ug
0
3k
Azure web app is good
ug
0
470
sponser session by payke in hackers champloo 2019
ug
0
680
Other Decks in Programming
See All in Programming
Advance Your Career with Open Source
ivargrimstad
0
450
CSC305 Lecture 03
javiergs
PRO
0
240
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
610
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
970
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.2k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
520
CSC305 Lecture 05
javiergs
PRO
0
210
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
450
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
450
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
It's Worth the Effort
3n
187
28k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building Adaptive Systems
keathley
43
2.8k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Done Done
chrislema
185
16k
Embracing the Ebb and Flow
colly
88
4.8k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Unsuck your backbone
ammeep
671
58k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Transcript
©Payke, Inc.All rights reserved. #-(/SRE.' *"0 +,/ PHP
$ & ) Payke #-( %1!
©Payke, Inc.All rights reserved. 2 6)4% • /' 9- (
) • Twitter: @arakaji • 0,&3Payke • .7(2" • ! • CODEBASE & Lagoon !"8* • Java Kueche • JAZUG 15 ($+# :;
©Payke, Inc.All rights reserved. 3 .YN` N` .Y6 LF.YPayke bZ
2014D11I26H -_4\G 5T Af )M/B aH>;+7# % PaykelW$g: / Sd$98lW#! # OKINAWA OFFICEnJYo 904-0115 P]X2cU^Q1-2-15 TOKYO OFFICE 107-0052 K*jR3e<1-9-13 &.=!4F OSAKA OFFICE 541-0042 ?mE?mC(@3,O2-3-16 THE LINKS KITAHAMA/ Forbes 30 Under 30 Asia 2019 #%% "%ik h0 H[ 2019D2I4H 'V1HJ+ 50+ h0
©Payke, Inc.All rights reserved. 4 Payke$ Payke 47/. &&
% /.81 3EHCA G:20)-"%&$ $=D 47/.9 35 '/.*( BF!&&9 400 ')*( AppStore#%% ,?I> 1 + 201752<6;@ 201958<6;@
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. 6 - • Payke=J:B;6 • 02F1
• $+.',. PHP".)- & • )%(.:B5@D • & (LC/EK3 /E?O8 .!.* • .#GHA>9 <N7M 4I
©Payke, Inc.All rights reserved. Payke
©Payke, Inc.All rights reserved. 8 Payke G5<> • 3
" • B$G5 • 0E0E )(B$G5@ • *A%7 • CTO' (E?2,6 F/68= *A6DHC3 • 9:G5 • CTO' (Payke + !.&# -41;
©Payke, Inc.All rights reserved. 9 Payke G5<> • 3
" • B$G5 • 0E0E )(B$G5@ • *A%7 • CTO' (E?2,6 F/68= *A6DHC3 • 9:G5 • CTO' (Payke + !.&# -41;
©Payke, Inc.All rights reserved. 1 XdN`/B9^!q • Payke)B5,Wl"Kk eMn_kU
• LT1TH"fg\ !ipP • 70*;ja[V]#&-,O"QR Y,(B=5>1$bF 46%B8A,/;B2A' • PHP6?B9@B&3B+<A#07 • PHP 5.6c • :2.>A'DJZG • etc • eMn_/B9"Io Chip"g\ Sm/B9" E
©Payke, Inc.All rights reserved. 1
©Payke, Inc.All rights reserved. PHP
©Payke, Inc.All rights reserved. /6:27:&9PHP.:(48#*0BP • 2018@9DCHPHP.:(485.6 • @F5.6M)%35+$:#*0,:-ER> ;!
• <ANOLQK"O PHP.:(48#*0BS IG • ?J /6:27:&FuelPHP.:(481.7M • 1.7MPHP7M'1:- 7"=1.8#*0, :-BP
©Payke, Inc.All rights reserved. +6-A.e • 5>A7?A$+6-A. → PHP+6-A.j
• +6-A.WRb BC& @ • 2A(;@hPI#9+*+62A(;@+6 \U `QKX • :1+.,).Hg3) • &A4)K !<Ac`Q(,).%A) F) • fVSD8@2A+6-A.OTMJ • &A4)[^iLE'0=",).%A)FV()6>+/'A.) • aN,). • !<A_] +6-A.WRdY GZ
©Payke, Inc.All rights reserved. 3, 9 • FuelPHP1.81
→ 22+% • PHP 7.21 → 21+% • () • $' # • &6*804 • PHP7.21 -5 ! 7/".#
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. (62#4:<NVGZd • Payke&:/:&".PHPc?L=OK` JC =ODY
)%(4:7;W NV • MySQLschdules-:28 DY K` JC (62 T^ • )%(4:7Q39*)schedules [DYK`M+)$ [DY ;W • 5:':!$*)B(62T^B9,$FSP bE >A • 9,$F @] (62DY)1:.1U1@aR • &:0)I_)%(4:7HX\
©Payke, Inc.All rights reserved. /*.57ADF • ! .50()5+4!'#
/*9?=F / * • 4&CJ?-52I6 • <;GEAPI: 3%5"@H • ! .50 89?=F /*> /*.5!$, AD • AzureQueue StorageB /*.50*01 • https://github.com/Arakaki-Yuji/backjob
©Payke, Inc.All rights reserved. HC • Azure Queue Storage*("3)
1(" %/,K9: 7 J • %/,6E 24 4-1'&= 1GM6E %/, B= 5;I • $4+&AL%/,!.4<F • &#%.401("@N?>D A8
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. /,'4ka=cjB\e":-(%:8 Qiq • ?DPayke5:&:@R)$39-M /,'4kajB
\emIb^_oLh] • jB1+9U /,'4ka jB >[ • /,'4kaYkNYWC #)( Z/,'4kajBV PTgK` ldFGjBYnG!9.6(%:79 $f • ?;Hp • OXX< /,'4kajB • AX!09-Gj • 5:&:+!2*:9Gj • SE(%:79$ TgK`Yn J
©Payke, Inc.All rights reserved. *$ /TM9NS<GP 5'!51U W • PaykeFKIB
Azure=J • PaykeF;VM7 +!' • Application Gateway L725()035>HVO • Payke3(.&(Payke 0-)Azure Web App7 +!' • D? :8!51'4$* • Application Gateway" 3!'51E • VME • Azure Web App3!#3!E • AzureCLI%51 az ,3( 6L RCAP Q?@
©Payke, Inc.All rights reserved. (&")D>/?C1:@.'$!.,EH • ;(&")D>/?C1:@4B • 9G63 %$
4A$!#).*0 • (&")D>/? $!#).*/?9G%$ <F 9G$!#).*%$ 4A(&")D>C1 • $!#).*2= 571~284B-++.$A
©Payke, Inc.All rights reserved. %!'B<-=A.8> ," ,)C F • 9Payke/+$(
,)" 16 Web API 4? • API3 %!'B<-=7E A.5:D2A. % !'B<7E0,#, ,)" 16 * &+ @ • ," ,)4;
©Payke, Inc.All rights reserved. 3,*6aX=[`BS^%<.+(<9 bd • '7$/ZVW)<1 YCronDWeb API
F • :+4;+]R+(<9"$. ON >E@ +(<9"$.W+'83.#;27 +(<9"$. • :+4;+]R0<59#;27 +(<9#; +'8 3. K_ CM • )<1IQTL(0<59 or +(<9"$.) -&+.2!#9AJ Web API]R H ? • \G • 3,*6aX=[`B • `BPcG#;27%<.+(<9 KU
©Payke, Inc.All rights reserved. %" 'NC,DM/=G+#!+) E; P • %"
'NC0 *$(J9.<6I2AO8 • %" 'NC74F6I2ABK?L%" 'NC#( • %" 'NCM/5 ><@ • 1:H&*#3 %" 'NC -:.<M/
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. NFfqg%ly;4A72,%yk" • ^vPpV8.7/%`"NFf}]Y • #8.7/%J
u • NFf} K"qg(&,3'9?D-DaTt&*(C4a)w O~nBD5<2:%ly#!qg%|\"E^vo;4A72 ,"s]%X K;4A72,%yi" h!#" • )C.6& U =0C~nmQ,@(5^v%I&D +3,1>Rc#$ • ^vPpjMHr !x _{jMZ"_{WLe %G lyKd"[zb " SF
©Payke, Inc.All rights reserved. ;FK?HK*JPHP%3<5K6SR • PHP5.61)BE4&@I47I/q#" ! PHP5.6$ Nn
! xUpWZt ,K:/mn ! E/*$] ! • Lawkb `,K:/\Ud"!;'K0 "$_ !(I.8%^h MQ!(I.8%Q n Lxs • 1)BE4&@I47I/q#"9K.CI<G+D>I+u v$N A2=K-CIyifgZU X}!^h {ozcM9K.CI%3<$! |VU OP ! • mnjyieT$ [Yrl
©Payke, Inc.All rights reserved. "2+07<LS?> • /)5,4G[PM XA &+17!7H;W J@#"073FT8\C
KO • FT8\ 7*#]B 17!7ND .7&6 $5ZU9YG[-'5(%=TF^ • FT8\RQ I "2+07:EV
©Payke, Inc.All rights reserved. %!'YP/QX6 -#-+@; • %!'YP]Z ,$*UH3KI\ FS?OI\><=
W • (--",),LD . %!'YPX6^BX6 &,J[:ET • /QX6 -#-+AM • FS?O257N8 10VC • %!'YPX6R9: ?OG4
©Payke, Inc.All rights reserved. ".*% CDA;3 7J 2I •
F1#%',:=6L? >H • *$)%8@/7JB< >H F1#%',L?+(-) &!5E • 9G".*%7J K4 2I 0 E
None