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
takanamito
July 24, 2017
Technology
2
3.5k
ドキュメントとテストのないプロジェクトを引き継ぐ
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
640
Siriに身の回りのお世話をしてもらう
takanamito
0
6.8k
PHPで運用中のサービスをRubyに切り替える
takanamito
0
5.4k
安心してフレームワークをのりかえたい
takanamito
0
1.2k
HLSでやっていく 動画ストリーミング配信
takanamito
0
2.5k
あんしん大規模リプレースサポート
takanamito
1
1.7k
Other Decks in Technology
See All in Technology
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
100
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
320
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
4.8k
ローカルLLM基礎知識 / local LLM basics 2025
kishida
21
6.1k
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.5k
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
220
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
0
130
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
3
390
IaC を使いたくないけどポリシー管理をどうにかしたい
kazzpapa3
1
100
都市スケールAR制作で気をつけること
segur
0
190
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
420
JavaScript パーサーに using 対応をする過程で与えたエコシステムへの影響
baseballyama
1
120
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Agile that works and the tools we love
rasmusluckow
331
21k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Done Done
chrislema
186
16k
Building Applications with DynamoDB
mza
96
6.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Side Projects
sachag
455
43k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
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
ෛ࠴ʹ͖߹͍ͳ͕Β • ӡ༻ܥͷλεΫΛੵۃతʹΔ 㱺 ࣄۀͱγεςϜ͕ಁ͚ͯݟ͑Δ • ͳͥͦ͏ͳͬͯΔ͔Θ͔Βͳ͍ͱ͜Ζฉ͍ͯΈΔ 㱺 ༧όονͷΑ͏ͳൃݟ͕ •
ୀ৬͢Δલʹɺ༷Ͱͳ͘ӡ༻ʹؔ͢ΔυΩϡϝϯτ Λ࡞ͬͯΒ͏ 㱺 εςʔΫϗϧμʔ͕Θ͔Εฉ͘૬ख͕Θ͔Δ
·ͱΊ
• ෛ࠴ͷछྨΛݟۃΊΔ • ෛ࠴Λฦࡁ͢Δ͖͔ߟ͑Δ • ෛ࠴Λฦ͢ίετΛݮΒͨ͢ΊͷΞΫγϣϯΛ
͋Γ͕ͱ͏͍͟͝·ͨ͠