오늘은 코드를 작성하는 것보다, 책을보고 공부하고, 기존의 프로젝트를 어떻게 개선 및 개발해야할지에 대한 설계를 했다. 신발 주문 시스템의 아키텍처 구조는 애플리케이션과 웹, 영속성 계층이 느슨하게 결합되어 있어, 도메인 모델링을 자유롭게 할 수 있다. 그럼 도메인 모델링은 어떻게 이뤄질까? 나는 도메인 엔터티를 시작으로 유스케이스(도메인 서비스, 애플리케이션서비스)를 개발했다. 나는 설계 단계에서 도메인 코어와 애플리케이션을 분리하기로 결정하였다. 당시 나는 비즈니스로직과 도메인 로직을 다르다고 판단하고, 다르게 사용하였다. 비즈니스로직은 유스케이스를 의미하고, 도메인 로직은 도메인 객체가 생성될 수 있는 조건, 각 프로퍼티의 검증을 의미했다. 해당 단어의 사용은 다른 개발자에게 혼란을 주었던 것 같다..
오늘은 점심 약속이 있어, 많은 공부와 개발을 진행하지는 못했다. 하지만 보람차고, 즐거운 하루였다. 점심 약속 전까지 약 3시간 동안 아주 알차게 독서 와 Product 도메인 개발을 진행했다. Product 개발 오늘은 개발할 시간이 많지 않아, 어제 설계한 도메인에 대한 테스트를 작성하고, 테스트를 어떻게 세분화할지 고민하였다. 지난 Member 개발 간 받은 피드백 중 하나였던 테스트의 부족에 관하여 생각이 많다. 테스트 본질의 목적인, 로직의 검증 뿐만아니라 어떻게하면 테스트로 코드 문서처럼 작성할 수 있을까? 하는 고민으로 가득하다. 좋은 테스트에 대하여 좋은 테스트는 어떤 테스트일까? 이에대한 정해진 답은 없다. 하지만 오답은 있다. 그럼 오답만 피한다면, 내가 생각한 것이 정답이 될 수도 ..
오늘은 드디어 Product 도메인 설계를 시작하기 시작했다. Product 개발에 앞서, 지난 Member 도메인을 개발하면서 받은 피드백 사항을 정리하고 기록했다. 내가 받은 피드백은, "테스트가 부족하다. 흐름(로직)에 대한 시퀀스다이어그램 추가하면 좋을 것 같다. PR의 단위가 너무 크다." 이다. 해당 부분들은 모두 납득하고, 이번 Product 도메인 개발 간 극복할 것이다. 이에 대한 더 자세한 계획은 프로젝트 Wiki에 작성해 두었다. 신발 주문 시스템 분석 도메인 : Member shoes-ordering-system. Contribute to KEEMSY/shoes-ordering-system development by creating an account on GitHub. github..
벌서 6월의 마지막 주말이다. 6월달은 퇴사하고나서 첫 달인데, 정말 순식간에 지난것같다. 퇴사를 하고 난 뒤, 그간 받아오던 사수로 인한 스트레스로 부터 해방되면서, 정말 힐링을 많이 한 것 같다. 하고싶던 공부 를 실컷 할 수 있다는 것이 너무 행복하다. 특히 잘못이라고 인지한 부분에 대하여, 이를 해결하고 지나가는 이 부분이 가장 내 마음을 편안하게 해주는 것 같다. 안되는 이유만 찾던 그곳에서 벗어나, 문제를 인식하고, 해결하는 과정이 너무 즐겁다. 좀 더 정확하게 이야기한다면, 힘들지만 즐겁다. 6월동안 나는 무엇을 했는가? 6월 한달 동안 정말 많은(?)일이 있었다. 퇴사, 예비군, 프로젝트, 공부로 가득한 6월이었다. 그 중 가장 기억에 남는 일을 꼽아본다면, 단언코 프로젝트(신발 주문 시스..
오늘은 Member 도메인 작업 이후, PR 작성 및 피드백을 받고, 이를 개선하기 위한 방법을 생각해보았다. 그리고 구매한 책도 와서 재미나게 읽어보았다. 책은 생각보다 많이 얇았다. 하지만 앞 부분을 읽어보았는데, 진짜 몇일간 머릿 속에 둥둥 떠다니지만 잡히지 않았던 그런 내용들이 정리가 되어있었다.(정말 내가 말하고 싶던 말들이 적혀있었다.) 이 책은 정말 내게 많은 도움이 될 것 같다. 관련된 내용으로 내가 공부를 하고싶어하기도 했지만, 현재 알고있는(?) 확실하게 알게되는 계기가 될 것같은 느낌이다. 만들면서 배우는 클린 아키텍처 아직 앞부분 밖에 읽지 못했지만, 정말 짧은 부분임에도 불구하고, 내용이 하나같이 다 챙겨가야할 내용들이라는 생각이 들었다. 진짜 내가 가렵던 부분을 무슨 유도미사일처..
오늘은 열심히 작업한 Member 도메인을 어떤 흐름으로 로직이 구성되는지, 내가 작업한 내용들은 어떤것들인지 하루종일 정리를 했다.(정리가 제일 어렵다..) 분명 분석과 설계를 하고 개발을 했음에도, 내가 작업한 내용을 정리하는 것이 어려운 것 같다. 그래도 어렵지만 재밌다. 내가 한 것들을 정리하면서, 생각도 정리되고, 앞으로 개발할 도메인들에 대해서도 가이드가 되는 듯하다. Member 도메인이면서 프로젝트의 스켈레톤(템플릿) 정리 다른 사람들에게 프로젝트를 소개 및 리뷰를 해야하는 만큼, 첫 도메인 작업 내용을 작성할 때, 불필요한 질문을 줄이기 위해 Member 도메인에 대한 내용 외에도 프로젝트에 대한 구조 및 구성에 대한 설명을 해야한다.(라고 생각한다.) 그래서 기본적인 로직의 흐름, 디렉..