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
350
私の選ぶ開発環境: Raycast, Vivaldi, Warp, Emacsを活用したワークフロー
ug
0
1.5k
2週間に一度からリリースを日々の当たり前にするエンジニアリングマネジメント
ug
0
1.6k
レガシーフレームワークからの移行
ug
0
470
データ指向プログラミング(仮)のススメ
ug
1
530
プログラミング言語に依存しない、質の高いコードを書く技術
ug
0
2.4k
Issues About frontend development
ug
0
3k
Azure web app is good
ug
0
480
sponser session by payke in hackers champloo 2019
ug
0
690
Other Decks in Programming
See All in Programming
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
1
950
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
31
12k
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
280
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
500
SUZURIの規約違反チェックにおけるクリエイタフィードバックの試⾏錯誤/Trial and Error in Creator Feedback for SUZURI's Terms of Service Violation Checks
ae14watanabe
1
150
しっかり学ぶ java.lang.*
nagise
1
370
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
600
チーム開発の “地ならし"
konifar
7
4.5k
CSC509 Lecture 13
javiergs
PRO
0
250
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
150
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
400
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Scaling GitHub
holman
463
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Building Adaptive Systems
keathley
44
2.8k
Navigating Team Friction
lara
190
15k
Why Our Code Smells
bkeepers
PRO
340
57k
Thoughts on Productivity
jonyablonski
73
4.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
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