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
PHP5.3からPHP7.0へバージョンアップの裏側
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Z.O.E.
February 21, 2018
Programming
3
3.5k
PHP5.3からPHP7.0へバージョンアップの裏側
PHPのバージョンアップをサービスの開発と並行して進めるためにどうやったかという話
Z.O.E.
February 21, 2018
Tweet
Share
More Decks by Z.O.E.
See All by Z.O.E.
[PHPカンファレンス2024]【ISUCONでも使える!?】お手軽にパフォーマンス改善入門 〜MySQL Performance Schema編〜
ikezoemakoto
1
970
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
4
670
[Developers Summit 2024 Summer]良いプロダクト作りのための組織育成 ~1on1完全攻略編~
ikezoemakoto
8
4k
【ぺちこん小田原2024懇親会LT】新卒教育できる組織を育成するためにしてきたこと(公開用)
ikezoemakoto
4
250
[Developers Summit 2024]良いプロダクト作りのための組織育成(理論&実践編) 健全なコードは健全な組織、健全なチームから
ikezoemakoto
17
11k
[PHPカンファレンス北海道2024 全然野菜]PHPとLaravelで使える ジェネレータを使った大量データ処理のパフォーマンス改善
ikezoemakoto
0
170
[PHPカンファレンス2023]NFCネームプレートを自作して楽しく交流しよう!
ikezoemakoto
0
850
[PHPカンファレンス沖縄2023]【実践編】良いプロダクト作りのための組織育成 健全なコードは健全な組織、健全なチームから
ikezoemakoto
3
1.5k
良いプロダクト作りのための組織育成 健全なコードは、 健全な組織・健全なチームから
ikezoemakoto
9
6.8k
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
320
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.4k
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
240
AHC061解説
shun_pi
0
320
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
480
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
AI活用のコスパを最大化する方法
ochtum
0
120
浮動小数の比較について
kishikawakatsumi
0
380
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
530
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
130
CSC307 Lecture 12
javiergs
PRO
0
460
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Balancing Empowerment & Direction
lara
5
930
HDC tutorial
michielstock
1
500
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
380
Crafting Experiences
bethany
1
75
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
New Earth Scene 8
popppiees
1
1.7k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
450
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
140
Transcript
PHP 5.3 から PHP 7.0 へ バージョンアップの裏側 Ikezoe.makoto
池添 誠 / Ikezoe Makoto • 2015年、ウィルゲートに新卒入社(3年目) • 開発グループ プロダクトユニット所属
• サグーワークスの開発からインフラまで担当 2 自己紹介 イメージキャラクター 「さぐる」
3 株式会社ウィルゲート – 事業
4 株式会社ウィルゲート – 事業
5 株式会社ウィルゲート – 事業
表の話 • バージョンアップした話 – Cake 1.3 → Cake 3.2 –
PHP 5.3 → PHP 7.0 – ブログ記事 • http://tech.willgate.co.jp/entry/3582/
裏の話 • どのように進めていったか – チームに対して – 事業部に対して – 他の開発と並行して進めるための方法 •
バージョンアップして得られたこと
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 社外での開発でまずは PHP
7.0 を触ってみた – まずは自分が体験してみるところから
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 書き換え箇所の調査 –
破壊的変更の箇所 – 書き換えのコストがどれくらいあるか • 一括変換できるもの、できないものの洗い出し • 新機能の勉強
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • まず説得、一緒に闘う仲間を増やす –
戦闘員を増やす • 一人で進めるのは大変!バージョンアップは骨が折れる仕事 • チーム全体で合意が取れてる状態にする – チームで円滑に進めるため • リニューアルに合わせてあげたいとリーダーに相談
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 説得材料 –
利便性(新しい技術) • Ex) isset 書かなくていい(`??` null合体演算子めっちゃ楽) – 技術的成長 • 最新バージョンに追従してる、イケてるエンジニア • バージョンアップの経験を得られる
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 工数の確保 –
安全にバージョンアップするために必要 – 受けた要望の開発は止めないように工夫して進めた – 日頃の関係性も大事
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 説得材料 –
事業部(サービス)に対するメリットを知ってもらう • 処理速度の向上、品質の担保(テストコードの導入) • ライブラリ導入の簡易化(composer 非対応だった)=開発速度の向上 – より良い開発環境 • サービスのブランディングにもつながる
どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • バージョンアップ用環境と人員の確保 •
Docker を用いて並行開発できるようにした • ブランチの管理 – master ブランチから派生したバージョンアップ用の new-master – master から new-master に定期マージして新機能の漏れを防止 • リリース直前の新機能開発は PHP 7.0 で開発
バージョンアップして得られたこと • サービスの成長につながった – 開発速度UP – 新しい技術・知識の獲得 – ライブラリなどの対応状況 •
達成感 – チームメンバー全員で協力してできた → 信頼関係 • 勉強会、LTなどのチャンス – 社外などでも登壇するチャンスの一つになった
まとめ • まずはやってみる。使ってみる。 • 協力してくれそうな人から説得していく • 上長(決定権がある人)に懇願してみる • PHP5 系から
PHP7 系へアップデートは意外と楽 • 技術的なもの以外にも得られるものは多い