</span></span><span class=line><span class=cl>9. 상품 등록 기능으로 학습하는 도메인 주도 개발 & 패키지 구조 </span></span></code></pre></div></div><ul><li>AI 시대의 개발자는 더 이상 단순 코드를 작성하는 사람이 아니다. 무엇을 만들어야 하는지 정의하고, AI가 생성한 결과를 검증하며, 문제를 재구성할 수 있는 사구력을 요구한다. 결국 차별화는 도구 사용 능력이 아닌 사고의 깊이에서 발생한다.</li><li>도메인 주도 개발(DDD, Domain-Driven Design)이란 기술 중심이 아닌, <strong>비즈니스(도메인) 중심으로 소프트웨어를 설계하는 방법이다.</strong></li><li>도메인은 기술이 아닌, 해결하려는 현실 세계의 문제다.</li><li>도메인은 단순 데이터 구조가 아닌 데이터가 지켜야할 비즈니스 규칙과 책임이 담겨있다.</li><li><strong>일반적인 계층형 패키지 구조</strong><ul><li>간단한 프로젝트에서는 문제가 발생하지 않는다. 이해하기 쉽고 빠른 개발이 가능하다.</li><li>하지만 기능이 커지면 코드가 흩어진다. 도메인 응집도가 낮아지고 Service가 비대해진다. 비즈니스 규칙이 Service 계층에 집중되면 도메인 객체는 단순 (Anemic Domain Model) 데이터구조로 전략하기 쉽다.</li></ul></li><li><strong>DDD</strong><ul><li>기술 계층이 아닌, 도메인(기능) 기준으로 패키지를 묶는다. 도메인 응집도가 높고 테스트하기 쉬워진다. 하지만 학습 비용이 높고 초기 설계 비용이 크다.</li></ul></li><li>책에서는 DDD를 패키지 정리 방법으로 소개한다. 하지만 DDD는 단순한 구조 정리가 아닌 비즈니스 중심 설계 철학이다. Entity, Value Obeject, Aggregate, Ubiquitous Language와 같은 개념을 포함하며, 복잡한 도메인을 다룰 때 진가가 나타난다. 따라서 모든 프로젝트에 반드시 필요한 방법은 아니며, 규모와 복잡도에 따라 선택적으로 적용하는 것이 바람직하다.</li><li>실무에서는 레이어드 아키텍처와 도메인 중심 패키지를 섞어 사용한다.</li></ul><h2 class="relative group">3. 변화<div id=3-변화 class=anchor></div><span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"><a class="text-primary-300 dark:text-neutral-700 !no-underline" href=#3-%eb%b3%80%ed%99%94 aria-label=앵커>#</a></span></h2><ul><li>공식문서와 <a href=https://www.jetbrains.com/guide/go/tips/quick-documentation/ target=_blank rel=noreferrer>Quick Documentation 기능</a>을 사용하는 비율이 증가했다.</li><li>학습과 정리의 중요성을 뼈저리게 느꼈다.</li></ul><h2 class="relative group">4. 앞으로의 계획<div id=4-앞으로의-계획 class=anchor></div><span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"><a class="text-primary-300 dark:text-neutral-700 !no-underline" href=#4-%ec%95%9e%ec%9c%bc%eb%a1%9c%ec%9d%98-%ea%b3%84%ed%9a%8d aria-label=앵커>#</a></span></h2><ul><li>프로젝트를 진행하며 삽질, 깨달은 내용 정리</li></ul><h2 class="relative group">마치며<div id=마치며 class=anchor></div><span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"><a class="text-primary-300 dark:text-neutral-700 !no-underline" href=#%eb%a7%88%ec%b9%98%eb%a9%b0 aria-label=앵커>#</a></span></h2><h3 class="relative group">좋았던 점<div id=좋았던-점 class=anchor></div><span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"><a class="text-primary-300 dark:text-neutral-700 !no-underline" href=#%ec%a2%8b%ec%95%98%eb%8d%98-%ec%a0%90 aria-label=앵커>#</a></span></h3><ul><li>얇은 책이라 부담 없이 읽고 참여하기 좋았다.</li><li>최대한 쉽고 친절하게 설명해 주시려는 배려가 느껴졌다. 추가 학습을 위한 추천 키워드도 인상 깊었다.</li><li>자신감이 떨어졌거나, 어떤 내용을 학습해야 할지 벽에 부딪힌 상황에 읽기 좋다.</li><li>무심코 지나갔던 내용을 한 번 더 생각, 정리하는 시간을 가졌다.</li><li>깊이를 더하기 위해 공식 문서를 참고하고 매주 후기를 작성할 때 가장 좋았다. 특히 프로젝트 구조, 도메인 주도 설계(DDD, Domain-Driven Design)가 기억에 남는다.</li></ul><h3 class="relative group">아쉬웠던 점<div id=아쉬웠던-점 class=anchor></div><span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"><a class="text-primary-300 dark:text-neutral-700 !no-underline" href=#%ec%95%84%ec%89%ac%ec%9b%a0%eb%8d%98-%ec%a0%90 aria-label=앵커>#</a></span></h3><ul><li>계곡에 가서 신발을 벗고 물에 발만 담근 채 돌아온 느낌이라 아쉬웠다.</li><li>설 연휴로 흐름이 끊겨 아쉬웠다.</li><li>실습이 적어 아쉬웠다.</li><li>능동적으로 참여하는 챌린지라기보단 정적으로 혼자 독서하는 기분이라 아쉬웠다. 참여하는 활동, 미션이 많았으면 좋겠다.</li></ul><h3 class="relative group">참고 자료<div id=참고-자료 class=anchor></div><span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"><a class="text-primary-300 dark:text-neutral-700 !no-underline" href=#%ec%b0%b8%ea%b3%a0-%ec%9e%90%eb%a3%8c aria-label=앵커>#</a></span></h3><ul><li><a href=https://product.kyobobook.co.kr/detail/S000219025613 target=_blank rel=noreferrer>『부트캠프 백엔드 개발자 편 with 스프링 부트』(김송아, 한빛미디어, 2026)</a></li><li><a href=https://www.inflearn.com/users/1604107/@nextdoordeveloper target=_blank rel=noreferrer>인프런 ‘[4주 과정] 『부트캠프 백엔드 개발자 편 with 스프링 부트』 완독 챌린지’</a></li><li><a href=https://inf.run/8AdRR target=_blank rel=noreferrer>인프런 ‘송아지할때송아김송아입니다.’</a></li></ul></div></div></section><footer class="pt-8 max-w-prose print:hidden"><div class=pt-8><hr class="border-dotted border-neutral-300 dark:border-neutral-600"><div class="flex justify-between pt-3"><span class="flex flex-col"><a class="flex text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" href=/posts/retrospective-20260222/><span class=leading-6><span class="inline-block rtl:rotate-180">←</span> 월간 장태근 2월호 'BANG BANG'
0 commit comments