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.5k
僕達がやってきたレガシープロジェクトとの付き合い方 / 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
380
プロトタイプ×設計 / Fukuoka.php Vol.31
nabeen
1
130
こっそり試すPhan / Fukuoka.php Vol.30
nabeen
0
120
競技プログラミング始めませんか? / PHP Conference Fukuoka 2019
nabeen
1
890
むずかしく考えないOSS / OSS not thinking hard
nabeen
0
140
師走にやる気が生まれて師走にやる気が死んだ話 / Listen to me!! LT Tournament #7
nabeen
0
120
Other Decks in Technology
See All in Technology
【Oracle Cloud ウェビナー】VMware環境を短期間でクラウド化!ベネッセ様事例に学ぶ仮想環境クラウド移行のリアル
oracle4engineer
PRO
2
110
コンテナ上シェル悪用の話とPure Bashでcurlが作れた話
ryotosaito
2
390
「エンジニアマネージャー」の役割を担っている / 担ってみたい方へのキャリアパスガイド
coconala_engineer
1
200
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
1
160
caching_sha2_passwordのはなし
boro1234
0
140
AWSにおけるサイバー攻撃の傾向と具体的な対策
yuobayashi
8
770
AI の活用における課題と現状、今後の期待
asei
4
330
【ServiceNow SNUG Meetup LT deck】ServiceNow「検索性の進化」ZingからNow Assistまで
niwato
1
270
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
4
860
Kubernetesを手元で学ぼう! 初心者向けローカル環境のススメ
nayaaaa
PRO
2
820
モジュラーモノリスでスケーラブルなシステムを作る - BASE のリアーキテクチャのいま
panda_program
7
1.6k
ランチの間に GitHub Copilot Agent が仕事を終わらせてくれた話
bicstone
5
660
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Writing Fast Ruby
sferik
628
61k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Raft: Consensus for Rubyists
vanstee
137
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing for humans not robots
tammielis
250
25k
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৬ਓԽ͍ͯͨ͠ ɾςετίʔυ͕શ͘ͳ͔ͬͨ ɾίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ
ΞδΣϯμ
૯ׅ ຊͷΩʔϫʔυɿʮ҆શʯʮָʯʮϞμϯʯ ɾʮ҆શʯӡ༻͢Δ্Ͱͷ࠷ॏཁ߲ ɾʮָʯΛͯ͠༨ͬͨ࣌ؒͰٕज़తνϟϨϯδ ɾʮϞμϯʯʹ͚ۙͮΔྗͰ͖Δ ϨΨγʔʮͳΒͰʯͷνϟϨϯδ͋Δ
☻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ