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
ドキュメントとテストのないプロジェクトを引き継ぐ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
takanamito
July 24, 2017
Technology
3.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ドキュメントとテストのないプロジェクトを引き継ぐ
2017.07.24 技術的負債ナイト@Speee の発表資料です。
https://speee.connpass.com/event/60381/
takanamito
July 24, 2017
More Decks by takanamito
See All by takanamito
ActiveModel::Attributes APIとSwaggerでRailsのAPIレスポンスに型を持ち込む
takanamito
0
670
Siriに身の回りのお世話をしてもらう
takanamito
0
6.9k
PHPで運用中のサービスをRubyに切り替える
takanamito
0
5.5k
安心してフレームワークをのりかえたい
takanamito
0
1.3k
HLSでやっていく 動画ストリーミング配信
takanamito
0
2.6k
あんしん大規模リプレースサポート
takanamito
1
1.8k
Other Decks in Technology
See All in Technology
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
13
5.2k
Chainlitで作るお手軽チャットUI
ynt0485
0
280
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
130
Lightning近況報告
kozy4324
0
190
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
170
Android の公式 Skill / Android skills
yanzm
0
160
SONiCの統計情報を取得したい
sonic
0
230
Kiro Ambassador を目指す話
k_adachi_01
0
110
徹底討論!ECS vs EKS!
daitak
0
230
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Designing for Timeless Needs
cassininazir
1
260
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
New Earth Scene 8
popppiees
3
2.3k
Balancing Empowerment & Direction
lara
6
1.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Unsuck your backbone
ammeep
672
58k
Typedesign – Prime Four
hannesfritz
42
3.1k
Transcript
υΩϡϝϯτͱςετͷͳ͍ ϓϩδΣΫτΛҾ͖ܧ͙ ٕज़తෛ࠴φΠτ@Speee 7/24 2017
ࣗݾհ • id: takanamito • גࣜձࣾSpeee • ΤϯδχΞ • िʹαʔϞϯϥϯͰ͠Ό͗͗ͯ͢ͷͲ͕௧͍
• ෆಈ࢈ҰׅࠪఆαΠτ • ՈΛചΓ͍ͨϢʔβʔ͞Μͱෆಈ࢈اۀͷϚονϯά • 2014ελʔτ • 1500ࣾҎ্ͷاۀͱఏܞ͠ 20ສ݅ͷෆಈ࢈ച٫ཱαϙʔτ •
ࣄۀશମͰ40~50໊΄Ͳ
͘͡ • νʔϜjoin࣌ͷঢ়گ • Կ͕ෛ࠴ͩͬͨͷ͔ • ෛ࠴ͱͷ͖߹͍ํΛߟ͑Δ • ෛ࠴ͱ͖߹͏࣌ʹҙ͍ࣝͯͨ͜͠ͱ
νʔϜjoin࣌ͷঢ়گ 1/4
5/1 join • ։ൃνʔϜ4໊ • ͏ͪ1໊ͷୀ৬ʹ͍ɺ͕ҟಈ͖ͯͨ͠ • ಈ͍͍ͯΔͷ • ຊମαΠτ
(Ruby, PHP) • Adminπʔϧ (Java, 724class, 66,611ߦ) • ΫϥΠΞϯτاۀ͞·͚πʔϧ (Java) • όον͕41ݸ (΄ͱΜͲJava)
Կ͕ෛ࠴ͩͬͨͷ͔ 2/4
ෛ࠴ʹ͍Ζ͍Ζ Ҿ༻ ٕज़తෛ࠴ͷฦࡁϓϩδΣΫτ͕ࣦഊ͢ΔͷϫέKqVUFͷه IUUQEIBUFOBOFKQKqVUFEFQUBHBJO ٕज़తෛ࠴2JJUB IUUQRJJUBDPNFSVLJUJJUFNTDDEEF
ΠΤʔϧʹ͓͚Δෛ࠴ • υΩϡϝϯτ͕Γͯͳ͍ • ͦͦԿͷػೳ͕͋Δπʔϧͳͷ͔ • ʮ࣮͜ͷυΩϡϝϯτݹͯ͘...ʯ • ςετίʔυ͕গͳ͍ •
Adminπʔϧ 66,611ߦʹରͯ͠ 39tests • ୀ৬༧ఆͷ։ൃऀͷ಄ͷதʹ͔͠ͳ͍༷ • λΠϜϦϛοτ1ϲ݄
༧࣮ߦόον • ࣍ͰఏܞاۀͷܝࡌεςʔλεͳͲΛ Γସ͑Δ༧͕Ͱ͖Δػೳ • ༧छผʹςʔϒϧ͕͋Γɺ༧Ϩίʔυ͕1݅ͣͭ insert͞Ε͍ͯ͘ • ʮͳΜͰ͜ͷςʔϒϧ͚ͩ༧࣮ߦͯ͠ͳ͍ΜͰ͔͢ʁʯ •
ʮ͑ͬʯ • Ұੜ࣮ߦ͞ΕΔ͜ͱ͕ͳ͍༧ػೳͩͬͨ͜ͱ͕ൃ֮
୭ʹฉ͍ͯΘ͔Βͳ͘ͳΔ ঢ়گ͕ഭ͖͍ͬͯͯͨ
υΩϡϝ ϯτ ςετ ෳࡶ d ॏཁ ଐਓԽ ۓٸ "ENJO πʔϧ
º º ˕ ˚ º +BWB όον܈ º º d ˓ º ˓ ˞͋ͱͰ͏ճग़͢ͷͰɺͬ͟ͱݟͱ͍͍ͯͩ͘͞
ෛ࠴ͱͷ͖߹͍ํΛߟ͑Δ 3/4
ࢧ͏͖͔ɺࢧΘ͟Δ͖͔ • ෛ࠴ͷ͍͠: ٕज़తෛ࠴ͩͱࢥΘΕΔίʔυɺϑϨʔϜϫʔ ΫɺϓϥοτϑΥʔϜΛϦϑΝΫλϦϯά͢Δ͔ɺஔ͖͑Δ • ෛ࠴ͷస: ݱࡏͷղܾࡦΛʮᘳͰͳ͍͚ΕͲྑ͍ʯղܾ ࡦͱஔ͖͑Δɻ৽͍͠ղܾࡦɺΑΓ͍རͰ͋Γɺᘳ ͳղܾࡦΛߏங͢ΔͱඇৗʹߴՁʹͳΔͳΒɺΑ͍બࢶ͔
͠Εͳ͍ • རଉͷΈࢧ͏: ίʔυͱͱʹੜ͖ΔɻϦϑΝΫλϯϦϯά ɺͦΕ΄Ͳྑ͘ͳ͍ίʔυʹऔΓΉΑΓߴ͔ͭ͘͘Β Ҿ༻.BOBHJOH5FDIOJDBM%FCU IUUQTXXXJOGPRDPNBSUJDMFTNBOBHJOHUFDIOJDBMEFCU
Ͳ͜·Ͱฦࡁͯ͠ Ͳ͜·Ͱڞଘ͍͔ͯ͘͠
υΩϡϝ ϯτ ςετ ଐਓԽ ෳࡶ d ॏཁ ۓٸ "ENJO πʔϧ
º º ˚ ˕ º +BWB όον܈ º º º ˓ ˓ υΩϡϝ ϯτ ςετ ෳࡶ d ॏཁ ଐਓԽ ۓٸ "ENJO πʔϧ º º ˕ ˚ º +BWB όον܈ º º d ˓ º ˓ ڞ௨ͯ͠ Γͯͳ͍
υΩϡϝ ϯτ ςετ ෳࡶ d ॏཁ ଐਓԽ ۓٸ "ENJO πʔϧ
º º ˕ ˚ º +BWB όον܈ º º ˓ º ˓ υΩϡϝ ϯτ ςετ ෳࡶ d ॏཁ ଐਓԽ ۓٸ "ENJO πʔϧ º º ˕ ˚ º +BWB όον܈ º º d ˓ º ˓ "ENJOӡ༻ʹ ৯͍ࠐΜͰ͍ΔͨΊ ෳࡶߴ͍͕ɺ໘ ༷ʹৄ͍͠ਓ͕ଟ͔ͬͨ
υΩϡϝ ϯτ ςετ ෳࡶ d ॏཁ ଐਓԽ ۓٸ "ENJO πʔϧ
º º ˕ ˚ º +BWB όον܈ º º d ˓ º ˓ όον܈ΤϯδχΞ͔͠ Βͳ্͍ʹ ୀ৬༧ఆͷࣾһʹݟ͕ूத
υΩϡϝ ϯτ ςετ ෳࡶ d ॏཁ ଐਓԽ ۓٸ "ENJO πʔϧ
º º ˕ ˚ º +BWB όον܈ º º d ˓ º ˓ ୀ৬લʹͳΜͱ͔͠ͳ͍ͱ ຊʹ୭৮Εͳ͘ͳΔ
όον܈ • ୀ৬༧ఆͷ։ൃऀ͕͍ͳ͘ͳΔͱ୭༷͕Θ ͔Βͳ͍ • छྨ͕ଟ͘ࠓޙมߋͷՄೳੑ͕ߴ͍ίʔυ ૣΊʹίϯτϩʔϧͰ͖ΔΑ͏ʹ͍ͨ͠ • ଐਓԽ x
ॏཁ͕ߴ͍ͱஅ͠ ෛ࠴ͷ͍͠(RubyԽ)Λ͢Δ͜ͱʹ
Adminπʔϧ • ΠΤʔϧͷࣄۀͷίΞͱͳΔπʔϧ • ༷ʹৄ͍͠ਓ͕ΤϯδχΞҎ֎ʹ • ܹ͘͠ػೳՃվम͢Δ༧ఆͳ͍ • རଉͷΈࢧ͏ (͜ͷ··ӡ༻͢Δ)͜ͱʹ
• ৽ػೳՃ࣌ʹRailsʹΓग़͢ ෛ࠴ͷసͷબࢶ
ҙࣝͨ͠ϙΠϯτ • ଐਓԽ͍ͯͨ͠ͷΛࣗͨͪͷίϯτϩʔϧ Լʹ • શͯΛฦࡁ͠Α͏ͱ͠ͳ͍ • ͳͥฦࡁ͢Δඞཁ͕͋Δͷ͔ɺฦࡁ͢Δ͜ͱͰ Կ͕ྑ͘ͳΔͷ͔ʹ͍ͭͯࣄۀऀͱ͢
ෛ࠴ͱ͖߹͏࣌ʹ ҙ͍ࣝͯͨ͜͠ͱ 4/4
ෛ࠴ʹ͖߹͍ͳ͕Β • ӡ༻ܥͷλεΫΛੵۃతʹΔ 㱺 ࣄۀͱγεςϜ͕ಁ͚ͯݟ͑Δ • ͳͥͦ͏ͳͬͯΔ͔Θ͔Βͳ͍ͱ͜Ζฉ͍ͯΈΔ 㱺 ༧όονͷΑ͏ͳൃݟ͕ •
ୀ৬͢Δલʹɺ༷Ͱͳ͘ӡ༻ʹؔ͢ΔυΩϡϝϯτ Λ࡞ͬͯΒ͏ 㱺 εςʔΫϗϧμʔ͕Θ͔Εฉ͘૬ख͕Θ͔Δ
·ͱΊ
• ෛ࠴ͷछྨΛݟۃΊΔ • ෛ࠴Λฦࡁ͢Δ͖͔ߟ͑Δ • ෛ࠴Λฦ͢ίετΛݮΒͨ͢ΊͷΞΫγϣϯΛ
͋Γ͕ͱ͏͍͟͝·ͨ͠