Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DDD_TDDでイケてる開発がしたい!!
Search
ディップ株式会社
PRO
October 09, 2025
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DDD_TDDでイケてる開発がしたい!!
ディップ株式会社
PRO
October 09, 2025
More Decks by ディップ株式会社
See All by ディップ株式会社
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
160
【iOSDC登壇】Kotlin Multiplatformを軸にした技術戦略
dip_tech
PRO
1
580
_型ガードしたのにnullable_から卒業する.pdf
dip_tech
PRO
0
64
はじめての環境構築!デプロイ〜Docker基礎を学べるワークショップ!
dip_tech
PRO
0
54
【TSKaigi2026登壇資料】決定論的な型チェックへ Go 製コンパイラによる10倍速の裏側で stableTypeOrdering から見える並列化への挑戦
dip_tech
PRO
2
520
【TSKaigi2026登壇資料】バイトル」のTypeScriptリニューアル — 積み上がったレガシーとパフォーマンスに挑む現在地
dip_tech
PRO
1
1k
【新卒研修】ライブデモ + compose.yaml読解_講義資料
dip_tech
PRO
0
630
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
840
【ディップ|26年新卒研修資料】Docker_ハンズオン研修
dip_tech
PRO
0
740
Other Decks in Technology
See All in Technology
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
190
20260930_Gemma4_Hands-on
tsho
0
220
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
270
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
110
Futexes the good, the bad, the ugly
ennael
PRO
0
120
AIアプリを使い分けるための共通ツール基盤を考えてみる#devio2026
osawa
0
240
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
370
自主式軟體工廠
philipz
0
220
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
120
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
310
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
260
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
540
From π to Pie charts
rasagy
1
390
The Curious Case for Waylosing
cassininazir
1
550
Fireside Chat
paigeccino
43
4k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
460
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Embracing the Ebb and Flow
colly
88
5.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Balancing Empowerment & Direction
lara
6
1.3k
エンジニアに許された特別な時間の終わり
watany
109
250k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
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ͷษڧ͔Β ࢝ΊͯݟΔͱྑ͍͔͠Ε·ͤΜɻ զʑ͔ͦ͜Βελʔτ͠·ͨ͠ɻ اը୲։ൃऀ͕ۀΛΩϟονΞοϓ͢ΔඞཁੑΛڧ͘ײ͍ͯ͡ͳ͍͔͠Ε·ͤΜɻ ͦΕ։ൃʹूதͯ͠Β͓͏ͱɺྑ͔Εͱࢥ͍ͬͯͯ͠Δࣄ͔͠Ε·ͤΜɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠