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
110
0
Share
進化し続けるプロジェクト ~バージョンアップを円滑に進める方法~
wadakatu
August 26, 2024
More Decks by wadakatu
See All by wadakatu
Serena MCPのすすめ
wadakatu
4
1.5k
Other Decks in Programming
See All in Programming
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.8k
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
160
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
470
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
140
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
320
AgentCore Optimizationを始めよう!
licux
3
160
GoogleCloudとterraform完全に理解した
terisuke
1
180
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.1k
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
740
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
210
Don't Prompt Harder, Structure Better
kitasuke
0
810
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
360
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
380
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Odyssey Design
rkendrick25
PRO
2
610
The Spectacular Lies of Maps
axbom
PRO
1
730
GraphQLとの向き合い方2022年版
quramy
50
15k
Producing Creativity
orderedlist
PRO
348
40k
Building AI with AI
inesmontani
PRO
1
960
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にはバージョンアップを助けてくれる仲間がいる ・無料、有料ツールを使って楽をしよう
ご清聴ありがとうございました。