항해99 | [회고] 5주차(22.4.1 ~ 22.4.7)

hyemin·2022년 4월 10일
0

항해99

목록 보기
10/18
post-thumbnail

5주차 - 주특기 심화

이번주차는 API 설계에 집중하는 것이 과제였다. 배달앱 API로 음식점에 음식을 등록하고, 메뉴를 조회하고, 주문도 할 수 있게 하는 API를 설게해야했다.

순한맛, 매운맛, 극강의 매운맛까지 난이도가 다양했고 순한맛은 필수 제출 그 외에는 챌린지로 내줬었다. 화요일에 순한 맛을 끝냈지만 당장 다음 주차에 프론트와의 첫 협업이 있을 예정이라 챌린지는 미루고 개인 공부로 이틀은 시간을 보냈던 것 같다.

막혔던 부분

회고 쓸 것을 생각 못하고 있어서 기록을 따로 해두지 못했는데,
가장 어렵고 막혔던 것은 JPA 연관관계 설정하는 부분이었다.

@ManyToOne / @OneToMany / @ManyToMany 를 각각 어떤 테이블에 어떻게 써먹어야될지 고민을 많이했던 것 같다.

  • 순환참조 - food와 ordes 부분에서 처음에 양방향 관계로 매핑을 시켰더닌 순환참조에 빠져 오류가 발생해서 @ManyToOne을 이용하여 단방향 관계로 연관관계를 바꿔주었다.

덧붙여 과제에서는 이미 테스트 코드가 주어져있던 상태라 ordrs, orde_item 부분에서 Dto를 테스트 코드를 보며 나누다보니 각각의 dto마다 어떤 역할로 쓰였는지 파악하기가 힘들었었다. 테스트 코드까지 짜라고 했다면 정말 너무 벅찬 과제였을 것 같아서 테스트 코드가 주어진게 어디냐 라고 생각했었는데, 내가 짠 코드가 아니다보니 전체적인 흐름 파악하는데 시간이 좀 걸렸던 것 같다.

배운 것

  • 매번 회고 때마다 느끼는 것이지만 프로젝트 시작전 API, DB 설계가 정말 중요하다는 것을 매번 느낀다. 그런데도 막상 과제를 받으면 깊은 고민없이 바로 프로젝트에 띄어들게 되서 반성을 많이 했다...

  • Builder Pattern

  • JPA 연관관계

  • CORS

0개의 댓글