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
進化し続けるプロジェクト ~バージョンアップを円滑に進める方法~
Search
wadakatu
August 26, 2024
Programming
0
89
進化し続けるプロジェクト ~バージョンアップを円滑に進める方法~
wadakatu
August 26, 2024
Tweet
Share
More Decks by wadakatu
See All by wadakatu
Serena MCPのすすめ
wadakatu
4
1.2k
Other Decks in Programming
See All in Programming
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
170
開発生産性が組織文化になるまでの軌跡
tonegawa07
0
190
How Software Deployment tools have changed in the past 20 years
geshan
0
4.5k
r2-image-worker
yusukebe
1
180
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
460
FlutterKaigi 2025 システム裏側
yumnumm
0
1.2k
Nitro v3
kazupon
2
320
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
530
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
660
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
39
13k
CSC509 Lecture 11
javiergs
PRO
0
310
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.2k
Featured
See All Featured
Designing for Performance
lara
610
69k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Side Projects
sachag
455
43k
Faster Mobile Websites
deanohume
310
31k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
980
Thoughts on Productivity
jonyablonski
73
4.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Transcript
バ ー ジ ョ ン ア ッ プ を 円
滑 に 進 め る 方 法 進化し続けるプロジェクト エージェント事業開発本部 MENTA担当 磯野 公耀 26 August, 2024
自己紹介 名前: 磯野 公耀(いその こうよう) 生息地: 大阪府 好きなもの: HHKB ,
カメラ GitHub: wadakatu アレルギー30種類持ってます(よく生きてる、えらい)
プログラミング言語 / フレームワーク バージョンアップしてますか?
バージョンアップって 中々進まないものですよね
影響範囲広すぎ ライブラリの互換性調べるのめんどくさい 時間とリソースが足りねえ! ??「今動いてるんだから いいじゃん」 現行バージョンと最新バージョンの差分デカすぎる!!
その気持ちわかります。
でも、バージョンアップは必要不可欠 逃げちゃダメだ、逃げちゃダメだ、逃げちゃダメだ!
バージョンアップを怠ると、 、 、 セキュリティの脆弱性増加 パフォーマンスの劣化 エンジニア採用への悪影響
なので、Mentaは
PHP 8.1 -> PHP 8.2 Laravel 10 -> Laravel 11
Vue2 -> Vue3 同じ悩みを抱えながらも、 、 、 のバージョンアップをしました! 4ヶ月でやったった!
バージョンアップを 円滑に進めるためのTips5選
1. 周辺ライブラリの断捨離をしよう お家の断捨離もしないとな。 。 。
言語やフレームワークのバージョンアップは 周辺ライブラリのバージョンアップも含まれる
それなら、バージョンアップ対応する ライブラリの数はなるべく少ない方が楽できる
昔使ってたけど、今使ってないライブラリって意外と多い
Mentaでは PHP / Laravelバージョンアップ:15個削除 Vue.jsバージョンアップ:7個削除
適切に断捨離して、無駄なアップデート作業を省こう!
2. ドキュメントと親友になろう
メジャーバージョンアップデートの際には、専用の公式 ドキュメントが用意されていることが多いです。
ブログ記事などを読む前に、絶対に 公式ドキュメントを先に読みましょう
英語版しかなくても、ChatGPTやDeepLなど 駆使して諦めず読んでみよう この業界にいる限り、英語からは逃げられないんですから...
自分たちのコードと照らし合わせながら読むと、 大体の影響範囲が予測できるのでおすすめ
3. バージョンアップは一歩ずつ
バージョンアップに焦りは禁物
PHPで例えると
PHP7.2 → PHP8.2 みたいなのは 絶対やめてください
セマンティックバージョニングを理解して 無理のないバージョンアップを行おう
セマンティックバージョニングとは X.Y.Z のようなバージョン表記 例:PHP8.1.19 / Vue3.4.12 X = メジャーバージョン 大きな機能変更、削除(後方互換性なし)
Y = マイナーバージョン 新機能追加、パラメータ追加(後方互換性あり) Z = パッチバージョン バグ修正(後方互換性あり) 詳しい説明はこちら
セマンティックバージョニングを使った場合 現行バージョン:PHP7.2.0 目標バージョン:PHP8.2.22 PHP7.2.0 -> PHP7.2.34 -> PHP7.3.33 -> PHP7.4.33
-> PHP 8.0.30-> PHP8.1.28 -> PHP8.2.22 あくまでも一例です
4. GitHubを有効活用しよう
公式ドキュメントがない場合、次に頼れるのはGitHub
GitHubのリポジトリページのREADMEにバージョンアップの 変更点や注意点が記載されていることもある
GitHubのIssueやDiscussionにも アップデートに関して有益な情報がよく転がっている
雑訳:このライブラリのVue3サポート頼むで〜〜〜
雑訳:Vue3サポートあったらワイも嬉しいわ〜 Vue3用に作ったフォークがあるみたいやけど、 製作者の@sipecさんがほんまにやる気あるかわからんのよな〜
雑訳:残念やけど、そのフォークもうメンテされてないっぽいで〜
雑訳:せやねん、色々忙しくてやめたんよ。ごめんやで。 。 。
雑訳:このプラグインのVue3対応しといたで〜 GitHub見といてよかった〜〜〜 🎉
IssueやDiscussionにまだ存在しない題材に関しては 自分で投稿してみるのも大事
5. ツールを使って楽しよう
Rector
PHPStanを用いた静的解析 + PHP-ParserベースのAST操作 = 超強力リファクタリングツール 引用元:Rector ではじめる "運用を止めない" PHP アップグレード
Rectorとは
MentaでもRector活用して 楽に安全にアップデートしました!
None
None
お金が潤沢に使える場合は...
有料サービスを使って 楽をするのもありかも。 。
まとめ バージョンアップは色々辛い
まとめ 効率よくバージョンアップしよう
まとめ ・1歩ずつバージョンアップを進めていこう ・バージョンアップ時はライブラリ断捨離チャンス ・ドキュメントをよく読もう ・GitHubにはバージョンアップを助けてくれる仲間がいる ・無料、有料ツールを使って楽をしよう
ご清聴ありがとうございました。