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
420
技術的負債へ向き合う ~開発速度をいかに向上させるか~
設計パターンを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
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.1k
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
250
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
190
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
500
Jakarta EE meets AI
ivargrimstad
0
240
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
350
もう僕は OpenAPI を書きたくない
sgash708
5
1.9k
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
300
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
220
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
Designing Experiences People Love
moore
140
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Git: the NoSQL Database
bkeepers
PRO
427
65k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for Performance
lara
604
68k
Why Our Code Smells
bkeepers
PRO
336
57k
Statistics for Hackers
jakevdp
797
220k
GitHub's CSS Performance
jonrohan
1030
460k
How GitHub (no longer) Works
holman
314
140k
Building Your Own Lightsaber
phodgson
104
6.2k
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"͠ʹ͍͘ॴɺపఈతʹςετΛॻ͘
ऴΘΓʹʜ ٕज़తͳෛ࠴͕θϩʹͳΔ͜ͱͳ͍ͱࢥ͍·͢ɻ ʮෛ࠴ʯʹෛ࠴ΛॏͶΔ͜ͱͤͣɺ ͜·ΊͳϦϑΝΫλϦϯάΛ͍ͯ͘͜͠ͱ͕ ԿΑΓେͳͷͰͳ͍Ͱ͠ΐ͏͔ɻ