발표자료를 갈무리했다. 너무 과도한 내용은 제외시키느라 힘들었다.
마무리한 뒤에는 고객 타겟팅을 좀 더 살펴보고, 현재 상황에서 어떻게 돌파를 해야되는지 위주로 찾아봤다.
타겟팅은 결론적으로 행동론적에서 문맥적 분석으로 전환되는 추세라고 한다. 개인정보 보호 때문이다.
그래서 CDP가 뜨는 것이다. 개인화가 가능하기 때문에
어그리거트는 잘게 나눌수록 좋다고 한다. 웬만하면 엔티티 하나에 어그리거트 하나가 되도록 하는게 좋다고 한다. 그렇지 않다면 도메인 식별을 잘못했을 가능성을 생각해봐야 한다.
트랜잭션도 마찬가지로 어그리거트 단위로 나누는게 좋은데, 서로 다른 어그리거트를 묶을때는 결과적 일관성을 이용하는게 좋다고 한다. 메세지로 트랜잭션을 만드는 것 같은 느낌이다.
한 주간 공부했던걸 발표했다. 질문과 피드백을 받았던 부분은 DMP와 CDP의 차이가 와닿지 않는다는 것. 곰곰이 생각해보니 논의되고 있는 개인정보가 어떤 것인지에 대한 것 부터 얘기를 하는게 좀 더 접근을 쉽게 하지 않았을까 하는 생각이 들었다. 폭포수에 비유한 그림도 생각이 난다.
어찌됐건 발표는 잘 마무리됐고 프로젝트가 시작된다.
요구사항은 내일 받게 되고, 일단 큰 그림에 대한 설명을 들었다.
큰 난관으로 생각되는 부분은 너무 당연하지만 협업과 새로운 기술이다.
몽고DB와 엘라스틱서치까지 적용을 시켜야 한다는데, 기한 내에 다 할 수 있을지.. ㅎㅎㅎ
우선 종운님과 큰 그림에 대한 플로우 다이어그램을 만들어 생각을 맞춰봤다. 미로라는 협업 툴을 썼는데, 좋다. 스쿱할때 디자이너분들이 썼던 것 같기도 한데, 앞으로 자주 쓰게 될 것 같다.
이후에 큰 난관 중 하나로 생각되는 DDD를 살펴봤는데 같이 얇은 책을 읽어봤다. 규모가 작아 객체지향적으로 잘 설계하면 자연스럽게 DDD가 되지 않을까 하는데 ㅎㅎ 모르겠다.
엘라스틱서치도 살펴봤는데, 요구사항을 만족시키려면 굳이 역색인까지는 필요가 없어 보였다. 내일 물어봐야겠다.
바운디드 컨텍스트라는 개념이 있다고 한다. DDD 스타트에서는 중요하다고 맨 뒤로 뺐는데, 오늘 읽은 책에서는 맨 처음부터 나온다.
말 그대로 컨텍스트를 나누는 것인데, 모놀리식에서 이것 저것 얽히다보면 어떤게 어디에 속하는지 정확히 구분하기 힘들어질 때가 있다. 책에서는 진흙 덩어리같은 상태라고 표현한다.
핵심은 서로 의존성이 있거나 영향을 끼치는 범위 만큼만 컨텍스트를 나눠 별개의 프로젝트나 모듈로 관리를 해야 한다는 것이다.
DDD 스타트는 JPA를 이용한 구현 부분으로 넘어갔는데, 반드시 객체 참조를 사용하는 것이 아니라 id참조도 고려하기 시작하면 효율적이게 구현할 수 있다고 한다. 그리고 조회 전용 엔티티에 관한 내용도 있었는데, 나도 요즘 고민하고 있는 부분이라 시간나면 구현해봐야겠다.
플로우 차트를 마무리하고 요구사항의 세부사항들을 들었다. 중요한 부분은 알고리즘이 나뉘어진다는 것인데, min-max 알고리즘에 대해 찾아봤다.
찾아서 나온건 mini-max 알고리즘이었는데, 이게 아닌 min-max 정규화가 필요한 것이었다. 그래도 mini-max라는 알고리즘을 알게돼서 뜻밖의 수확이 있긴 했다. 체스 알고리즘 등에 사용되나보다.
내일부터는 백로그를 나누며 기능정의부터 해보기로 했다. 일정대로 잘 갈 수 있을지 ㅎㅎ
도메인에서 서비스와 의존도가 크면 이벤트를 이용하는 방법이 있다고 한다. 이런 식의 접근은 생소한데, 신기하다.
백로그 작성 상태 다이어그램, 시퀀스 다이어그램, 화면구성 및 API 구성을 하루만에 했다. 요구사항이 적어서 그런지 진도가 쭉쭉 나가는 것 같다.
상태 다이어그램은 처음 그려봐서 어려웠는데, 월요일에 질문을 많이 해봐야겠다.
이런것들 문제가 관리가 어렵다는 것인데, 방법을 잘 생각해봐야겠다.
서비스의 단위가 애매하다면 도메인 서비스를 만드는 것도 괜찮다고 한다. 대신 객체에 의존성을 주입하는 것은 자제하고 메소드에 주입하는 식으로.
CQRS에서도 관련된 내용을 얘기할거라는데, 이런 비슷한 고민을 꽤 한 적이 있어서 어떤 방법을 제시할지 궁금하다.
객체 그래프와 클래스 설계를 마쳤다.
생각보다 난관이었는데, 특히 거래 쪽 설계를 할때 힘들었다. 플로우가 가시적으로 볼 수 있는게 아니라서 그랬던 것 같다.
이외에 배치는 공부해온 뒤 마저 작성하기로 했다. 복잡하지 않아서 클래스 몇개만 더 작성하면 될 것 같다.
Powered with by Gatsby 2.0