도메인 주도 설계 첫걸음
현재 회사에서 PM, 기획자없이 혼자 도메인 전문가와 긴밀하게 협업하면서 바이크 계약 어드민을 거의 새로 만드는 수준으로 개발하고 있다.
요구하는 기술 수준이 높은 작업은 아니였지만 계약이라는 도메인 자체가 처음이기도 하고 기존에 구현되어있던 계약 어드민에 대한 데이터 구조, 아키텍처를 스스로 파악해가면서 개발하기란 쉽지 않았다.
문득 이 상황에 도메인주도설계가 도움이 되지 않을까?라는 생각에 읽어보았다.
기술적인 내용도 좋았지만 협업하는 자세와 방법에 대해서 인사이트를 얻을 수 있어 좋았다.
이 책을 통해 도메인주도설계가 기술적인 문제를 해결하기 보다는 프로젝트를 성공시키기 위한 방법이라는 것을 깨달았다.
"우리가 해결하고자 하는 문제가 무엇인지 합의하기 전에 해결책을 얘기하는 것은 의미가 없다."
"또한 해결책에 대해 합의하기 전에 어떻게 구현하는지 얘기하는 것도 의미가 없다."
무엇?
과왜?
라는 질문에 대한 정답을 찾는 전략적 설계와어떻게?
라는 방법에 대한 정답을 찾는 전술적 설계- 스테이크 홀더(도메인 전문가 등)와 효과적인 협업과 소통을 하는 방법으로 먼저 용어집을 만들자!
- 도메인에서 핵심, 일반, 하위 도메인을 구분할 수 있어야 하며, 어떤 것에 집중할지 결정해야한다!
- 바운디드 컨텍스트는 MSA가 될 수 없지만, MSA가 바운디드 컨텍스트일 수는 있다.
- 애그리게이트는 작업 단위 기준으로 구분되며, 최대한 좁게 설계되어야 한다.
- 비즈니스 로직 패턴에 만능은 없다!. 트랜잭션 스크립트, 액티브 레코드, 도메인 모델, 이벤트 소싱 순으로 적절한 복잡도에 적절한 패턴을 선택해야 한다.
MSA와 EDA, 이벤트 소싱에 대해서도 더 설명하는데 아직 경험이 부족하여 와닿지는 않은 것 같다.
이 책을 읽고 흥미가 생긴 지점은 비즈니스 로직 복잡도를 도메인 모델로 해결하는 방법이다.
용어집을 만들어 바운디드 컨텍스트를 보호하고, 더 작은 단위인 유즈케이스로 애그리게이트 루트를 만들어 작업 단위와 유즈케이스를 뚜렷하게 경계지어서 복잡도를 낮출 수 있는 방법에 대해 궁금해졌다.
애그리게이트는 외부 기술에 의존하지 않고 순수한 도메인 영억으로 만들어야 하는지? 그렇다면 애그리게이트를 생성할 때 필요한 데이터를 모두 조회해서 다 주입해줘야 하는지? 애그리게이트는 빈이 될 수 없는지?과 같은 의문이 생겼다.
다음 책으로 실제 구현하는 방법에 대해 학습해보고 실무에 스스로 적용해보아야겠다.
개발자를 위한 레디스
사내 스터디를 진행하면서 읽어보았다. 내용이 무겁지 않고 글자가 커서 1주일에 한 번씩, 2회만에 완독했다.
- 레디스를 유용하게 사용하는 사례, 적절한 상황
- 레디스 자료구조
- 쓰기 전략
- 키 삭제 방식
- 메모리 관리와 maxmemory-policy 설정
- 캐시 스탬피드를 완화하는 방법
- 레디스의 pub/sub :
fire-and-forget
패턴 - 레디스의 stream : 카프카와 같은 팬아웃 데이터 분산 처리 가능, 소비자 그룹의 장점이 있음
- 복제 방식
- 클러스터 등
레디스 입문서로 적절하다고 생각한다.
길 위의 뇌
우연하게 유산소 운동이 뇌에 미치는 놀라운 효과영상을 접하면서 책을 읽게 되었다.
평소 러닝에 관심이 많기에 러닝에 대한 장점은 대충 알고 있었다. 심페지구력이과 근지구력이 좋아지고 뇌의 노화를 낮추고 뇌 가소성을 높힌다라는 것들 말이다.
하지만 책으로 더 확실하게 알아본다면 나의 러닝 습관에 좋은 영향을 줄 수 있지 않을까 하고 읽어보았다.
저자는 재활의학과에서 뇌신경질환을 겪는 환자들을 진료하기에 운동이 신체 건강과 뇌 건강에 끼치는 영향에 대해 잘 알고 있다.
그렇기에 이 건강을 지키거나 얻기 위해서는 가만히 노력없이 얻을 수 없다고 설명한다. 전문가가 이렇게 설명하니 꾸준히 달리는 입장에서 기분이 좋았다.
러닝이 명상같다고 느껴 머리가 복잡하거나 불안할 때 늦은 시간이라도 그냥 뛰러 나가 내 발소리를 들으면서 생각 정리를 한 적이 많다.
부정적 감정을 없애고 머리에 불필요한 찌꺼기들을 지우기에도 좋다고 생각했다.
저자도 "운동하러 갔다올게"
를 "생각하러 갔다올게"
라고 말할 수 있을 정도로 고요함을 느낀다고 하기에 동질감을 느꼈다.
이 책은 단순히 '운동하면 건강이 좋아져요~'라는 이야기를 하기보다는 운동을 대하는 생각을 바꿔주기 위해 노력하고 있다고 느껴졌다.
몸과 마음의 힘을 기르기 위해 운동을 통해 컴포트존을 벗어나 스트레스를 관리하는 것을 추천한다.
스트레스라고 하면 다들 부정적으로 여기지만, 그렇다고 스트레스 진공 상태에서 지내는 것이 몸과 마음에 좋은 것만은 아니다.
중요한 것은 내가 그 스트레스를 충분히 처리하고 대처할 수 있는가다.
'좋은 스트레스'는 힘들고 도전적이지만 긍정적인 결과를 얻게하는 스트레스다.
결과가 좋지 않았어도 좋은 스트레스가 될 수 있는데, 성장하는 경험이 되었을 때다.
'견딜 만한 스트레스'는 결과는 부정적일지라도 이를 잘 처리할 수 있는 스트레스다.
'나쁜 스트레스'는 신체, 행동, 생각에 부정적인 영향을 미치는 스트레스다.
결국 좋은 스트레스, 나쁜 스트레스를 결정하는 것은 스트레스 그 자체가 아니라 스트레스를 처리하는 나의 능력치에 달렸다.
돈의 심리학
부제는 "당신은 왜 부자가 되지 못했는가"
이다. 책의 제목만 보면 속물들이 읽을 법한 책으로 보일 수 있다.
인문학적 소양은 제쳐두고 돈을 벌기에 혈안이 된 사람들이 좋아할 내용일 것처럼 보이지만, 읽는 동안 총,균,쇠
, 불안
, 프레임
같은 책들이 떠오를 만큼 의외로 깊이 있는 통찰과 여러 교훈을 제공한다.
- 투자에 대한 성향과 선호도는 개인의 지능이나 교육과 무관하다. 사람의 성향은 그들이 언제, 어디서 태어나고 어떤 경험을 했는지에 따라 결정된다.
- 성공에서 행운의 역할을 인정하라. 개인의 노력만으로 모든 결과가 이루어진다는 믿음은 착각이다.
- 스스로 느끼는 만족의 기준을 이해하고 현실과 타협하라. 무조건 더 많은 것을 추구하기보다는 자신에게 진정한 만족감을 주는 것이 무엇인지 알아야 한다.
- 다른 사람에게 잘 보이려 소비하지 마라. 부는 당신이 소유한 것이 아니라 보이지 않게 축적된 자산이다.
- 어마어마한 성공은 어마어마한 힘에서 오지 않는다. 꾸준히 시간을 들이고 인내하는 과정이 성공의 핵심이다.
- 내 시간을 내 뜻대로 사용할 수 있는 자유가 돈이 주는 가장 큰 가치다.
- 부의 진정한 척도는 소득이 아니라 지출과 만족의 균형이다. 연간 5천 달러를 벌면서 4천 달러에 만족하는 사람은, 연간 1만 달러를 벌지만 1만1천 달러에 만족하는 사람보다 부자다.
이 책은 단기간에 돈을 벌 수 있는 비법을 알려주는 책이 아니다. 그런 목적이라면 이 책을 읽지 않는 것이 좋다.
그러나 돈을 대하는 자세와 철학, 그리고 돈이 줄 수 있는 진정한 가치를 배우고 싶다면 강력히 추천한다. 책은 단순한 투자 전략을 넘어 삶의 방식과 가치관을 돌아보게 한다.
특히 돈을 통해 얻을 수 있는 가장 중요한 것이 "자유"임을 강조하며, 물질적 풍요가 아닌 내면적 만족을 중시한다는 점이 인상 깊다.
살다 보면 자신이 내린 선택으로 부와 가난이 결정된다고 생각하기가 쉽다.
...
나는 네가 열심히 노력하는 것의 가치와 그 보상을 믿었으면 좋겠다.
그러나 모든 성공이 노력의 결실도 아니고, 모든 가난이 게으름의 결과도 아님을 깨닫기를 바란다.
...
돈이 주는 가장 큰 배당금은 네 시간을 마음대로 할 수 있는 능력이다.
네가 원할 때, 원하는 일을, 원하는 곳에서, 원하는 사람과 함께, 원하는 만큼 오래할 수 있다는 사실은 그 어떤 고가의 물건이 주는 기쁨보다 더 크고 더 지속적인 행복을 준다.
네가 모은 한 푼, 한 푼은 모두 남들 손에 맡겨질 수 있었던 네 미래 한 조각을 소유하는 것과 같단다.
- '나의 아이들에게 보내는 금융 조언' 중