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
1人から始める大規模Webアプリケーションの言語バージョンアップ / version up P...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yoshihide Taniguchi
June 10, 2017
Programming
5.3k
20
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
1人から始める大規模Webアプリケーションの言語バージョンアップ / version up PHP in large scale application
2017/06/10 に行われた PHP カンファレンス福岡での資料です
Yoshihide Taniguchi
June 10, 2017
More Decks by Yoshihide Taniguchi
See All by Yoshihide Taniguchi
PHP がフロントエンドエンジニアになってみた // from PHPer to Frontend
gs3
1
360
PHP7.2で始める型宣言
gs3
0
610
ISUCONのすゝめ // OUR ISUCON
gs3
3
1.5k
オブジェクト指向設計とデザインパターンの基礎 / Basics of object oriented design and design pattern
gs3
2
100k
PHP 5.4 ~ 5.6 での追加機能のおさらいとバージョンアップへの誘い / php54 to 56 and version up
gs3
1
2.6k
あの日見たバグを僕達はまだ公式ドキュメントで見れない / The bug we saw that day
gs3
1
1.6k
ペパボを支える大統一CI基盤と人々
gs3
2
4.3k
PHP 5.3.x のアプリを PHP 7.0.x で動かすためにした n 個のこと
gs3
1
1.6k
今までやってきたこと これからやりたいこと
gs3
0
2.5k
Other Decks in Programming
See All in Programming
Are APIs Still Relevant in the AI Era?
soyuka
0
270
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
530
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
210
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.5k
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
What We Talk About When We Talk About XP
m_seki
2
660
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
440
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
290
スマート反転とウェブアクセシビリティ
camiha
0
210
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
350
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
320
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Raft: Consensus for Rubyists
vanstee
142
7.7k
Being A Developer After 40
akosma
91
590k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
550
Making Projects Easy
brettharned
120
6.8k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Transcript
1)1$0/'&3&/$&'6,60," ਓ͔Β࢝ΊΔ େن8FCΞϓϦέʔγϣϯͷ ݴޠόʔδϣϯΞοϓ
ࠓ͢͜ͱ w େنͳ8FCΞϓϦͷ1)1ΛόʔδϣϯΞοϓͨ͠ w ͲͷΑ͏ʹόʔδϣϯΞοϓ͢Δʹࢸ͔ͬͨ w Ͳ͏όʔδϣϯΞοϓ͔ͨ͠ w όʔδϣϯΞοϓޙͷ
ࠓ͞ͳ͍͜ͱ w όʔδϣϯΞοϓʹ͓͚ΔॲཧͷύϑΥʔϚϯεͷมԽ w όʔδϣϯΞοϓΛࢧ͑Δࣗಈςετઓུ w ͔͍͍ͬ͜8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ
8FCΞϓϦέʔγϣϯΤϯδχΞ ୩ޱఓӳ@ravelll ಛൃੑա IUUQTSBWFMMMPSH
ϖύϘͷ։ൃ̎ڌ 50,:0 '6,60,"
None
&$ج൫νʔϜ αʔϏεج൫ͷվमɾվળ طଘػೳͷ֦ு
όʔδϣϯΞοϓͷ
എܠ wҎ্Քಇ͍ͯ͠ΔαʔϏε w࠷ޙͷݴޠόʔδϣϯΞοϓ9લ w &0-ͳόʔδϣϯΛ͍ଓ͚͍ͯͨ w͕࣌ܦͪେنԽɾෳࡶԽ͠όʔδϣϯΞοϓͷίετ େʹ w ʮΓ͍͚ͨͲΕΔ͕࣌ؒͳͯ͘ʜʯ w
࣌ࣗطଘػೳվળ͍߹Θͤͷٕज़αϙʔτΛ͢ ΔνʔϜʹ͍ͨ
ݹ͍όʔδϣϯʹײ͍ͯͨ͡՝ w ηΩϡϦςΟϦεΫ w ΤϯδχΞͷޏ༻ w ʜ
ݹ͍όʔδϣϯʹײ͍ͯͨ͡՝ w։ൃऀɾαʔϏεͷΛ્͢ΔͷͰʜʁ w ࠷৽ใΛऩूͯ͠ଟ͕͘׆༻Ͱ͖ͣݱੈΛఘΊΔ w ʮݟͳ͍͍͔ͯ͘ʜʯʮผͷݴޠΛΖ͏ʜʯ w ಘͨφϨοδϕʔε͕ݹ͍ͨΊʹΞτϓοτ͕ጨΒ ΕΔ w
ʮϨΨγʔͳڥվળΛؤுΔ͔Γ͢Δͷʜʯ wΤϯδχΞίϛϡχςΟʹ৮ΕΔ͜ͱޮతͳʹෆ Մܽ wΤϯδχΞͷαʔϏεͷ
ʮͲ͏ͨ͠Βόʔδϣϯ্͕Δʁʯ wʮͷ͋Δਓ͕ؒࣗΒ࣌ؒΛ֬อ͠ɺ ଞͷۀͱΕ্ͨͰ͋ͨΔ͔͠ͳ͍ͷͰʁʯ w ʢ͋͘·Ͱ࣌ͷࣗͷঢ়گԼͰͷߟ͑Ͱ͢ʣ wνʔϜͰج൫վળ͚ͩΛߦ͏࣌ؒΛ࡞ͬͯঃʑʹΖ͏ ͱ͢ΔɺۀλεΫͷׂΓࠐΈ͕ৗԽࣦͯ͠ഊͨ͠ աڈ w όʔδϣϯΞοϓʹݶΒͣɺαʔϏεͷنతʹج൫վ
ળΛઐ͢Δਓ͕͍ؒͨ΄͏͕ྑ͍ͷͰʁͱ͍͏ࢥ͍ Ҏલ͔Β͋ͬͨ
αʔϏεنʢΞϓϦέʔγϣϯϨΠϠʣ wओཁͳαϒγεςϜʢҎ߱ϩʔϧʣ㲈ݸ wίʔυྔ㲈ສߦ w ΄΅શͯͷϩʔϧ͕1)1
αʔϏεنʢΞϓϦέʔγϣϯϨΠϠʣ wओཁͳαϒγεςϜʢҎ߱ϩʔϧʣ㲈ݸ wίʔυྔ㲈ສߦ w ΄΅શͯͷϩʔϧ͕1)1
BENJO TFDVSF "1* DBSU VTFSNBOBHF NBJMNBHB[JOF BDDFTTQMVT UPQQBHF TIPQ NFNCFST
None
νʔϜʹ૬ஊ wόʔδϣϯΞοϓؚΊɺαʔϏεج൫ͷվળʹઐ೦ͤͯ͞ Β͑ͳ͍͔νʔϜʹ૬ஊɾަবͨ͠ w ج൫վળͷେࣄ͞ͱ͕ࣗͦΕΛ͖͢ཧ༝Λ্ʹ ͑ͨ ‣ͦΕ·Ͱͷۀ͔Β֎Εɺج൫վળʹઐ೦Ͱ͖Δ͜ͱʹ
όʔδϣϯΞοϓ ͍ͬͯͧ͘ʂʂ̍
͍ͬͯ͘ํ wਓͰશͯΛΒͳ͍ɻੵۃతʹਓΛཔΔ w1VMM3FRVFTUࡉ͔͘ग़͢ w໎ͬͨΒ҆શͳํ wΓ͗͢ͳ͍ɻ࠷খݶͷมߋͰόʔδϣϯΞοϓ͢Δ w ະདྷͷόʔδϣϯΞοϓ࣌ͷࢿྉʹͳΔ͜ͱΛߟ͑ͯ ϦʔμϒϧͳϩάΛ͢
·ͣڌΛ࡞Γਓͱܨ͕Δ w Λ্͛ͯਓʹؾʹͯ͠Β͏ w *TTVFΛཱͯͯߟ͑Λॻ͖࿈ͶΔ w༗ࣝऀʹࡶʹNFOUJPO͢Δ w ݟΛڞ༗ͯ͠Β͏ w ࠔͬͨͱ͖ॿ͚ΛٻΊ͓ͯ͘͘͢͠
None
ԿΛͲ͜·ͰΔ͔ܾΊΔ w όʔδϣϯΞοϓ͢Δϩʔϧʁ w Ͳͷόʔδϣϯ·Ͱ্͛Δʁ w ಉ࣌ʹվળͨ͠΄͏͕͍͍͜ͱ͋Δʁ
όʔδϣϯΞοϓ͢Δ͜ͱʹͨ͠ϩʔϧ w γϣοϓΦʔφʔ͕γϣοϓͷӡӦΛߦ͏ͨΊͷϩʔϧ w มߋසɺαʔϏεʹ͓͚Δॏཁ͕࠷ߴϨϕϧ w 1)1 w ίʔυྔ㲈ສߦʢશϩʔϧͰ࠷େʣ
ͳͥͦͷϩʔϧΛબΜͩͷ͔ wόʔδϣϯΞοϓͷޮՌ͕࠷େͱࢥ͏ϩʔϧͩͬͨ w ύϑΥʔϚϯεʹىҼ͢Δෆ۩߹͕͠͠ใࠂ͞Εͯ ͍ͨ w ࠷ߋ৽ස͕ߴ͍ΤϯδχΞͷԸܙ͕࠷େ wଞͷϩʔϧΛόʔδϣϯΞοϓ͍ͯ͘͠ىരࡎʹͳΔϩʔ ϧͩͬͨ w
ʮ࠷େͷϩʔϧ͕όʔδϣϯΞοϓͰ͖ͨʂʯ w ʮ͡Ό͋ଞͷϩʔϧͰ͖ΔͩΖʂΔͧʂʂ̍ʯ
ෆ҆ཁૉΛϦετΞοϓ͢Δ w นʹͳΓͦ͏ͳͷʹԿ͕͋Δʁ w ໌ͨ͠นʹͳΓͦ͏ͳऀͨͪ w NBHJD@RVPUFT@HQD0O w SFHJTUFS@HMPCBMT0O w
ಈ࡞ͷอূํ๏
None
ಓ͕ݟ͖͑ͯͨ ίʔυ͍͡Δͧʙ
NBHJD@RVPUFT@HQDΛͳΜͱ͔͢Δ wํɿ0O0⒎ͲͪΒͰৼΔ͍͕มΘΒͳ͍Α͏ʹ͢ Δ w Өڹͷ͋Δεʔύʔάϩʔόϧมͷ͍ํΛ͍ͯ͠Δ ՕॴΛɺNBHJD@RVPUFT@HQDͷڍಈΛٵऩ͢Δϥο ύʔϝιουͰஔ͖͑Δ w εʔύʔάϩʔόϧมΛؚΉจࣈྻ࿈݁42-จΛ QSFQBSFETUBUFNFOUΛ͏Α͏मਖ਼
ʢ42-*OKFDUJPOͷࢭʣ
None
SFHJTUFS@HMPCBMTΛԿͱ͔͢Δ w ґଘ͍ͯ͠Δ࣮͕ݟ͔ͭΒͳ͍ʜ w ͘αʔϏεʹܞΘ͍ͬͯΔΤϯδχΞʹώΞϦϯά ͦΕͰ͔Βͳ͍ w NBHJD@RVPUFT@HQDͱҰॹʹ͍͑ͬͱ0⒎ʹ͢Δ͜ͱ ʹ w
͍ɺͦͷޙग़·ͤΜͰͨ͠
NBHJD@RVPUFT@HQD 0⒎ʹͰ͖ͨ ͜͜·ͰͰϲ݄ɺ1VMM3FRVFTUT
1)1ͷಈ࡞ڥΛ࡞Δ w طଘͷ1VQQFU.BOJGFTUΛϕʔεʹ1)1ͷಈ࡞ ڥΛ࡞Δ w WBHSBOUͰγϡοͱϩʔΧϧڥߏங w ςετ͕ബ͍ͷͰΞϓϦέʔγϣϯΛखಈͰૢ࡞ͭͭ͠ 1)1ͷϏϧυઃఆQIQJOJͷઃఆΛௐͯ͠ QVQQFUJ[FBQQMZ
w ΞϓϦέʔγϣϯͷमਖ਼࿙ΕΛิ w େଟͷϑΝΠϧ͕&6$+1ͩͬͨͷͰΤϯίʔσΟ ϯάܥΦϓγϣϯͷσϑΥϧτ͕มΘͬͨӨڹ͕ਙ େͩͬͨʜ
్த1)1ͷόάΛ౿Ή IUUQTTQFBLFSEFDLDPNHTUIFCVHXFTBXUIBUEBZ
΄΅΄΅ಈ͘ڥ͕Ͱ͖ͨΒ ಈ࡞ݕূ
ಈ࡞ݕূ w ຊ൪ͱಉ͡ߏͷαʔόʹ1)1ͷڥΛ࡞ͬͯݕূ w ςετΛՃͯ͠ΧόʔͤͣɺखಈͰ֬ೝ w ςετΧόϨοδ͕͔ͬͨՃ͕ࠔͳ࣮͕ଟ ͔ͬͨ w ຊ൪ڥͷϩά͔Β֤ػೳͷར༻සΛௐɺස͔Βػ
ೳΛङϞσϧͷ࣭ྨʹج͍ͮͯྨɺ2"͞Μͱ ୲ͯ͠ݕূ w ͨΓલ࣭2"͞Μ w Ұݩత࣭ɾັྗత࣭!SBWFMMM w ͨΓલ࣭ͷج४ɿۙͰͷച্͕͋ΔΦʔ φʔ͕ฏۉͯ͠ճҎ্͍ͬͯΔػೳ
ॗʑͱಈ࡞֬ೝमਖ਼ ςϯϓϨʔτʹ&6$+165'͕ࠞࡏ͍ͯͯ͠ ࣍ʑ͕ݟ͔ͭΔ͚ͲࣃΛ৯͍ͬͯ͠ؤுΔ
ݕূͱमਖ਼͕ऴΘͬͨΒϦϦʔε
ஈ֊తʹϦϦʔε ຊ൪αʔόͷʹτϐοΫϒϥϯνΛBQQMZ w -#͔Βͷ͚֎͠ɺQVQQFUBQQMZͳͲɺΓํΛΠ ϯϑϥΤϯδχΞʹڭ͑ͯΒͬͯશ෦Δ w खॱΛ*TTVFʹ·ͱΊͯϨϏϡʔͯ͠Β͏ w /FX3FMJDͰࢹ ϒϥϯνΛNBTUFSʹϚʔδɺͦͷଞશΞοϓσʔτ
͍ͭʹશ1)1ʹ
͔͔ͬͨ࣌ؒɾมߋྔ w ࠷ॳͷ1VMM3FRVFTU͔ΒόʔδϣϯΞοϓྃ·Ͱ w㲈ϲ݄ w ผͷλεΫظٳՋ͋ͬͨͷͰ࣮ಇϲ݄͘Β͍ʁ w5PUBM1VMM3FRVFTUT w㲈 w ׂNBHJD@RVPUFT@HQDରԠͷͨΊͷͷͩͬͨ
୲ਓͰͰ͖ͨ w νʔϜͰฒΈἧ͑ͯྟΉͷ͕͚͠Εਓ͔ΒਐΉͷ ख wͪΖΜਓͰશͯΛΔΘ͚͡Όͳ͍ɺਓΛཔΔ wνʔϜ࡞Εͣͱ伱ؒ࣌ؒͷڠྗΛಘΔ͜ͱͰ͖Δ νʔϜ͕࡞ΕͣͱఘΊΔ͜ͱͳ͍
όʔδϣϯΞοϓΛऴ͑ͯ wΔਓ͕૿͑ͳ͍ͱεέʔϧ͠ͳ͍ wܧଓతʹΒͳ͍ͱ݁ہͲ͔͜Ͱݹ͘ͳΔ w ࣾ5FDI.5(ͰʮόʔδϣϯΞοϓͲ͏Ͱ͔͢ʁʯ ͳτʔΫ w νʔϜશମΛͬͱલʹ͍ͨ͠ IUUQTTQFBLFSEFDLDPNHTQIQUPBOEWFSTJPOVQ
·ͱΊ w େنͳ8FCΞϓϦέʔγϣϯͷݴޠόʔδϣϯΞοϓΛ ਓ͔Β࢝Ίͯͨ͠ࣄྫΛհ͠·ͨ͠ w ؾ͔࣋ͪΒࣗͷϙδγϣϯΛม͑ͯͬͨ w ͲΜͲΜਓΛཔͬͯͭͭ͜͜ਐΊͨΒͰ͖ͨ wόʔδϣϯΞοϓΛఘΊ͍ͯΔͦ͜ͷ͋ͳͨɺ ͖ͬͱͰ͖·͢ɻͬͯΈ·ͤΜ͔ʁ