추천책에 있는 책들 거의 다 읽고 DDD에 있는 쇼핑몰 예제들 카피하면서 거기에 내 애플리케이션에 필요한 기능들로 바꾸면서 하고있는데


여기에 구글 스토리지 업로드, 다운로드 기능 구현하고 구글 스토리지의 구체적인 구현은 추상 팩토리 패턴으로 만들어서 의존성을 없앴고


판매자의 잔고 가격 바꾸는 메소드는 이벤트를 만들어서 다른 애그리거트에서 사용해서 결합성을 낮췄고


돈이나 여러 클래스는 따로 클래스로 구현해서 불변성을 지키고 코드를 좀 간편하게 만드는 등 기능 자체 구현을 빠르게하기 보다는 DDD나 디자인 패턴에서 배운 객체지향적인 구조에 초점을 맞춰서 만들었음



지금 쇼핑몰 자체에 필요한 기능은 대충 다 완료됐고


다음 목표가 일단은 구글 스토리지를 사용하는 외부기능을 이벤트로 만들고 rabbitmq같은 메세지 브로커를 사용하던가 DDD책에 있는 기능 베껴서


만약에 외부기능에 문제가 생겨도 이벤트를 보류해놨다가 작동하는 기능을 만들려고 하고 있는데


이 기능까지 완성하고 이제 어떤 쪽으로 이 포폴을 발전시키고 어느 수준까지 만들어야 할지 모르겠음..

(ddd책에 cqrs 소개까지 돼있긴 한데 겉햝기 수준으로 소개하고 있다 써져서 이것까지 하는건 좀 오버같음..)

 

자바 클라우드를 공부하면서 수평적 확장을 해보는게 좋을지 아니면 


트래픽이 엄청 많은 상황을 가정하고, 그 트래픽을 처리하는 기술들을 공부하는게 좋을지


요즘에 이정도 여러가지는 해야 신입으로 온다라는 말이 있는 반면에 


하나를 깊게 파서 그런 생각의 결과를 보여주는게 포폴이다라는 말도 있어서 어디까지 어떻게 해야할지 너무 햇갈림..



사실 지금까지도 기능을 바로 구현하기보다는 ddd를 공부하면서 구조를 어떻게 짜야 결합력이 떨어지고 깔끔하게 될까, 어디까지 wet, dry하게 기능을 만들어야할까


+ 구글 클라우드나 greenmail같은 메세지 테스팅 도구 공부 + deprecated된 스프링 시큐리티같은 기능들 다시 공부하고 다 새로운 버전으로 다시 코딩


이런거 하다보니까 2달이나 지나버렸는데 지금 코테도 다시 감 잡아야 할 것 같은데 여기서 더 포폴에 시간을 써도 될지 모르겠음..