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
38
DDD_TDDでイケてる開発がしたい!!
ディップ株式会社
PRO
October 09, 2025
Tweet
Share
More Decks by ディップ株式会社
See All by ディップ株式会社
Unit-Level_Models_and_Discrete_Demand.pdf
dip_tech
PRO
0
6
Model_Choice_and_Decision_Theory.pdf
dip_tech
PRO
0
5
Gaussian_Process_Models.pdf
dip_tech
PRO
0
3
Dirichlet_Process_Models.pdf
dip_tech
PRO
0
8
HIERARCHICAL MODELS for HETEROGENOUS UNITS(前編)
dip_tech
PRO
0
1
HIERARCHICAL MODELS for HETEROGENOUS UNITS(後編)
dip_tech
PRO
0
4
AI-DLC
dip_tech
PRO
0
16
dipAIを支えるLLM・検索技術
dip_tech
PRO
0
86
ホールインワン開発の夢と現実〜AIコーディングの生産性最大化への道〜
dip_tech
PRO
0
12
Other Decks in Technology
See All in Technology
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
260
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
200
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
160
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
8
4.5k
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
200
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
240
re:Inventに行くまでにやっておきたいこと
nagisa53
0
760
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
2
220
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
12
6.9k
生成AI時代のPythonセキュリティとガバナンス
abenben
0
150
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
6
3.5k
OpenCensusと歩んだ7年間
bgpat
0
240
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
The Language of Interfaces
destraynor
162
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Why Our Code Smells
bkeepers
PRO
340
57k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
How STYLIGHT went responsive
nonsquared
100
5.9k
Gamification - CAS2011
davidbonilla
81
5.5k
Typedesign – Prime Four
hannesfritz
42
2.8k
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ͷษڧ͔Β ࢝ΊͯݟΔͱྑ͍͔͠Ε·ͤΜɻ զʑ͔ͦ͜Βελʔτ͠·ͨ͠ɻ اը୲։ൃऀ͕ۀΛΩϟονΞοϓ͢ΔඞཁੑΛڧ͘ײ͍ͯ͡ͳ͍͔͠Ε·ͤΜɻ ͦΕ։ൃʹूதͯ͠Β͓͏ͱɺྑ͔Εͱࢥ͍ͬͯͯ͠Δࣄ͔͠Ε·ͤΜɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠