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
[Willgate]PHP5.xから脱却する為の道のり/池添,横道
Search
Z.O.E.
May 16, 2018
Technology
0
1.1k
[Willgate]PHP5.xから脱却する為の道のり/池添,横道
Z.O.E.
May 16, 2018
Tweet
Share
More Decks by Z.O.E.
See All by Z.O.E.
[PHPカンファレンス2024]【ISUCONでも使える!?】お手軽にパフォーマンス改善入門 〜MySQL Performance Schema編〜
ikezoemakoto
1
120
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
4
340
[Developers Summit 2024 Summer]良いプロダクト作りのための組織育成 ~1on1完全攻略編~
ikezoemakoto
7
2.9k
【ぺちこん小田原2024懇親会LT】新卒教育できる組織を育成するためにしてきたこと(公開用)
ikezoemakoto
3
170
[Developers Summit 2024]良いプロダクト作りのための組織育成(理論&実践編) 健全なコードは健全な組織、健全なチームから
ikezoemakoto
16
7.5k
[PHPカンファレンス北海道2024 全然野菜]PHPとLaravelで使える ジェネレータを使った大量データ処理のパフォーマンス改善
ikezoemakoto
0
89
[PHPカンファレンス2023]NFCネームプレートを自作して楽しく交流しよう!
ikezoemakoto
0
630
[PHPカンファレンス沖縄2023]【実践編】良いプロダクト作りのための組織育成 健全なコードは健全な組織、健全なチームから
ikezoemakoto
2
770
良いプロダクト作りのための組織育成 健全なコードは、 健全な組織・健全なチームから
ikezoemakoto
8
4.9k
Other Decks in Technology
See All in Technology
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
220
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
UI State設計とテスト方針
rmakiyama
2
590
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
130
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
110
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
110
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Adopting Sorbet at Scale
ufuk
73
9.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Fireside Chat
paigeccino
34
3.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
The World Runs on Bad Software
bkeepers
PRO
65
11k
Building Applications with DynamoDB
mza
91
6.1k
What's in a price? How to price your products and services
michaelherold
243
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Making the Leap to Tech Lead
cromwellryan
133
9k
Transcript
None
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道
• PHP7導入推進 @池添 • まとめ
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道
• PHP7導入推進 @池添 • まとめ
導入前の状況 • サービス稼働から 5年目 • 開発メンバー 8人 • CakePHP1.3 •
PHP5.3
導入前の状況 • サービス稼働から 5年目 • 開発メンバー 8人 • CakePHP1.3 •
PHP5.3
導入前の状況 • Composer 使えない • PHPの新しい機能が使えない • CakePHPのアップグレードもできない
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道
• PHP7導入推進 @池添 • まとめ
PHP7導入への発端 • サービスの全面リニューアルをしたい
PHP7導入への発端 • サービスの全面リニューアルをしたい – ついでに技術のリニューアルもできるのでは?
PHP7導入への発端 • サービスの全面リニューアルをしたい – ついでに技術のリニューアルもできるのでは? – 最近、PHP7が出たらしい
PHP7導入への発端 • サービスの全面リニューアルをしたい – ついでに技術のリニューアルもできるのでは? – 最近、PHP7が出たらしい – これだ!
PHP7導入への発端 • プライベートでの開発でまずは PHP 7.0 を触ってみた – まずは自分が体験してみるところから
PHP7導入への発端 • 社外での開発でまずは PHP 7.0 を触ってみた – まずは自分が体験してみるところから • リニューアルに合わせてあげたいとリーダーに相談
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道
• PHP7導入推進 @池添 • まとめ
導入検討 • 導入メリット – メリットを明確にする 検討 計画 交渉 ※ここの情報が足りない場合は現場で調査/検討させる
導入検討 • 導入メリット – メリットを明確にする • 導入しないデメリット – 導入するメリット以上にしないリスクも重要 検討
計画 交渉 ※ここの情報が足りない場合は現場で調査/検討させる
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 検討
計画 交渉
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 検討
計画 交渉
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 検討
計画 交渉
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 ※今回は①で導入
検討 計画 交渉
導入交渉① • 事業部サイドを説得する材料 検討 計画 交渉
導入交渉① • 事業部サイドを説得する材料 – サポート期限 検討 計画 交渉
導入交渉① • 事業部サイドを説得する材料 – サポート期限 – 速度比較 • 説明用に速度比較資料を用意する 検討
計画 交渉
導入交渉① • 事業部サイドを説得する材料 – サポート期限 – 速度比較 • 説明用に速度比較資料を用意する –
採用 • PHP7.x系の方が進んでる感を出せる 検討 計画 交渉
導入交渉① • 事業部サイドを説得する材料 – サポート期限 – 速度比較 • 説明用に速度比較資料を用意する –
採用 • PHP7.x系の方が進んでる感を出せる – フレームワーク • サポートしていないPHPバージョン 検討 計画 交渉
導入交渉② • 導入スケジュールを開発側で検討 – 現場にスケジュールを提示させる • 現場で導入方法を考えさせる • 具体的に理由を説明させる 検討
計画 交渉
導入交渉② • 導入スケジュールを開発側で検討 – 現場にスケジュールを提示させる • 現場で導入方法を考えさせる • 具体的に理由を説明させる •
導入スケジュールを提示 – 導入イメージをさせる – プロジェクトを開始してる錯覚 検討 計画 交渉
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道
• PHP7導入推進 @池添 • まとめ
PHP7導入推進 • バージョンアップ用環境と人員の確保
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master
から派生したバージョンアップ用の new-master
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master
から派生したバージョンアップ用の new-master • PHP7 対応リストを作成
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master
から派生したバージョンアップ用の new-master • PHP7 対応リストを作成 • 新機能開発は PHP7 で開発
PHP7導入推進 • メインの載せ替え – 互換性のない変更の読み込み、リストアップ – 2人で2週間、2時間くらいずつ – 対象ソースは約40万行、エラーの箇所は5,000個以上 –
オレオレルーティングを挟み Cake1.3 と Cake3.2 を併用 – ※ http://tech.willgate.co.jp/entry/3582/
PHP7導入推進 • メインの載せ替え – 互換性のない変更の読み込み、リストアップ – 2人で2週間、2時間くらいずつ – 対象ソースは約40万行、エラーの箇所は5,000個以上 –
オレオレルーティングを挟み Cake1.3 と Cake3.2 を併用 – ※ http://tech.willgate.co.jp/entry/3582/ • 他メンバーには PHP7 までの変更点をインストール
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道
• PHP7導入推進 @池添 • まとめ
まとめ • まずはやってみる。使ってみる。 • 上長(決定権がある人)に懇願してみる • PHP5 系から PHP7 系へアップデートは意外と楽
まとめ • メンバー(現場)の成長を意識しつつ検討する • 導入しないリスクを周囲や上長に理解させる • 現実的な導入計画を立てる • 事業部サイドにイメージさせる