본문 바로가기
T.I.L. :: Today I Learned/항해99 14기 본과정

Day 40. 앗챠 만들기 시작!

by DaSsom 2023. 5. 12.

오늘부터 클론코딩 시작이다. 이번주까지 가벼운 토이 프로젝트를 끝내면 다음주부터는 이제 실전 프로젝트에 들어가기 때문에 warm-up 하면서 마지막으로 한 번 정리를 하고 넘어갈 필요가 있다고 생각한다.

 

처음으로 모임을 갖고 아이디어 회의를 했다. 이번에도 역시 프론트엔드의 기준에서 조금이라도 더 많은 기능을 구현을 해볼 수 있는 것을 선택하기로 했다. 백엔드의 구조는 DB 설계만 잘 해주면 어떤 프로젝트여도 문제가 없을 것이라고 느꼈다. 그렇게 회의를 거쳐서 우리는 왓챠를 클론코딩 하기로 했다. (뭔가를 많이 놓칠 예정이라 이름은 앗챠..!)

 

ER 다이어그램을 이렇게 구성해보았는데, 지난번 프로젝트보다 엔티티만 방대해졌다. 아무래도 이번 기회에 연관관계에 대해 제대로 배우고 넘어가야지 싶다. 계속해서 궁금한 것은 OneToMany의 사용법이다. 너무 촘촘히 관계를 맺어주었다가는 지난 과제처럼 내가 원하는 컬럼을 연관관계 때문에 건들지 못하는 상황이 올 수 있다. 딱 필요한 부분만 맺어주면서 관리를 해야하는데, 이게 생각만큼 쉽지 않았다. 

 

큰 가닥으로 보이는 member, movie, tv는 쉬웠는데 문제는 movie와 tv에 해당할 '감독/출연진' 테이블이다. 일단 영화/Tv 프로그램 하나에 여러 명의 출연진이 있으니 1:M 관계를 맺어주었는데 또 생각해보니 1명의 출연진이 다수의 프로그램에 등장한다고 생각하니 반대의 관계가 맺어질 수 있는 것이다. 그래서 이 부분은 조금 더 고민해보고 진행해야 할 것 같다.

 

이번에도 순환참조 문제는 @Json~ 어노테이션으로 해결하기 위해 미리 방지해주었고 기타 보안 설정 같은 것도 이전과 동일하게 진행했다. 먼저 자료가 있었기 때문에 진행을 했지만 이 부분에 대해서는 코드 한 줄씩 뜯어보며 다시금 공부해야할 것 같다.