-
Notifications
You must be signed in to change notification settings - Fork 4
2주차 피어세션 1
GunBros edited this page Nov 27, 2020
·
1 revision
F/B 비율이 7대 3 정도
재사용성을 고려하여 개발했다.
비동기적인 일을 redux-saga로 하고 있다. 멘토 분들이 사용해보시길 추천해주셨다. 테스트코드 테스트가 쉽다.
타입을 재활용성을 위해서 따로 분리했다.
- api, socket 서버 분리 -> 트래픽이 몰린 경우를 고려했습니다.
- GraphQL, Redis 사용 이유가 궁금합니다.
- Redis: 인메모리를 사용해서 속도가 빠르기 때문에, 그래서 실시간 동작에 적합하다고 생각했다.
- GraphQL: 많이 안써봐서 잘 모르겠다. 멘토님의 추천 때문에 사용하기로 했음, 테스팅 한 후기는 원하는 데이터와 데이터의 형태를 쉽게 만들어서 가져 올 수 있었다.
- 전역 상태 관리: 상태관리가 전역, 로컬이 중복되어 있음. Redux 사용에 어려움이 있는 것 같다.
- 코드 구조
- 처음에 컴포넌트를 짤 때 하나의 presenter에 대해서 하나의 container를 두자, presenter - container 구조로 logic 분리 시도
- sidebar도 별도로 분리
- 그런데 이렇게 하다보니 구조가 복잡해지는 문제가 있었다.
- Hook과 이외의 구조로 refactor했다.
- 스타일에 초기 설정을 진행하였다.
- emotion js를 사용
- 맵과 스타일 분리를 해두었다
- 각 스타일마다 같은 구조가 반복되어 이를 따라서 스타일이 붙어있는 상태다
- 같은 리듀서 구조를 갖고 있어 common으로 빼두어서 재사용성을 증대시켰다
- map initialize는 분리를 하였다.
- 처음에 컴포넌트를 짤 때 하나의 presenter에 대해서 하나의 container를 두자, presenter - container 구조로 logic 분리 시도
- BE는 존재하는가?
- 멘토님께서 프론트에 집중하는 내용이다
- 왜 없는가?
- 백엔드에 의존하는 부분이 많지 않아 추가적인 기능을 만들기 위해서 BE를 활용하기보다 집중하기를 바라셨다
- 그렇다면 저장은 어떻게 이루어지나?
- JSON을 이용하여 export와 import되는 형태로 구조가 되어있다. 원본도 그런 것으로 안다.
- 기본적인 맵의 기능(ex. 휠 스크롤 등)은 구현된 상태인가?
- Mapbox 패키지를 사용하여 구현하였기에 기본적인 구조는 구현된 상태다. 이를 기반으로 커스텀을 하기 위해서 현재 생각중
- 프로젝트의 원본은 무엇인가?
- google styled map wizard다.