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バージョンアッププロジェクト戦略
Search
Keisuke Matsufuji
October 19, 2023
Programming
0
470
これから始める!ニ段飛ばしのPHPバージョンアッププロジェクト戦略
https://fortee.jp/phpcon-2023/proposal/85118c7f-c8ab-4c53-a99f-6566306404e4
Keisuke Matsufuji
October 19, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
業務ツールとして使うPostman
msys75
0
110
Snowflakeで眠ったデータを起こそう!
estie
0
150
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
530
使ってみよう Azure AI Document Intelligence
kosmosebi
2
360
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
990
Ruby Function Composition
bkuhlmann
1
340
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
180
Git Lint
bkuhlmann
4
760
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
170
Elm 0.19.0 Changes
bkuhlmann
0
510
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
130
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
510
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
A Philosophy of Restraint
colly
197
16k
Producing Creativity
orderedlist
PRO
338
39k
It's Worth the Effort
3n
180
27k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
The Cult of Friendly URLs
andyhume
74
5.7k
A Tale of Four Properties
chriscoyier
152
22k
The Invisible Customer
myddelton
114
12k
Building an army of robots
kneath
300
41k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Transcript
PHP Conference Japan 2023 2023.10.08 松藤 圭祐(@matsusuke)/GMOペパボ株式会社 1 これから始める!ニ段⾶ばしのPHP バージョンアッププロジェクト戦略
ホスティング事業部 プロダクトチーム 2022年 中途⼊社 2 ⾃⼰紹介 松藤 圭祐 Matsufuji Keisuke ホスティング事業部でバックエンドエンジニアとし
てプロダクトの設計‧開発‧保守を担当。 • matsusuke と呼ばれています • 福岡県福岡市在住の29歳 • Twitter : @mtfuji0mtske
GMOペパボについて 3 https://pepabo.com
ホスティング事業部のプロダクトについて 4 https://pepabo.com
5 ‧歴史あるアプリケーションの PHPバージョンアップの戦略 ‧どのような懸念があり、 どう決断を⾏なったか 今⽇話すこと
6 アジェンダ 1. アプリケーションの現状とゴール 2. ゴールに向けて⽴てた戦略 3. アプリケーションの質を担保するテスト戦略 4. さいごに
1. アプリケーションの 現状とゴール 7
アプリケーションの現状とゴール 8 PHP 5.6 PHP 8.2
アプリケーションの現状とゴール 9 PHP 5.6 PHP 8.2 やばい戦略
2. ゴールに向けて⽴てた戦略 10
ゴールに向けて⽴てた戦略 PHPStanによる静的解析 →構⽂エラーのうち、3分の2以上がZend Framework →フレームワークのバージョンを上げる? まず、何から始める? 11
ゴールに向けて⽴てた戦略 ZendFramework1系は8.2に対応していない フレームワークのバージョンアップが必要 →厳しい 12 懸念
ゴールに向けて⽴てた戦略 • 静的解析の結果、全ての構⽂エラーを直すのは効率的ではない • エラーの修正とフレームワークのパッチを当てる • テストコードを並⾏して作成する 戦略 13
3. アプリケーションの質を 担保するテスト戦略 14
アプリケーションの質を担保するテスト戦略 ⼀般的なテスティングピラミッド 15 E2E Integration Unit
アプリケーションの質を担保するテスト戦略 16 今回のテスト戦略 Unit E2E
アプリケーションの質を担保するテスト戦略 17 Unit E2E • 修正したメソッドのUnitテストのみ • できるだけ⼯数をかけない Unitテスト戦略
アプリケーションの質を担保するテスト戦略 18 Unit E2E • コアとなる機能のテストを 重点的に作成 • PlaywrightをE2Eライブラリとして使⽤ E2Eテスト戦略
4. さいごに 19
さいごに • 質の担保と⼯数のバランスが取れた戦略を考えることができた! • バージョンアップに携われた⽅、 是⾮体験談を聞かせてください! 20
Thank You! 21