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
僕達がやってきたレガシープロジェクトとの付き合い方 / PHP CONFERENCE FUKU...
Search
nabeen
June 10, 2017
Technology
1
2.6k
僕達がやってきたレガシープロジェクトとの付き合い方 / PHP CONFERENCE FUKUOKA 2017
nabeen
June 10, 2017
Tweet
Share
More Decks by nabeen
See All by nabeen
書いてよかったGitHub Actions、書かなくてよかったGitHub Actions / TGIF Vol.1
nabeen
0
410
プロトタイプ×設計 / Fukuoka.php Vol.31
nabeen
1
140
こっそり試すPhan / Fukuoka.php Vol.30
nabeen
0
120
競技プログラミング始めませんか? / PHP Conference Fukuoka 2019
nabeen
1
910
むずかしく考えないOSS / OSS not thinking hard
nabeen
0
150
師走にやる気が生まれて師走にやる気が死んだ話 / Listen to me!! LT Tournament #7
nabeen
0
120
Other Decks in Technology
See All in Technology
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
680
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
310
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
140
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
1
110
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
150
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
250
解析の定理証明実践@Lean 4
dec9ue
1
200
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
200
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
140
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
Being A Developer After 40
akosma
90
590k
The Language of Interfaces
destraynor
158
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Designing Experiences People Love
moore
142
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
It's Worth the Effort
3n
185
28k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Applications with DynamoDB
mza
95
6.5k
Designing for Performance
lara
609
69k
Transcript
ୡ͕͖ͬͯͨ ϨΨγʔϓϩδΣΫτͱͷ ͖߹͍ํ 1)1$0/'&3&/$&'6,60," גࣜձࣾϋγΰ ลݠҰ ʙʮ҆શʯͰʮָʯͳʮ ϨΨγʔ͚ͩͲ Ϟμϯʯͳӡ༻ʙ
ΞδΣϯμ ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ
ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
ɾลݠҰʢ,FOJDIJSP8BUBOBCFʣ ɾαʔόʔαΠυΤϯδχΞ 1)1 $BLF1)1 1IBMDPO $PEFJHOJUFS -BSBWFM +BWB4DSJQU 3VCZ
3P3 4XJGU 1ZUIPO "OHVMBS 6OJUZ ɾΤϯδχΞ ɾגࣜձࣾϋγΰ ɾ݄ೖࣾ ɾೖࣾͯ͠ܦͪ·ͨ͠☻ ࣗݾհ !@OBCFFO
ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
͋ͳͨגࣜձࣾϋγΰΛ ͍ͬͯ·͔͢ʁ ձࣾհ
גࣜձࣾϋγΰגࣜձࣾαΠόʔΤʔδΣϯτͷࢠձࣾͱ͠ ͯɺֶੜͱڞʹ༷ʑͳࣄۀΛߦ͓ͬͯΓ·͢ɻ ձࣾհ
ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
ϓϩδΣΫτུ֓ ϝσΟΞӡӦ ࣄۀ ब׆ࢧԉ ࣄۀ ήʔϜӡӦ ࣄۀ
ɾ͍ΘΏΔϒϥβήʔ ɾӡ༻ྺ΄Ͳ ɾαʔόʔߏɿ-".1 ɾόʔδϣϯཧɿ47/ ɾݴޠɿ1)1 ɾ'8ɿ$PEFJHOJUFS ɾ%#ɿ.Z42- ϓϩδΣΫτུ֓ ৄ͘͠ େਓͷࣄͰ
ݴ͑·ͤΜ
ʊਓਓਓਓਓਓਓʊ ʼɹ1)1ɿɹʻ ʉ:?:?:?:?:?:ʉ ͱ͏ͷੲ ʹαϙʔτΕ ʀТʀʆ ŲƄƂŕ ϓϩδΣΫτུ֓
ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ$PEFJHOJUFSɿɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ ͱ͏ͷੲ ʹαϙʔτΕ ʀТʀʆ ŲƄƂŕ ϓϩδΣΫτུ֓
ʊਓਓਓਓਓਓਓਓʊ ʼɹ.Z42-ɿɹʻ ʉ:?:?:?:?:?:?:ʉ ͱ͏ͷੲ ʹαϙʔτΕ ʀТʀʆ ŲƄƂŕ ϓϩδΣΫτུ֓
ϓϩδΣΫτུ֓ ࠓͷηογϣϯͰ όʔδϣϯΞοϓͨ͠ ग़͖ͯ·ͤΜ
ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
ϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ
ϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ
ςετίʔυ͕શ͘ͳ͔ͬͨ ಋೖલ ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹશવ҆શ͡Όͳ͍ɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ ͋ɺςετݸͳ͍ΜͰ͢Ͷ ͡Ό͋ࠓΔ͜ͱͳ͍ΜͰؼΓ·͢Ͷ ҆શ
ςετίʔυ͕શ͘ͳ͔ͬͨ ςετίʔυॻ͖·ͨ͠ Ҏ্ ʗ ?P? ʘ ҆શ
ςετίʔυ͕શ͘ͳ͔ͬͨ ಋೖޙ ᶃ+PCΛఆظ࣮ߦͯ͠։ൃαʔόʔ্Ͱߋ৽༗ແΛ֬ೝ TWOVQ ᶄߋ৽͕͋Ε1)16OJUΛ࣮ߦ ᶅ݁ՌΛDIBUXPSLʹ௨ ҆શ ։ൃαʔόʔ ᶃߋ৽֬ೝ
ᶅ௨ ᶄ࣮ߦ
ςετίʔυ͕શ͘ͳ͔ͬͨ ςετ͍ͨ͠ൣғ ɾ৽نͰίϛοτ͢Δ෦ ✔Ϛελσʔλ DTW ɺઃఆϑΝΠϧ JOJ ⾣͜͜ʹର͢ΔςετΛॻ͍ͨ ϨΨγʔϓϩδΣΫτͷಋೖͷϙΠϯτ
ɾςετతͰͳ͘खஈ ɾతɿ҆શͳӡ༻ʢόάΛग़͞ͳ͍ʣ ɾ࣮ͷ͋Δ෦ʹରͯ͠ແཧͯ͠ॻ͘ඞཁͳ͍ ҆શ
ϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ
ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ಋೖલ ָͦͦ͘͠ͳ͍࡞ۀͰͷফ ώϡʔϚϯΤϥʔʹΑΔόάͷൃੜ YMTN JOJ 1MBOOFS &OHJOFFS ָ
ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ίϐʔπʔϧॻ͖·ͨ͠ Ҏ্ ʗ ?P? ʘ ָ
ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ಋೖޙ ετϨε͔Βͷ։์ ώϡʔϚϯΤϥʔʹΑΔόά໓ ఆৗ࡞ۀͷେ෯ॖʹΑΔ࣌ؒͷ֬อ YMTN ZNM 1MBOOFS &OHJOFFS JOJ
ָ 1)1Y
ϓϩδΣΫτ๊͕͑Δ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ
ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ͖͔͚ͬ !DIBUXPSL ಋೖલ ɾFTBJPͰมߋΛ·ͱΊͯϨϏϡʔґཔ a ⒡㱿⒡ ⾣લ࣌తɺ࡞Δͷ͕ͭΒ͍ɺݟΔͷ͕ͭΒ͍
Ϟμϯ
ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ 47/ͰίʔυϨϏϡʔΛ͢Δʁ ɾ47/ͰίʔυϨϏϡʔͷΈΛೖΕΔͷ؆୯Ͱͳ͍ ɾ3FWJFX#PBSEͳΜ͔ݹष͍ ɾ1IBCSJDBUPSͪΐͬͱߴػೳա͗ 47/͔Β(JUʹҾͬӽ͢͠Δʁ ɾେਓͷࣄͰطଘͷΠϯϑϥߏΛେࣄʹ͍ͨ͠ ɾطଘͷΈ͔Βͷ͕ࠩେ͖͗ͯ͢ةݥ ɾඅ༻ରޮՌ͕ݟ߹Θͳ͍ Ϟμϯ
ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ͦ͏ͩɺಉظͱΖ͏
ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ 4VC(JUʁ ɾ(JU㱻47/ͷಉظΛͱͬͯ͘ΕΔπʔϧ ɾແྉͰར༻Մೳ ੍ݶ͋Γ ˞ฐࣾͰ༗ྉ൛Λར༻ طଘͷΈΛશ͘յͣ͞ʹ (JUͷಋೖ͕ՄೳͳϓϩμΫτ Ϟμϯ
ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ Ϟμϯ ಋೖޙ ɾ(JUͰͷ։ൃ͕Ͱ͖ΔΑ͏ʹͳͬͨ ɾ(JUMBC্Ͱ.3 13 ϕʔεͷ։ൃ͕Ͱ͖ΔΑ͏ʹͳͬͨ ෭࣍ޮՌͱͯ͠ ɾDIBUXPSL௨༻ʹ)VCPUΛಋೖ ɾ%FW0QTɺ$IBU0QT͕Մೳʹʂ
ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
ࠓޙݟਾ͍͑ͯΔ͜ͱ طଘͷԆͰऔΓΉ͜ͱ ɾ%FW0QTɺ$IBU0QTͷਪਐ తʹऔΓ͏ͱ͍ͯ͠Δ͜ͱ ɾ4FMFOJVNʹΑΔࣗಈςετ ɾ#JH2VFSZΛ׆༻ͨ͠σʔλੳ %"6ˢɺ"316ˢɺ"3116ˢFUD
ɾࣗݾհ ɾձࣾհ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ ɾΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
૯ׅ ຊͷΩʔϫʔυɿʮ҆શʯʮָʯʮϞμϯʯ ɾʮ҆શʯӡ༻͢Δ্Ͱͷ࠷ॏཁ߲ ɾʮָʯΛͯ͠༨ͬͨ࣌ؒͰٕज़తνϟϨϯδ ɾʮϞμϯʯʹ͚ۙͮΔྗͰ͖Δ ϨΨγʔʮͳΒͰʯͷνϟϨϯδ͋Δ
☻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ