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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ディップ株式会社
PRO
October 09, 2025
Technology
0
91
DDD_TDDでイケてる開発がしたい!!
ディップ株式会社
PRO
October 09, 2025
Tweet
Share
More Decks by ディップ株式会社
See All by ディップ株式会社
Agent Skils
dip_tech
PRO
0
110
Databricksについて.pdf
dip_tech
PRO
0
110
なぜ今_私たちはDDDに向き合うのか_佐藤薫.pdf
dip_tech
PRO
0
110
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
69
【dip】価値が「伝わる体験」を設計する ディップのDevRelが実践する、Findyサービス活用戦略
dip_tech
PRO
0
41
プロフェッショナルへの道:ビジネスを動かすエンジニアリング思想
dip_tech
PRO
0
120
ユーザーファーストを実現するためのチーム開発の工夫
dip_tech
PRO
0
94
1年目エンジニアが働いてみて感じたリアルな悩みと成長
dip_tech
PRO
0
43
ベイズマルチファクターモデルとbPCausal
dip_tech
PRO
0
35
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
プロポーザルに込める段取り八分
shoheimitani
1
390
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
260
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
110
20260204_Midosuji_Tech
takuyay0ne
1
160
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
130
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
670
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
250
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Thoughts on Productivity
jonyablonski
74
5k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
76
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
It's Worth the Effort
3n
188
29k
KATA
mclloyd
PRO
34
15k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
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ͷษڧ͔Β ࢝ΊͯݟΔͱྑ͍͔͠Ε·ͤΜɻ զʑ͔ͦ͜Βελʔτ͠·ͨ͠ɻ اը୲։ൃऀ͕ۀΛΩϟονΞοϓ͢ΔඞཁੑΛڧ͘ײ͍ͯ͡ͳ͍͔͠Ε·ͤΜɻ ͦΕ։ൃʹूதͯ͠Β͓͏ͱɺྑ͔Εͱࢥ͍ͬͯͯ͠Δࣄ͔͠Ε·ͤΜɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠