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
Takeshi Akutsu
October 28, 2020
Programming
470
2
Share
技術的負債へ向き合う ~開発速度をいかに向上させるか~
設計パターンをMVVMからFluxに変更し、開発速度を向上させた話です。
Takeshi Akutsu
October 28, 2020
More Decks by Takeshi Akutsu
See All by Takeshi Akutsu
機能横断型チームにおける技術改善
takeshiakutsu
3
1.1k
1ヶ月半でプッシュ通知許諾率を17%から40%にあげた話
takeshiakutsu
5
12k
Other Decks in Programming
See All in Programming
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
680
[RubyKaigi 2026] Require Hooks
palkan
1
310
空間オーディオの活用
objectiveaudio
0
150
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
Agentic UI in the Frontend: Architectures with Open Standards @JAX 2026 in Mainz
manfredsteyer
PRO
0
110
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.7k
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
110
ハーネスエンジニアリングとは?
kinopeee
13
6.9k
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.7k
AI-DLC Deep Dive
yuukiyo
9
5.7k
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
A Soul's Torment
seathinner
6
2.8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
550
How to Talk to Developers About Accessibility
jct
2
190
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
Being A Developer After 40
akosma
91
590k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Amusing Abliteration
ianozsvald
1
160
How STYLIGHT went responsive
nonsquared
100
6.1k
Typedesign – Prime Four
hannesfritz
42
3k
So, you think you're a good person
axbom
PRO
2
2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
240
Transcript
ٕज़తෛ࠴͖߹͏ d։ൃΛ͍͔ʹ্ͤ͞Δ͔d גࣜձࣾλΠϛʔ Ѩٱַࢤ
None
ࠓͷྲྀΕ ٕज़తෛ࠴ͱ ٕज़తෛ࠴ͱ ͦͷ݁Ռੜ͡Δ λΠϛʔͰͲͷΑ͏ʹରԠ͔ͨ͠ ։ൃͷվળ ෆ۩߹Λى͜͞ͳ͍ͨΊʹ ·ͱΊ
ٕज़తෛ࠴ͱ ΟΩϖσΟΞ ٕज़తෛ࠴ʢӳ5FDIOJDBMEFCUʣͱɺߦ͖ͨΓ ͬͨΓͳιϑτΣΞΞʔΩςΫνϟͱɺ༨༟ͷͳ͍ιϑ τΣΞ։ൃ͕Ҿ͖ى݁͜͢Ռͷ͜ͱΛࢦ͢৽͍͠ൺᄻͰ͋ Δɻʮઃܭ্ͷෛ࠴ EFTJHOEFCU ʯͱݴ͏ɻ
ٕज़తෛ࠴ͱ ΥʔυɾΧχϯΨϜ 4IJQQJOHpSTUUJNFDPEFJTMJLFHPJOHJOUPEFCU ʢ࠷ॳͷίʔυΛग़ՙ͢Δ͜ͱɺआۚΛ͠ʹߦ͘ͷͱಉ͡Ͱ͋Δɻʣ
ٕज़తෛ࠴ͱ ͭ·Γʜ ෛ࠴ɺ༨༟ͷͳ͍։ൃʹΑͬͯੜΈग़͞ΕΔͷͰ͋Γɺ αʔϏεΛ։ൃ্͍ͯ͘͠Ͱආ͚Δ͜ͱग़དྷͳ͍ɻ
ٕज़తෛ࠴ͱ ͦͷ΄͔ʹ༷ʑͳݪҼ͕͋Δ ͦͷ࣌ͦͷ࣌Ͱͷ։ൃνʔϜɾڥͷมԽ ݴޠ༷ɾ։ൃڥͷΞοϓσʔτ ϝϯόʔͷεΩϧ্ঢʢʹΑΓաڈͷίʔυ͕ෛ࠴ʹײ͡Δʣ ͳͲʜ
ٕज़తෛ࠴ͱ ٕज़తෛ࠴ʹΑͬͯੜ͡Δ ։ൃͷԼ ෆ۩߹͕ൃੜ͘͢͠ͳΔ
λΠϛʔͰ ٕज़తෛ࠴ʹΑΓ ʮ։ൃ͕Լ͢Δʯ ʮෆ۩߹͕ൃੜ͘͢͠ͳΔʯ ͱݴ͏ʹͲ͏ରԠͨ͠ͷ͔ɻ
ʮ։ൃͷԼʯͱ͍͏ ઃܭΛݟ͢͜ͱͰվળͨ͠ .77.͔Β'MVYҠߦ·ͨ͠ɻ
ʮ։ൃͷԼʯͱ͍͏ ۩ମతʹͲ͏͍͏͕ى͍ͬͯͨ͜ͷ͔ ΑΓྑ͍6*69Λٻ͢ΔͨΊɺ ࡉ͔͍ɾܧଓతͳ7JFXͷվળ͕ߦΘΕ͍ͯΔɻ ͔͠͠ɺσβΠϯ্ࠣࡉͳมߋͩͱͯ͠ઃܭͷ߹্ɺ मਖ਼ʹ૾Ҏ্ͷ͕ൃੜ͢Δ͜ͱ͕ଟʑ͋ͬͨ
ʮ։ൃͷԼʯͱ͍͏ มߋલ มߋޙ σβΠϯมߋ͞Ε͍ͯΔ͕ɺ ϏδωεϩδοΫԿมΘ͍ͬͯͳ͍ɻ σβΠϯ্ͷมߋՕॴ मਖ਼ཧ༝Λهೖ͢ΔλΠϛϯά͕มΘͬͨ ʮۀ࣌ؒʯͱʮٳܜ࣌ؒʯΛೖྗ͢Δը໘
͕ผʑʹͳͬͨ ϩδοΫʜ ʮۀ։࢝࣌ؒɾऴྃ࣌ؒɺٳܜ࣌ؒɺमਖ਼ཧ༝ Λೖྗ͢Δʯͱݴ͏ߦҝมΘΒͳ͍
ʮ։ൃͷԼʯͱ͍͏ .77.࣌ ̍ը໘ʹ͖ͭɺͭͷ7JFX.PEFMΛ࣋ͭͱݴ͏ํͰ։ൃ͍ͯͨ͠
ʮ։ൃͷԼʯͱ͍͏ .77.࣌ͷͭΒΈᶃ ֤ը໘͝ͱʹϩδοΫΛ͍࣋ͬͯΔͨΊɺͭͷը໘ͰߦΘΕ͍ͯͨॲཧ ͕σβΠϯͷมߋʹΑΓଞͷը໘ͰߦΘΕΔΑ͏ʹͳΔͱɺϩδοΫ· Ͱमਖ਼ΛՃ͑Δඞཁ͕ग़ͯ͘Δɻ ʢ7JFXͷมߋͳͷʹɺϩδοΫΛमਖ਼͠ͳ͍ͱ͍͚ͳ͍ͷਏ͍ ʣ ྫٳܜ࣌ؒͷೖྗ͕ผͷը໘ͰߦΘΕΔΑ͏ʹͳͬͨ
ʮ։ൃͷԼʯͱ͍͏ .77.࣌ͷͭΒΈᶄ ෳͷը໘ʹ·͕ͨͬͯॲཧ͕ߦΘΕͨ࣌ɺ ը໘ؒͷͷड͚͕͠ਏ͍
ʮ։ൃͷԼʯͱ͍͏ 'MVY࣌ ֤ػೳ͝ͱʹϩδοΫΛཧ͢ΔΑ͏ʹͳͬͨ ը໘ׂ͕͞ΕΑ͏͕ϩδοΫͷमਖ਼ෆཁ ڞ௨ͷ4UPSFΛͭอ࣋͢Δ͚ͩͰࡁΉͷͰɺෳͷը໘ʹ·ͨ ͕ͬͨॲཧ؆୯
ʮෆ۩߹Λ͙ʯͨΊʹߦ͍ͬͯΔ͜ͱ దͳ୯ҐͰϞδϡʔϧׂΛߦ͍ͬͯΔ खಈͰ2"͠ʹ͍͘ॴʹςετΛపఈ
ʮෆ۩߹Λ͙ʯͨΊʹߦ͍ͬͯΔ͜ͱ ᶃదͳ୯ҐͰϞδϡʔϧׂΛߦ͏ ॲཧDMBTTͰด͡ΔΑ͏ʹ దͳ୯ҐʹDMBTTΛΓ͚Δ ֤ػೳΛ'SBNFXPSLʹΓ͚Δ
ʮෆ۩߹Λ͙ʯͨΊʹߦ͍ͬͯΔ͜ͱ ᶄखಈͰ2"͠ʹ͍͘ՕॴʹςετΛॻ͘ શͯΛςετͰ୲อͰ͖͍ͯΔΘ͚Ͱͳ͍ खಈͰͷ2"͕ࠔͳՕॴΛத৺ʹςετΛॻ͍͍ͯΔ ʢىಈपΓɺཁૉͷpMUFSTPSUɺ֤छঢ়ଶʣ ܕ͋Δछͷςετ ςετ͕͋Δͱ͍͑ɺಡΈ͍͢ίʔυৗʹҙࣝ
·ͱΊ ᶃదͳઃܭύλʔϯΛ࠾༻͢Δ͜ͱͰ։ൃΛ্͢ Δ͜ͱ͕Ͱ͖ͨ ᶄదͳ୯ҐͰϞδϡʔϧׂΛ͢Δ͜ͱͰෆ۩߹Λ͍ Ͱ͍Δ ᶅखಈͰ2"͠ʹ͍͘ॴɺపఈతʹςετΛॻ͘
ऴΘΓʹʜ ٕज़తͳෛ࠴͕θϩʹͳΔ͜ͱͳ͍ͱࢥ͍·͢ɻ ʮෛ࠴ʯʹෛ࠴ΛॏͶΔ͜ͱͤͣɺ ͜·ΊͳϦϑΝΫλϦϯάΛ͍ͯ͘͜͠ͱ͕ ԿΑΓେͳͷͰͳ͍Ͱ͠ΐ͏͔ɻ