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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
takanamito
July 24, 2017
Technology
2
3.6k
ドキュメントとテストのないプロジェクトを引き継ぐ
2017.07.24 技術的負債ナイト@Speee の発表資料です。
https://speee.connpass.com/event/60381/
takanamito
July 24, 2017
Tweet
Share
More Decks by takanamito
See All by takanamito
ActiveModel::Attributes APIとSwaggerでRailsのAPIレスポンスに型を持ち込む
takanamito
0
650
Siriに身の回りのお世話をしてもらう
takanamito
0
6.8k
PHPで運用中のサービスをRubyに切り替える
takanamito
0
5.4k
安心してフレームワークをのりかえたい
takanamito
0
1.2k
HLSでやっていく 動画ストリーミング配信
takanamito
0
2.6k
あんしん大規模リプレースサポート
takanamito
1
1.7k
Other Decks in Technology
See All in Technology
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
AWS Network Firewall Proxyを触ってみた
nagisa53
1
250
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
170
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
150
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
22nd ACRi Webinar - ChipTip Technology Eric-san's slide
nao_sumikawa
0
100
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
Agent Skils
dip_tech
PRO
0
140
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
HDC tutorial
michielstock
1
400
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Statistics for Hackers
jakevdp
799
230k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
77
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
Exploring anti-patterns in Rails
aemeredith
2
250
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
ෛ࠴ʹ͖߹͍ͳ͕Β • ӡ༻ܥͷλεΫΛੵۃతʹΔ 㱺 ࣄۀͱγεςϜ͕ಁ͚ͯݟ͑Δ • ͳͥͦ͏ͳͬͯΔ͔Θ͔Βͳ͍ͱ͜Ζฉ͍ͯΈΔ 㱺 ༧όονͷΑ͏ͳൃݟ͕ •
ୀ৬͢Δલʹɺ༷Ͱͳ͘ӡ༻ʹؔ͢ΔυΩϡϝϯτ Λ࡞ͬͯΒ͏ 㱺 εςʔΫϗϧμʔ͕Θ͔Εฉ͘૬ख͕Θ͔Δ
·ͱΊ
• ෛ࠴ͷछྨΛݟۃΊΔ • ෛ࠴Λฦࡁ͢Δ͖͔ߟ͑Δ • ෛ࠴Λฦ͢ίετΛݮΒͨ͢ΊͷΞΫγϣϯΛ
͋Γ͕ͱ͏͍͟͝·ͨ͠