
부트캠프 21주차 회고를 적어본다.
이번 주에는 멘토링 내용을 바탕으로 프로젝트 기획을 정비하고 프로젝트 구조를 잡았다. 이후 백엔드 개발을 시작하였다.
이번주 화요일에는 두 번째 멘토링이 진행되었다. 첫 번째 멘토링 이후 수정된 요구사항 명세서 및 와이어 프레임, 주말 동안 작업한 ERD에 대한 검토 및 피드백을 함께 보며 피드백을 주셨다.
특히, 요구사항 명세서를 처음부터 다시 한 번 꼼꼼하게 봐주셨다. 일부 수정사항이 있지만 큰 틀은 비슷했기에 처음부터 끝까지 다시 봐주시는 건 예상에 없었다. 요구사항이 명확하지 않으면 프로젝트가 제대로 진행되기 어려운 만큼, 요구사항 명세서의 중요도가 높다는 뜻일 것이다.
이번 멘토링을 통해 지난 멘토링에서 멘토님께 같은 설명을 들었음에도 팀원에 따라 이해한 내용이 다른 부분이 있다는 것을 알게 되었다. A 팀원이 이해한 내용으로 기획 방향을 설정했지만, 멘토님의 의도는 B 팀원이 이해한 내용과 같았다. 이렇게 생각이 달랐던 부분에 대해서는 멘토링 이후 다시 논의를 진행하여 방향성을 맞춰갔다.
이전 프로젝트에서는 정규화된 테이블만을 다뤄왔지만, 이번 프로젝트에서는 조회 성능을 위해 반정규화된 열을 포함한 테이블을 다루게 되었다. 관련 백엔드 로직을 구상하다보니 해당 열 때문에 로직이 복잡해지는 부분이 생겼다.
기본적으로 반정규화는 성능을 위해 데이터 정합성을 희생하는 작업이기 때문에, 정합성을 잘 유지하기 위해서는 백엔드 코드 작성에 유의해야 한다. 이를 통해 반정규화된 테이블을 다루어보는 것도 좋은 공부임을 알게 되었다.