Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHP5.3からPHP7.0へバージョンアップの裏側
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Z.O.E.
February 21, 2018
Programming
3.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP5.3からPHP7.0へバージョンアップの裏側
PHPのバージョンアップをサービスの開発と並行して進めるためにどうやったかという話
Z.O.E.
February 21, 2018
Transcript
17 slides
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 系へアップデートは意外と楽 • 技術的なもの以外にも得られるものは多い
More Decks by Z.O.E.
See All by Z.O.E.
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
560
[PHPカンファレンス2024]【ISUCONでも使える!?】お手軽にパフォーマンス改善入門 〜MySQL Performance Schema編〜
ikezoemakoto
1
1.2k
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
4
810
[Developers Summit 2024 Summer]良いプロダクト作りのための組織育成 ~1on1完全攻略編~
ikezoemakoto
8
4.4k
【ぺちこん小田原2024懇親会LT】新卒教育できる組織を育成するためにしてきたこと(公開用)
ikezoemakoto
4
320
[Developers Summit 2024]良いプロダクト作りのための組織育成(理論&実践編) 健全なコードは健全な組織、健全なチームから
ikezoemakoto
18
12k
[PHPカンファレンス北海道2024 全然野菜]PHPとLaravelで使える ジェネレータを使った大量データ処理のパフォーマンス改善
ikezoemakoto
0
200
[PHPカンファレンス2023]NFCネームプレートを自作して楽しく交流しよう!
ikezoemakoto
0
930
[PHPカンファレンス沖縄2023]【実践編】良いプロダクト作りのための組織育成 健全なコードは健全な組織、健全なチームから
ikezoemakoto
3
1.8k
Other Decks in Programming
See All in Programming
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.5k
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Railsバージョンを4倍にした話
optim
0
1k
Modernizing iOS Apps
seyfoyun
0
150
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
Spec-driven Development with AI
simas
PRO
0
2.3k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
2.1k
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
250
Growing PicoRuby's Ecosystem on ESP32
yuuu
2
120
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
A better future with KSS
kneath
240
18k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Building an army of robots
kneath
307
47k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Writing Fast Ruby
sferik
630
63k
Google's AI Overviews - The New Search
badams
0
1.7k
Between Models and Reality
mayunak
4
580
Facilitating Awesome Meetings
lara
57
7.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k