근 2주간 몇가지 작업이 진행되었지만 진척도는 생각보다 굉장히 느리다.
그 사이에 다양한 토론들이 있었던 것도 한 몫하는 것 같다.
동아리 운영 차원에서 다른 프로젝트를 수행해야하는 일정이 추가로 생길 것 같다.
근 1년 내로 새롭게 생기는 프로젝트에 백엔드 인원들이 참여할 수 있도록 6개월 이내로 재설정해달라는 요청이 있어 일정 추산도 다시 해야할 것 같다.
방향성은 굉장히 좋게 흘러가고 있는 것 같지만 기간이 문제다.
프로젝트에 참여하고 있는 인원들이 각자 PR을 1회 이상 생성해봤다.
이는 PR을 올리는 것에 대한 두려움을 최소화시키는 발걸음이자 작업환경을 구성하는데 있어 가장 중요한 일이라고 생각했다.
추후 참여하게 될 레귤러들의 온보딩 효과를 간접적으로 체험할 수 있었던 것 같다.
discussion 첫글을 쓰면 폭죽을 터뜨려준다.
discord에서 좋은 토론거리들이 종종 등장하곤 하지만 추후 같은 문제를 재논의 할때 discord에서 해당 키워드를 검색해서 일일히 찾아야한다.
이러한 피로도를 줄이기 위해 discussion에 토론 내용을 정리하기로 했다.
아직 토론이 진행중이긴 하지만 현재까지 2개의 discussion이 생성되었다.
패키지 구조를 계층형에서 도메인 형태로 변경했다.
기존 코드에서 존재하는 도메인 간 의존성을 패키지로 구분하여 쉽게 파악할 수 있고, 추후 도메인의 역할을 명확하게 구분하는 데 도움이 될 것이라는 근거로 도메인 형태의 패키지 구조를 도입했다.
(DDD에서 언급하는) 애그리거트를 기준으로 패키지를 구분하면 좋다는 이야기가 나왔는데 아직 협업하는 구성원들 사이에서 이에 대한 용어정립이 이루어지지 않은 상황이라 섣불리 애그리거트로 나누자! 라고 하기에는 애매한 상황이다.
해당 블로그를 참고하여 도메인을 기준으로 루트 패키지를 분리한 형태
정도로 구분했다고 이야기할 수 있겠다.
이 과정에서 도메인은 현실 세계에서 사용자가 문제를 해결하기 위해 정의하는 기준
정도로 생각하면 좋을 것 같다.
조만간 도메인 이해를 위한 워크숍을 진행해보는 것이 좋을 것 같다는 생각이다.
DDD 스터디도 한번 고려는 해보겠으나 우테코에서 들었던 DDD 강의를 생각해봤을 때 작업하는 인원들의 혼란이 가중될 것 같다는 생각이 들어 조금은 조심스럽다는 의견이다.
이벤트 스토밍도 꽤나 괜찮은 선택지로 보인다.
추후 레귤러 인원이 들어왔을때 진행해봐야겠다.
개인적으로 수행한 작업으로 사용자 인증작업을 구현했다.
ArgumentResolver에서 JWT 토큰을 파싱하고 이를 Student 객체로 반환하는 flow로 인증을 구성했다.
이 과정에서 인증에 대한 예외를 상황에 따라 별도로 핸들링하여 구체적인 예외메시지를 로그에 남기고 클라이언트에게는 추상화된 메시지를 남기는 CustomException 방식을 구현했다.
또한 기존에 모든 예외상황에 대한 응답코드가 존재했으나 클라이언트에서 활용중이지 않은 것으로 확인하여 이에 대한 부분은 불필요하다고 여겨져 제거하기로했다.
이전에 카카오 에러코드를 참고하며 문서화를 같이 진행하려했으나 중간에 무산되었던 것으로 기억한다.
인원이 적은 상황에서 리뷰를 챙겨가며 마이그레이션을 진행하려다보니 속도가 많이 아쉬운 상황이다.
인증, 권한을 빠르게 Merge시키면 pull 해서 빠르게 작업할 수 있는 것들이 몇몇 있기 때문에 인증 구현을 빠르게 진행해야겠다는 생각이 든다.
하지만 그 외에도 외부 API 호출, 이메일 인증, Slack Web Hook 등 다양한 도전과제들이 남아있기 때문에 결코 여유있는 상황은 아니라는걸 명시하면서 작업을 진행하자.
우선순위를 명확히 하고 6개월 이내로 작업을 마칠 일정추산 또한 다시한번 검토해봐야겠다.