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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
僕達がやってきたレガシープロジェクトとの付き合い方 / 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
450
プロトタイプ×設計 / Fukuoka.php Vol.31
nabeen
1
160
こっそり試すPhan / Fukuoka.php Vol.30
nabeen
0
140
競技プログラミング始めませんか? / PHP Conference Fukuoka 2019
nabeen
1
1k
むずかしく考えない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
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
280
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
0
440
What's new in Go 1.27?
ciarana
0
290
猫付きpingコマンドを自作
uyuki234
0
290
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
110
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
460
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
200
自宅NWにISR4331を導入してみた話
okaits
0
120
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
4
1.2k
AI開発に用いられるHPC技術について
gpuunite_official
0
200
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
190
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
300
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Building an army of robots
kneath
306
46k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
For a Future-Friendly Web
brad_frost
183
10k
The Limits of Empathy - UXLibs8
cassininazir
1
610
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
It's Worth the Effort
3n
188
29k
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৬ਓԽ͍ͯͨ͠ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
૯ׅ ຊͷΩʔϫʔυɿʮ҆શʯʮָʯʮϞμϯʯ ɾʮ҆શʯӡ༻͢Δ্Ͱͷ࠷ॏཁ߲ ɾʮָʯΛͯ͠༨ͬͨ࣌ؒͰٕज़తνϟϨϯδ ɾʮϞμϯʯʹ͚ۙͮΔྗͰ͖Δ ϨΨγʔʮͳΒͰʯͷνϟϨϯδ͋Δ
☻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ