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
2.7k
1
Share
僕達がやってきたレガシープロジェクトとの付き合い方 / PHP CONFERENCE FUKUOKA 2017
nabeen
June 10, 2017
More Decks by nabeen
See All by nabeen
書いてよかったGitHub Actions、書かなくてよかったGitHub Actions / TGIF Vol.1
nabeen
0
440
プロトタイプ×設計 / Fukuoka.php Vol.31
nabeen
1
160
こっそり試すPhan / Fukuoka.php Vol.30
nabeen
0
140
競技プログラミング始めませんか? / PHP Conference Fukuoka 2019
nabeen
1
990
むずかしく考えないOSS / OSS not thinking hard
nabeen
0
180
師走にやる気が生まれて師走にやる気が死んだ話 / Listen to me!! LT Tournament #7
nabeen
0
130
Other Decks in Technology
See All in Technology
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
0
260
AI全盛の今だからこそ、あえてもう一度振り返るAPIの基礎
smt7174
3
140
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
210
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
180
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
1
220
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
0
160
The Bag-of-Documents Model for Query Understanding and Retrieval
dtunkelang
0
180
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
340
R&D 祭 2024 UE5で絵コンテ・作画の制作支援ツールをつくる話
olmdrd
PRO
0
200
ラズパイ & Picoで入門:Zephyr(RTOS)の環境構築からビルドまでの紹介
iotengineer22
0
140
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
0
130
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Context Engineering - Making Every Token Count
addyosmani
9
890
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Paper Plane
katiecoart
PRO
1
50k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
190
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The SEO identity crisis: Don't let AI make you average
varn
0
460
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
300
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
エンジニアに許された特別な時間の終わり
watany
106
240k
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৬ਓԽ͍ͯͨ͠ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
૯ׅ ຊͷΩʔϫʔυɿʮ҆શʯʮָʯʮϞμϯʯ ɾʮ҆શʯӡ༻͢Δ্Ͱͷ࠷ॏཁ߲ ɾʮָʯΛͯ͠༨ͬͨ࣌ؒͰٕज़తνϟϨϯδ ɾʮϞμϯʯʹ͚ۙͮΔྗͰ͖Δ ϨΨγʔʮͳΒͰʯͷνϟϨϯδ͋Δ
☻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ