Today I Learned
- 재사용 가능한 컴포넌트 디자인하기
- 두 페이지에서 동일한 컴포넌트를 사용하는데, 유지하는 State의 형태는 같지만 두 페이지에서 State가 업데이트 될때 수행하는 Action이 달랐다. 컴포넌트를 재사용하기 위해서 Action과 State의 의존성을 분리해주는 작업이 필요했다.
- 한참 고민하다가 callback(또는 controller)를 컴포넌트 생성 시 주입해주고, 상태의 업데이트 시 callback에 업데이트 된 상태를 넣어서 callback을 호출하도록 디자인하였다.
- 컴포넌트 내부에서 Nesting 된 환경 안에서 상태를 참조하고 제어하기 위해서 별도의 context(+useReducer)를 이용하여 wrapping 해주었다.
오늘의 느낀점
- 프로젝트의 막바지에 가까워가니 마음이 급해지고, 야근을 많이하게 된다. 2시 반까지 구현하고 지쳐 나가 떨어져서 일일회고를 다음날인 목요일에 쓰게 되었다.
- 프론트엔드를 사실상 한 3~4일 정도만에 구현하는 것 같다. 처음 주간은 팀그라운드룰, 계획, 요구사항 분석에 거의 썼고, 저번주는 거의 백엔드에 모두 다 할애했다 . 월요일날 자동배포와 로그인(토큰발급) API를 마무리하고 화요일부터 프론트를 하고 있다. 미리미리 끝내고 리팩토링 등 할 여유가 있었으면 좋았을텐데...
오늘의 칭찬
- 재사용 가능한 컴포넌트를 디자인하는 것이 어려워서 중간에 Ctrl + C / Ctrl + V 를 이용해서 그냥 따로 구현할까... 하는 생각이 들었지만 포기하지 않고 스스로 구조를 디자인해서 만들어냈다.
개선점 & Reminder
- 여러모로 iOS 클라이언트 쪽과 협업하니 API를 수정할 필요가 많이 생긴다. API Documentation을 잘 유지해서 나와 클라이언트 쪽 모두 혼란이 없도록 하자. (회의하고 안적어놓으면 API 어떻게 하기로 했는지 1시간만에 까먹는다...)
'Boostcamp 2020' 카테고리의 다른 글
부스트캠프 회고 - 그룹프로젝트 3주차 day5 (0) | 2020.11.15 |
---|---|
부스트캠프 회고 - 그룹프로젝트 3주차 day4 (0) | 2020.11.13 |
부스트캠프 회고 - 그룹프로젝트 3주차 day2 (0) | 2020.11.11 |
부스트캠프 회고 - 그룹프로젝트 3주차 day1 (0) | 2020.11.10 |
부스트캠프 회고 - 그룹프로젝트 2주차 day5 (0) | 2020.11.07 |