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
420
プロトタイプ×設計 / Fukuoka.php Vol.31
nabeen
1
150
こっそり試すPhan / Fukuoka.php Vol.30
nabeen
0
130
競技プログラミング始めませんか? / PHP Conference Fukuoka 2019
nabeen
1
930
むずかしく考えないOSS / OSS not thinking hard
nabeen
0
160
師走にやる気が生まれて師走にやる気が死んだ話 / Listen to me!! LT Tournament #7
nabeen
0
120
Other Decks in Technology
See All in Technology
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
580
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
Obsidian応用活用術
onikun94
1
410
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
1
220
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
1.1k
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
200
AWSで推進するデータマネジメント
kawanago
0
1.2k
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
210
2025年になってもまだMySQLが好き
yoku0825
8
4.2k
Grafana Meetup Japan Vol. 6
kaedemalu
1
330
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.4k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Typedesign – Prime Four
hannesfritz
42
2.8k
How to train your dragon (web standard)
notwaldorf
96
6.2k
A better future with KSS
kneath
239
17k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Building Adaptive Systems
keathley
43
2.7k
Rails Girls Zürich Keynote
gr2m
95
14k
It's Worth the Effort
3n
187
28k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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৬ਓԽ͍ͯͨ͠ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
૯ׅ ຊͷΩʔϫʔυɿʮ҆શʯʮָʯʮϞμϯʯ ɾʮ҆શʯӡ༻͢Δ্Ͱͷ࠷ॏཁ߲ ɾʮָʯΛͯ͠༨ͬͨ࣌ؒͰٕज़తνϟϨϯδ ɾʮϞμϯʯʹ͚ۙͮΔྗͰ͖Δ ϨΨγʔʮͳΒͰʯͷνϟϨϯδ͋Δ
☻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ