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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Keisuke Matsufuji
October 19, 2023
Programming
0
1k
これから始める!ニ段飛ばしの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
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
高速開発のためのコード整理術
sutetotanuki
1
410
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
680
ぼくの開発環境2026
yuzneri
0
250
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
330
Apache Iceberg V3 and migration to V3
tomtanaka
0
180
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
100
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
AI巻き込み型コードレビューのススメ
nealle
2
1.5k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
A Soul's Torment
seathinner
5
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Designing for Performance
lara
610
70k
Accessibility Awareness
sabderemane
0
58
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Evolving SEO for Evolving Search Engines
ryanjones
0
130
Side Projects
sachag
455
43k
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