You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이 외에도 다양한 피드백을 PR에 남겨주셨는데, 필자가 생각한 그 이상으로 도움받은게 많아서 정말 감사했다. (해당 리뷰어님이 이후의 단계들도 이어서 피드백 해주시면 좋겠지만, 강의 특성상 단계별 리뷰어분이 랜덤으로 바뀌어서 아쉬웠다 😭)
132
136
133
137
### 3단계: 테스트를 통한 코드 보호
134
138
@@ -148,9 +152,7 @@ author: devFancy
148
152
149
153
*[Practical Testing: 테스트 코드 작성 방법 - Mock, 더 나은 테스트를 위한 구체적 조언](https://devfancy.github.io/Practical-Testing2/)
150
154
151
-
미션을 수행하는 도중에 궁금한 점들을 아래 PR를 통해 작성했고, 리뷰어님의 의견을 듣고자 했다. (리뷰어님이 나의 궁금한 점들을 최대한 구체적 + 경험에 비추어 답변해주셔서 정말 감사했다)
152
-
153
-
*[PR 3단계 - 테스트를 통한 코드 보호](https://github.com/next-step/ddd-legacy/pull/835)
155
+
미션을 수행하는 도중에 궁금한 점들을 PR에 작성했고, 리뷰어님의 의견을 듣고자 했다. (리뷰어님이 나의 궁금한 점들을 최대한 구체적 + 경험에 비추어 답변해주셔서 정말 감사했다)
154
156
155
157
리뷰어님의 피드백과 해당 강의에서 배운 결과, 테스트 컨테이너와 DB를 정리하는 `tearDown()` 메서드를 사용하는 것 보다 **테스트 시간이 짧은 인메모리로 `Mocking` 하고 `Fake` 객체를 사용하는 방법**을 택했다.
156
158
@@ -170,7 +172,29 @@ author: devFancy
170
172
결국 테스트코드가 많아질수록 **테스트 실행 시간을 단축해야 하므로 인메모리를 적극 활용**해야 한다는 점을 배웠고,
171
173
**비즈니스에 중요한 부분**을 중심으로 테스트코드를 작성하는 것이 유지보수 관리에 드는 시간과 비용을 절감하는 데 효과적이라는 것을 이번 미션을 통해 다시 한번 깨달았다.
172
174
173
-
### 오프라인 모임: 이벤트 스토밍
175
+
176
+
### 1주차 복습하기
177
+
178
+
> 1주차 미션에서 나온 용어들에 대해 한 줄로 정리하면 아래와 같다.
179
+
180
+
*`도메인` - **소프트웨어로 해결하고자 하는 문제 영역** 입니다.
181
+
182
+
* 예를 들어, 예를 들어, 핸드폰을 이용하여 사용자 간에 거래를 할 때 필요한 도메인은 `송금`입니다.
183
+
184
+
* 송금 도메인을 제대로 이해하려면, 송금과 관련된 금융, 계좌, 수수료 등의 지식이 필요합니다.
185
+
186
+
*`모델` - 목적을 위해 현실 세계에 존재하는 것을 **가공하고 편집**하여 우리에게 정보를 제공하는 것입니다.
187
+
* 예를 들어, 금융 송금 시스템에서는 실제 은행 계좌, 송금 금액, 수수료, 거래 일자 등의 정보를 단순화하여 송금 요청, 송금 내역 등의 모델로 표현할 수 있습니다.
188
+
189
+
*`도메인 모델` - 도메인의 핵심 개념과 비즈니스 규칙, 행동(메서드)까지 모두 반영한 **목적을 가진 의사소통 수단**입니다. 이는 회의, 기획, 디자인, 개발 등 여러 단계에서 공유되어, 시스템의 핵심 개념을 풍부하게 표현하고 비즈니스 로직을 구현하는 데 사용됩니다.
190
+
* 예를 들어, 금융 송금 도메인에서는 '송금', '계좌', '거래', '수수료' 등의 개념을 객체와 연관관계로 표현하여, 송금 내역 생성, 수수료 계산, 계좌 잔액 검증 등의 비즈니스 로직을 포함하는 도메인 모델을 구축할 수 있습니다.
191
+
192
+
*`도메인 주도 설계` - 비즈니스 관점에서 도메인을 중심으로 설계해 나가는 접근 방식입니다. 도메인 모델을 활용하여 복잡한 비즈니스 규칙과 요구사항을 코드에 명확하게 반영하고, 개발팀과 비즈니스 전문가 간의 효과적인 의사소통을 도모합니다.
193
+
194
+
195
+
---
196
+
197
+
## 이벤트 스토밍 워크숍
174
198
175
199
2월 1일 토요일에는 처음 오프라인 모임을 진행하게 되었다.
176
200
@@ -225,6 +249,25 @@ author: devFancy
225
249
226
250
무엇보다도, 이벤트 스토밍의 궁극적인 목표는 **참여한 모든 구성원이 동일한 도메인 지식을 공유하고, 같은 이해를 가지는 것**이라는 점을 다시금 깨닫게 되었다.
227
251
252
+
### 이벤트 스토밍 워크숍 복습하기
253
+
254
+
> 이벤트 스토밍 워크숍에서 배웠던 용어들에 대해 한 줄로 정리하면 아래와 같다.
255
+
256
+
*`이벤트 스토밍 워크숍` 이란?
257
+
* 프로젝트에 같이 참가한 팀원들이 서로가 공통된 이해를 가지기 위해 도메인 지식을 탐구하는 과정입니다.
258
+
259
+
* 내가 `퍼실리테이터`라면 어떤 마음가짐을 가져야 할까요?
260
+
* 참가자들이 자유롭게 아이디어를 내고 논의할 수 있도록 돕고, 개입은 최소화하되 필요할 때 적절한 방향을 제시하는 조력자 역할의 마음가짐을 가진다.
261
+
262
+
* 내가 `드라이버`라면 무엇을 염두에 두어야 할까요?
263
+
* 도메인 이벤트를 논리적인 흐름에 맞게 배치하고, 팀원들과의 피드백을 주고받으며 조정합니다.
264
+
265
+
* 내가 `내비게이터라면` 드라이버를 돕기 위해 어떻게 안내해야 할까요?
266
+
* 도메인 이벤트의 맥락과 연관성을 고려하여 드라이버가 올바른 결정을 내릴 수 있도록 논리적으로 설명하고 안내해 줍니다.
267
+
268
+
269
+
---
270
+
228
271
## Review
229
272
230
273
이번 글에서는 넥스트스텝의 "DDD 세레나데 7기"를 수강하게 된 배경과 1주차 미션에 대한 후기를 정리했다.
0 commit comments