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
2
430
技術的負債へ向き合う ~開発速度をいかに向上させるか~
設計パターンをMVVMからFluxに変更し、開発速度を向上させた話です。
Takeshi Akutsu
October 28, 2020
Tweet
Share
More Decks by Takeshi Akutsu
See All by Takeshi Akutsu
機能横断型チームにおける技術改善
takeshiakutsu
3
1k
1ヶ月半でプッシュ通知許諾率を17%から40%にあげた話
takeshiakutsu
5
11k
Other Decks in Programming
See All in Programming
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
990
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
Making TCPSocket.new "Happy"!
coe401_
1
130
gen_statem - OTP's Unsung Hero
whatyouhide
1
200
SwiftUI API Design Lessons
niw
1
260
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
4
880
API for docs
soutaro
1
750
MCP調べてみました! / Exploring MCP
uhzz
2
2.2k
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
160
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
260
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
120
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
170
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing for humans not robots
tammielis
252
25k
Docker and Python
trallard
44
3.3k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Designing for Performance
lara
607
69k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Agile that works and the tools we love
rasmusluckow
328
21k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
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"͠ʹ͍͘ॴɺపఈతʹςετΛॻ͘
ऴΘΓʹʜ ٕज़తͳෛ࠴͕θϩʹͳΔ͜ͱͳ͍ͱࢥ͍·͢ɻ ʮෛ࠴ʯʹෛ࠴ΛॏͶΔ͜ͱͤͣɺ ͜·ΊͳϦϑΝΫλϦϯάΛ͍ͯ͘͜͠ͱ͕ ԿΑΓେͳͷͰͳ͍Ͱ͠ΐ͏͔ɻ