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
86
進化し続けるプロジェクト ~バージョンアップを円滑に進める方法~
wadakatu
August 26, 2024
Tweet
Share
More Decks by wadakatu
See All by wadakatu
Serena MCPのすすめ
wadakatu
3
160
Other Decks in Programming
See All in Programming
はじめてのMaterial3 Expressive
ym223
2
1.1k
麻雀点数計算問題生成タスクから学ぶ Single Agentの限界と Agentic Workflowの底力
po3rin
5
1.9k
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
280
クラシルを支える技術と組織
rakutek
0
160
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
2
980
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
400
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
120
プログラマのための作曲入門
cheebow
0
460
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.5k
実践AIチャットボットUI実装入門
syumai
7
2.1k
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
210
CSC509 Lecture 02
javiergs
PRO
0
360
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Being A Developer After 40
akosma
90
590k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Building an army of robots
kneath
306
46k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Gamification - CAS2011
davidbonilla
81
5.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Speed Design
sergeychernyshev
32
1.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
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にはバージョンアップを助けてくれる仲間がいる ・無料、有料ツールを使って楽をしよう
ご清聴ありがとうございました。