Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.2k
[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
860
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
4
610
[Developers Summit 2024 Summer]良いプロダクト作りのための組織育成 ~1on1完全攻略編~
ikezoemakoto
8
3.9k
【ぺちこん小田原2024懇親会LT】新卒教育できる組織を育成するためにしてきたこと(公開用)
ikezoemakoto
4
230
[Developers Summit 2024]良いプロダクト作りのための組織育成(理論&実践編) 健全なコードは健全な組織、健全なチームから
ikezoemakoto
17
10k
[PHPカンファレンス北海道2024 全然野菜]PHPとLaravelで使える ジェネレータを使った大量データ処理のパフォーマンス改善
ikezoemakoto
0
160
[PHPカンファレンス2023]NFCネームプレートを自作して楽しく交流しよう!
ikezoemakoto
0
820
[PHPカンファレンス沖縄2023]【実践編】良いプロダクト作りのための組織育成 健全なコードは健全な組織、健全なチームから
ikezoemakoto
3
1.4k
良いプロダクト作りのための組織育成 健全なコードは、 健全な組織・健全なチームから
ikezoemakoto
9
6.5k
Other Decks in Technology
See All in Technology
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
1
240
世界最速級 memcached 互換サーバー作った
yasukata
0
150
Claude Code Getting Started Guide(en)
oikon48
0
150
32のキーワードで学ぶ はじめての耐量子暗号(PQC) / Getting Started with Post-Quantum Cryptography in 32 keywords
quiver
0
210
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
370
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
550
Bakuraku Engineering Team Deck
layerx
PRO
11
5.8k
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.2k
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
2.8k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
技術以外の世界に『越境』しエンジニアとして進化を遂げる 〜Kotlinへの愛とDevHRとしての挑戦を添えて〜
subroh0508
1
160
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
9.5k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.7k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
GraphQLとの向き合い方2022年版
quramy
50
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Documentation Writing (for coders)
carmenintech
76
5.2k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Invisible Side of Design
smashingmag
302
51k
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 系へアップデートは意外と楽
まとめ • メンバー(現場)の成長を意識しつつ検討する • 導入しないリスクを周囲や上長に理解させる • 現実的な導入計画を立てる • 事業部サイドにイメージさせる