06주차 항해99 WIL
01. 두번째 협업 프로젝트, 넷플릭스 클론 코딩
이번 주 에는 실전 프로젝트 전 마지막 협업 프로젝트인 클론 코딩 주차이다. 이번에는 팀장을 맡아서 프로젝트를 시작하였는데, 기존에 프론트 3, 백엔드 3명이 아닌 각 2명인 4인으로 팀이 구성되어졌다. 그렇기에 팀장으로 팀의 프로젝트의 스코프를 잡는 것에 많은 노력을 한 것 같다. 스코프를 너무 넓게 잡게 되면 완성품의 퀄리티가 떨어지고 종국에는 아예 프로젝트를 완성시키지도 못하기 때문에 일부러 이번에는 조금 쉬어보이는 '넷플릭스'를 잡게 되었다.
02. 넷플릭스, 클론 코딩 데이터 구하기
이번에 하게 되는 넷플릭스 클론 코딩의 화면 UI 나 구성은 넷플릭스 홈페이지에서 개발자 툴로 쉽게 구할 수 있었다. 하지만 아쉽게도 넷플릭스의 데이터는 구하기 어려웠다. 그래서 깃허브나, 항해99 1기 참가자들의 넷플릭스 클론 코딩을 찾아보았다. "The Movie DB" 라는 사이트에서 현재 인기있는 tv쇼나 영화 정보에 대해 자세히 나타나게 해주는 api가 있어서 데이터는 거기서 끌어 쓰기로 했다.
03. 이번 주 백엔드에서 배운 것
저번 프로젝트 때 멘토님이 통신 중에 실패 했을 때의 return 값과 성공 햇을 때의 return 값을 통일 하는게 좋다고 하셔서 이번에는 모든 api의 response를 통일하고 구현하였다. 그리고 되도록이면 response 구조를 바꾸지 말고 바꾼다 하더라도 재빨리 프론트 팀에게 연락을 해서 다시 맞추도록 했다. 그 결과 400번대 에러는 이 프로젝트에서 크게 줄어 개인 적으로는 매우 만족 스럽다.
스프링에서 외부 API를 사용하는 것도 문제였다. 지금까지 CRUD만을 백엔드에서 구현하였다면 그 한계는 분명하기에 이번에는 이 한계를 넘기로 하였다. 앞서 "The Movie DB' 에서 영화에 대한 API를 제공함으로 이 API를 스프링에서 사용할 수 있게 코딩하였고 성공적이었다. 다음 주 실전 프로젝트에서도 써먹으면 될 것 같다.
다음으로는 스케쥴링 프로그래밍이다. 이 데이터는 현 시점에서 최신, 인기있는 순으로 내림차순 정렬하여 가져온다. 즉 시간이 지나면 유행이 바뀌게 되고 지속적으로 데이터를 업데이트 해주어야한다. 스프링에서는 이런 경우 '스케쥴링 프로그래밍'을 지원하기에 이 점도 이 프로젝트에서 배우게 되었다.
04. 프론트 팀
저번과도 같이 프론트 팀에서도 매우 고생을 많이 해주었다. 하지만 저번 주의 경험이 쌓여서 이번 프로젝트에서는 별달리 문제 없이 아무 스무스 하게 처리할 수 있엇따.
05. 다음 주는 실전 프로젝트의 시작
어떻게 되다 보니 내가 주제선정을 하게 되엇고
어떻게 되다 보니 이번 실전 프로젝트에서도 팀장을 맡게 되었다.
이렇게 생각 해보니 항해99 에서 행하는 팀프로젝트 4번(1주차, 4주차, 5주차, 실전)의 프로젝트 중 팀장을 3번이나 맡게 되었다.
부담스럽긴 하지만 되도록이면 열심히 프로젝트를 완성해볼려고 한다.
06. 이번 주 포스팅
- 스케쥴링 프로그래밍
- 외부 API 사용하기