문제
이번 주차를 지나며 겪었던 문제가 무엇이었나요?
-> 시퀀스 다이어그램과 DB 설계가 가장 어려웠습니다.
시도
문제를 해결하기 위해 어떤 시도를 하셨나요?
-> 시퀀스 다이어그램에서 주체의 단위를 도메인별로 설정하고 진행하였습니다.
또한 DB 설계를 할때 어디까지 정규화와 반정규화를 할지 다른 사람들 설계한 것도 참고하고, 코치님들의 발제 Q&A도 한번 더 녹화본으로 보았습니다.
해결
문제를 어떻게 해결하셨나요?
-> 코치님이 올려주신 시퀀스 다이어그램 작성 예시를 보고 도메인 관점으로 작성을 하였습니다.
시퀀스 다이어그램을 작성할 때 중요한 점은 디자이너나 코드를 모르는 사람도 보고 알아볼 수 있게 쉽게 작성이 되야 한다는 점입니다.
DB ERD 설계를 할 때는 어디까지 정규화를 하고, 반정규화를 할지가 정말 고민이 많았습니다.(고민한다고 시간을 다 보내 다른거 할 시간이 부족하여 매일 새벽까지... ㅠ)
- DB ERD
(코치님의 의견을 반영하여 조금 더 보완한 버전)
watingQueue 테이블의 경우 결국엔 토큰 테이블과 합치기로 결정하였습니다. 토큰 테이블이 하는 역할이 토큰 관리밖에 없는데, 대기열에서도 어차피 토큰 관리가 필요하기 때문에 생명주기가 같다고 보았기 때문입니다.
또한 reservation 테이블에서 콘서트 정보를 비정규화를 하여 컬럼을 3개 추가하였습니다(concertName, concertDate, seatNumber). 이렇게 한 이유는 매번 예약을 조회할때 마다 조인을 3개를 해야 전체 예약 정보를 알 수 있는데, 그럼 읽기 부하가 걸릴 것 같아서 입니다.
알게된 것
문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?
-> DB 설계를 할 때 어떤 관점으로 DB를 설계할 지 이번에 많이 깨닫게 되었습니다.
지난 목표 회고
지난 주에 설정해두었던 목표는 달성하셨나요? 잘된 것은 무엇이고 안된 것은 무엇인가요?
-> 네 기한 안에 과제 제출을 하여 목표를 달성하였습니다. 다만 단위 테스트를 컨트롤러에 대해서 하지 못해서.... 다음에는 더 미리미리 하겠습니다.
다음 목표 설정
반복적인 성장을 위한 실천 가능한 단기적인 목표를 설정해보세요!
-> 좀 더 기능 개발을 할 때 어떻게 하면 좋을지를 고민해보겠습니다!!
'세션 > 항해플러스' 카테고리의 다른 글
동시성 이슈( Lock 비교) (1) | 2024.07.25 |
---|---|
항해 플러스 백엔드 챕터 2 후기 (0) | 2024.07.20 |
WIL 2주차 회고 (1) | 2024.06.30 |
WIL 1주차 회고 (0) | 2024.06.22 |
99클럽 코테 스터디 28일차 TIL, 그리디(Iterator for Combination) (0) | 2024.06.18 |