
분량은 350페이지 정도 된다.
일단 이책을 읽은건 매우매우 탁월한 선택이였다.
역시 무지성 박치기로 학습하는것보다 때로 깊이가 필요할때는 처음부터 전체적인 내용에 대해서 차분히 짚고 넘어갈 필요가 있다는것을 알고있었지만서도, 다시 한번 확실하게 깨닫게 해주는 책이였다.
이 책을 선택하게 된 이유는, 그래서 클린/헥사고날 + TDD,DDD 를 참고하고 고려하며 아름다운 구조를 리팩토링해 나가기 위한 고군분투들을 하던 중 이 부분에선 어떻게 해야하지 ..? 어떻게 설계를 가져가야하지 ..? 하는 부분들이 참 많이 생겼고,
특히 쿠스토랑 리팩토링중 Mypage영역에서도 흩어진 정보들을 어떤방법으로 한군데 취합해서 사용자에게 보여줘야할까? 를 시작으로 해서 막연하게 ~이런 방법으로 하면 되지 않을까..? 에 대해서 스스로 어느정도 판단하고 결정할 수 있는 길잡이가 되어준 책이였던듯 하다.
비단 DDD의 입문서로써 뿐만 아니라 DB의 테이블 구조를 어떻게 설계 해나가며 JPA 내용까지도 중간중간 첨가가 되며 마치 단적으로 무언가를 학습할때 재미도 없고 적용도 안되서 지루했던 부분들이 아름답게 연결이되는듯한 정말 재밌는 책이였다.
또한 혼자 공부하던중 애그리거트 라는 개념에 대해 도무지 깨끗하게 와닫지 않아서 선택을 하게된 계기도 있는데 뭐 생각보다 별건 없었던듯 하다.
나름 뿌듯..? 했던점도 혼자서 생각하며 이런건 이렇게 풀어나가면 되지 않을까 ~~ 하고 잘 몰랐던 시절 혼자 고민하며 결과를 도출했던 부분들에 대해서도 책이 그렇게 하라고 이야기를 해주는것을 보고 ' 음 나름 잘생각 했군! ' 할 수 있었던것 같다 ㅎㅎ
다른 사람들도 익히 하는 말이겠지만, 단순한 레이어드아키텍처 기반으로 개발들을 시작하게 될텐데, (물론 나도 그랬고) 좀더 넓은 관점과 세계? 에서 도메인 중심으로 시작하여 설계해나가며 코딩으로써 정책이나 규칙들을 설계하고 나아가 테스트코드 작성에까지 도움을 주는걸로 연결되는 ~
개발자라면 필독서로써 읽어봐야할 책인듯 싶다.
포인트1.
에거리거트의 루트 엔티티 관점에서,
루트 엔티티를 뺀 나머지 구성요소는 대부분이 밸류인데, 별도의 테이블에 데이터를 저장한다고 해서 그것이 꼭 엔티티인 것은 아니다.
-> 와 신선한 충격이였다. table로써 저장되는건 다 엔티티라 생각했는데 엔티티가 아니라는 관점을 가져갈수도 있는줄 몰랐다.
예를들어 두개의 테이블이 있고, 각 pk가 있다고 할때 한 테이블은 루트엔티티로써 pk는 식별자로써의 역할을 하지만 다른 테이블의 pk는 식별을 하기 위함이 아니라 루트엔티티와 연결하기 위해서 사용되는 pk 라는 것이다 !
포인트2.
DB연동 코드를 반드시 JPA만 사용해서 구현할 필요는 없다는 것에 대한 재확인이다. 전에 우아한 테크 캠프 블로그에서 1위를 한 팀의 로그매니저 프로젝트 관련글을 인상깊게 여러본 읽어본 경험이 있다. 영속성이 필요한가를 논점으로 하여 JPA가 아닌 jdbc를 활용해서 db접근기술을 구현했었다는 내용이였다. 책에서도 팁과 같은 내용으로 JPA, 마이바티스, jdbc template등 다양하게 사용해서 구현한다고 한다. 역시 넓은 식견을 갖고 각 기술의 특징을 잘 파악해서 의사결정을 내려야 겠다는 점을 다시 한번 상기시켜주는 문단이였다.
포인트3.
이 책에서도 메세징 큐를 이용한 이벤트 기반 비동기 처리에 대해 소개를 하고 있었다. 다행히 멀티모듈 구조를 이용한 MSA구조를 어느정도 체험해보는 경험을 해본 덕분에 이해가 훨씬 수월했던것 같다. 만약 이런 경험 없이 책만 봤더라면은 상당히 지루하고 와닿지도 않을뻔한 내용이였다. 사실 위 프로젝트를 해보면서 MSA구조가 마치 DDD관점과도 일맥상통 한다고 느꼈었는데, 책에서도 그렇게 소개를 하고 있었다.
'개발 > 읽은 책' 카테고리의 다른 글
| 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2 를 읽었습니다. (1) | 2025.08.28 |
|---|---|
| Real MySQL 8.0 2를 읽었습니다. (~200p) (5) | 2025.08.03 |
| 가상 면접 사례로 배우는 대규모 시스템 설계 기초 를 읽었습니다. (2) | 2025.08.02 |
| Real MySQL 8.0 을 읽었습니다. (0) | 2025.07.16 |
| 전문가가 알려주는 웹 퍼포먼스 튜닝을 읽었습니다. (3) | 2025.06.21 |