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
DDD_TDDでイケてる開発がしたい!!
Search
ディップ株式会社
PRO
October 09, 2025
Technology
0
16
DDD_TDDでイケてる開発がしたい!!
ディップ株式会社
PRO
October 09, 2025
Tweet
Share
More Decks by ディップ株式会社
See All by ディップ株式会社
Go×TDD/DDDによるリアーキテクチャ半年間の振り返り
dip_tech
PRO
0
24
デザインシステムとエンジニアの新しい役割
dip_tech
PRO
0
22
AI時代のDevOps入門
dip_tech
PRO
0
18
AIのためのテスト戦略 〜TDDが難しいフロントエンド開発でのアプローチ〜
dip_tech
PRO
0
16
迷わないスクラム始めませんか?
dip_tech
PRO
0
32
新米スクラムマスターが考える 仕事を通じてチームを育む「制約主導」のアプローチ
dip_tech
PRO
0
110
Terraform定義もAIで自動作成してみた!インフラ構築でどれだけ生成AIが使えるの?
dip_tech
PRO
0
19
テストコードすら書けなかったレガシーアプリがAIと上手に協働できるようになるまでの軌跡
dip_tech
PRO
0
540
FIndy_Team__Award_2025受賞までの道のり_-_仲間を増やして次の街へ_-.pdf
dip_tech
PRO
0
12
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
78k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
150
Where will it converge?
ibknadedeji
0
190
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
280
Findy Team+のSOC2取得までの道のり
rvirus0817
0
370
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
150
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
120
自動テストのコストと向き合ってみた
qa
0
190
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
データエンジニアがこの先生きのこるには...?
10xinc
0
450
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
350
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
160
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
BBQ
matthewcrist
89
9.8k
Balancing Empowerment & Direction
lara
4
680
Mobile First: as difficult as doing things right
swwweet
224
10k
Side Projects
sachag
455
43k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Faster Mobile Websites
deanohume
310
31k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Navigating Team Friction
lara
189
15k
Transcript
σΟοϓגࣜձࣾ ொӬ ढ़հ ~Ϟμϯͳ։ൃΛಋೖ͢ΔͨΊʹͬͨࣄ DDD/TDDͰΠέͯΔ։ൃ͕͍ͨ͠ʂʂ
ொӬ ढ़հ σΟοϓגࣜձࣾ ࣗݾհ ͱඒ༰ࢣͱ͍͏Ṗͷܦྺͷ࣋ͪओɻ ͞ΈΛஔ͍ͨޙʮwebσβΠφʔͱ͔͓͠Ό Ε ~ ʯͱ͍͏ઙ͍ཧ༝ͰITͷಓΛࢦ͢ɻ ͳΜ͔Μ͋ͬͯ͋ͬͯࠓΤϯδχΞ
※σβΠφʔʹͳΕͳ͔ͬͨ
None
None
1. ͡Ίʹ 2. ಋೖ·Ͱͷนͱࠀ 3. มԽͱݱࡏ ΞδΣϯμ
͡Ίʹ
ຊ͓͢Δ͜ͱ • ࡢϦϦʔεͨ͠ʮεϙοτόΠτϧʯͷϦΞʔΩςΫνϟʹऔΓΜͰ͍·͢ • DDD/TDDΛऔΓೖΕ͍ͨʂ͕ɺϊϋͳ͍ɻͷঢ়گʹͲͷΑ͏ʹཱ͔͍ͪͬͯΔ͔Λ ͓͠·͢
• ฐ͔ࣾΒ8໊ࡇΓʹࢀՃ͍ͯ͠·͕͢ɺ൴ಉ͡νʔϜͰ͢
αʔϏεͷ͝հ
ݱߦΞʔΩςΫνϟɿ୯ҰDBʹґଘͨ͠ີ݁߹γεςϜ ঢ়گ: ෳͷγεςϜ͕ɺڞ௨ͷσʔλϕʔεϨίʔυΛڞ༗ νʔϜར༻ऀ(ϫʔΧʔ/ΫϥΠΞϯτ/CS)Λج४ʹׂ ՝: ಉ༷ͷϏδωεϩδοΫ͕֤ॴʹࢄɻ1ͭͷۀมߋ͕ෳνʔϜʹӨڹ ݁Ռ:ʮશνʔϜͰฒΈΛἧ͑ɺໃ६͕ى͖ͳ͍Α͏৻ॏʹ։ൃ͢Δʯͷ͕ৗଶԽ
ͬͱΠέͯΔγεςϜʹͰ͖Δͣʂ • DDDͱ͔TDDͱ͔औΓೖΕͯ…
ಋೖ·Ͱͷนͱࠀ
࠷ॳͷน • DDD͕Ͳ͏͍͏ͷ͔ΘΒͳ͍ • ϝϦοτ͕Θ͔Βͳ͍ • ͏·͍͔͘͘Θ͔Βͳ͍
Ͳ͏ཱ͔͔ͪͬͨ
Կ͕ྑ͍ͷֶ͔ͿɺΊΔ
·ֶͣͿ • Θ͔Βͳ͍ͷෆ҆ • ϝϦοτΛͬͯΒ͏ɺࢍಉऀΛ૿͢
ΠϕϯτετʔϛϯάͷϫʔΫγϣοϓΛ࣮ࢪ • DDDͱԿ͔ɺDDDͷΞϓϩʔνʹΑͬͯࠓͱͲ͏มΘΔͷ͔ɺΛΔ • ෦ʹϊϋ͕ແ͍ͷͰϫʔΫγϣοϓࣗମ֎෦ͷ༗ࣝऀΛཔͬͨ
ΠϕϯτετʔϛϯάͷϫʔΫγϣοϓΛ࣮ࢪ • γεςϜ͕Ͳ͏ͳΔ͔Θ͔Δͱظײ͕༙͘ • ʮ࠾༻ϝϦοτ͋Γͦ͏ʯ • ʮ͏·͍͖ͦ͘͏ʯ • ʮΘ͔ͬͯ͘ΔʯͱϞνϕʔγϣϯ͕͕͋Δ
2ͭͷน • ࣮ફతͳϊϋෆ • ΦϒδΣΫτͬͯ͜ΕͰ͍͍ͷ…ʁ
ࣝͷݯઘΛڞ༗͢Δ • ڌΓॴͱͳΔॻ੶Λڞ༗ • ·ͣࣝͷݯઘΛ౷Ұͯ͠ઢΛ͋ΘͤΔ
• ࠓճҰ൪ڌΓॴͱͨ͠ͷʮυϝΠϯۦ ಈઃܭΛ͡ΊΑ͏ʯ • ઃܭʹࠔͬͨΒνʔϜͰ͜ͷຊͷࢥΛ ֬ೝ͢Δ • υϝΠϯۦಈઃܭͷجຊ֓೦ͱ࣮ફతͳ ༰͕Θ͔Γ͘͢ॻ͍ͯ͋Γ·͢ DDD:
υϝΠϯۦಈઃܭΛ͡ΊΑ͏
#1 جௐߨԋ/ϥΠϒίʔσΟϯά TDD Boot Camp 2020 Online • ࠷ॳʹνʔϜͰҰॹʹࢹௌ͢Δ࣌ؒΛͭ͘Γ ·ͨ͠
• t-w a d a ͞Μͷجௐߨԋ • ϥΠϒίʔσΟϯά͕͋ΓɺTDD࣮ફ࣌ͷࢥ ߟͷղઆΛฉ͖ͳ͕ΒίʔσΟϯά͕ݟΒΕ ΔͷͰඇৗʹֶͼ͍͢Ͱ͢ɻ • KentBeckࢯஶͷςετۦಈ։ൃڌΓॴͱ͠ ·͕͢ɺֶशޮͷ໘Ͱͪ͜ΒͷYoutubeࢹ ௌ͕ඇৗʹྑ͔ͬͨͱײ͍ͯ͡·͢
TDDͷ࠷ॳͷͭΒΈ • ͭΒΈᶃɿԿ͔ΒςετΛॻ͚͍͍͔͔Βͳ͍ • ͍࣮͔ͭΒ࢝ΊΑ͏ͱͯ͠͠·͏ • ࠷ॳख͕ࢭ·Δ • ಈըΛࢥ͍ग़࣮͠ફ͍ͯ͘͠͏ͪʹצॴ͕Θ͔ͬͯ͘Δ •
ͭΒΈᶄɿख͕ଟ͘։ൃ͕͔͔Δ • AI͕Χόʔ • ςετέʔε࡞ʙ࣮ફ·ͰAIΛ׆༻ͯ͠ΞτϓοτΛҡ࣋
֎෦ͷ༗ࣝऀ • ϫʔΫγϣοϓͷ։࠵Λґཔͨ͠༗ࣝऀʹཔΓֶͼΛਂΊΔ • զʑͷ߹ֶͼͷαϙʔτΛཔΕΔ༗ࣝऀ͕͍·ͨ͠ɻ֎෦ͷ༗ࣝऀʹཔΓֶͼΛಘΔͷ େࣄͩͱࢥ͍·͢ɻ
มԽͱݱࡏ
มԽᶃ • ಉ͡ֆΛݟͯͤΔΑ͏ʹͳͬͨ • ۀΛγεςϜʹམͱ͠ࠐΉϓϩηεΛʮશһͰʯֶΜͩ • ΠϕϯτετʔϛϯάͰඳ͍ͨֆΛڌΓॴͱͯ͠ɺࠓޙͷ͕ग़དྷΔΑ͏ʹͳͬͨ
มԽᶄ • ϢϏΩλεݴޠͷҙࣝ • Before • ݴ༿ͷͩ͜ΘΓ͕ͳ͘ɺදهΏΕΛؾʹ͢Δਓ͕ؒগͳ͔ͬͨ • After •
اը࣌ͰϢϏΩλεͷఆ͕ٛੵۃతʹߦΘΕΔΑ͏ʹ • จॻԽͯ͠όʔδϣϯཧ
มԽᶅ • ςετͷҙٛͷཧղ • Before • ʮΧόϨοδΛຬͨͨ͢Ίͷςετʯ͕ຮԆˠςετ͕࣮ʹґଘ • After •
ςετϑΝʔετͷఆண • DDD✕TDDͰɺςετ͕ʮυϝΠϯϧʔϧΛؚΉ༷ॻʯʹϨϕϧΞοϓ
ݱࡏ • औΓΈΛ࢝Ίͯऑ • 1ͭͷूΛຊ൪ϦϦʔεʹ͚ͯௐத • TDDͷ࠾༻Ұ෦ͷνʔϜʹཹ·͍ͬͯΔ • ͏·͘ߦ͍ͬͯͳ͍͜ͱ͍ͬͺ͍͋Δ •
ͦΕͰօͷҙࣝมΘ͖͍ͬͯͯΔ
࠷ޙʹ ϢʔβʔͷతͳՁఏڙ͕ٻΊΒΕΔதɺػೳ։ൃͱཱ྆ͤͯ͞ϦΞʔΩςΫνϟΛਪਐ ͢Δࣄ͘͠ɺ͏·͘ߦ͍ͬͯͳ͍ࣄଟ͍Ͱ͢ɻ Ͱ͕͢ɺ͜ͷෛ࠴Λ์ஔ͢ΕɺকདྷϢʔβʔՁΛಧ͚Δεϐʔυ͞ΒʹಷԽͯ͠͠· ͏ɻͦ͏৴ͯ͡ɺ͜ΕະདྷͷՁ͋Δࢿͩͱߟ͍͑ͯ·͢ɻ ͠օ͞ΜͷνʔϜ͕ಉ͡Α͏ͳ՝Λ๊͍͑ͯΔͳΒɺاը୲ऀͱ։ൃऀͰDDDͷษڧ͔Β ࢝ΊͯݟΔͱྑ͍͔͠Ε·ͤΜɻ զʑ͔ͦ͜Βελʔτ͠·ͨ͠ɻ اը୲։ൃऀ͕ۀΛΩϟονΞοϓ͢ΔඞཁੑΛڧ͘ײ͍ͯ͡ͳ͍͔͠Ε·ͤΜɻ ͦΕ։ൃʹूதͯ͠Β͓͏ͱɺྑ͔Εͱࢥ͍ͬͯͯ͠Δࣄ͔͠Ε·ͤΜɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠