코드숨에서 도메인 주도 설계 책을 가지고 6주 동안 스터디를 했다. 그리고 마켓컬리를 DDD를 적용한 프로젝트 스터디를 진행했다.
책 스터디는 책 내용만 다루기보다는 어떻게 책을 읽어야 하는지에 대해서 더 많이 다루었다. 이 책은 내용이 어려워서 집중해서 읽지 않으면 내용을 놓치는 것들이 많기 때문이다.
책에서 나온 내용을 질문으로 만든다. 저자가 명확하게 의도를 드러낼 때가 있다면 쉽다. 에를 들어 책 서문에서는 “도메인 모델링과 설계는 뛰어난 소프트웨어 설계자들 사이에서 적어도 20년 동안 매우 중요한 주제로 인식되고 있지만 놀랍게도 뭘 해야 하고 어떻게 해야 하는지에 관해서는 기록된 바가 거의 없다.”라고 이야기하고 있다. 즉 도메인 모델링과 설계란 무엇이며 어떻게 해야 하는지에 대해 앞으로 다룰 예정이라는 것이다 그러면 다음과 같이 질문을 작성할 수 있다.
그러면 이 질문에 답할 수 있을 때까지 책을 읽는 것이다. 그러다가 놓치면 다시 이 질문으로 돌아와서 다시 답해본다. 답할 수 없다면 답할 수 있을 때까지 책을 읽는다.
도메인 주도 설계의 이론적이 부분만 공부하는 것은 아무런 의미가 없다고 생각하여 마켓컬리 앱을 클론 하는 프로젝트 스터디를 진행했다. 결제, 회원, 할인, 상품, 마케팅, 프런트팀으로 팀을 나누어서 프로젝트를 진행했는데 나는 마케팅팀으로 프로젝트를 진행했다.
사용자 스토리 먼저 어떤 기능을 만들지 사용자 스토리를 작성했다. 그리고 이 스토리를 만들기 위해서 모델을 만들고 유비쿼터스 언어를 정의했다.
유비쿼터스가 있다 보니, 코드리뷰를 할 때도 유비쿼터스 언어를 기반으로 코드리뷰를 하게 됐다. 코드를 읽다가 우리가 대화할 때 사용한 적 없는 단어가 나오면 이상하게 생각하고 코드리뷰를 하게 됐다. 이게 유비쿼터스 언어의 힘인 것 같다.
자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 - OAuth 2.0 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기
코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!