---
# System prepended metadata

title: Week2 피어세션
tags: [피어세션]

---

---
tags: 피어세션
---
Week2 피어세션
===

## Project 06
F/B 비율이 7대 3 정도     
재사용성을 고려하여 개발했다.     
비동기적인 일을 redux-saga로 하고 있다. 멘토 분들이 사용해보시길 추천해주셨다. 테스트코드 테스트가 쉽다.
타입을 재활용성을 위해서 따로 분리했다.

## Project 07
### 질문
- api, socket 서버 분리 -> 트래픽이 몰린 경우를 고려했습니다.
- GraphQL, Redis 사용 이유가 궁금합니다.
    - Redis: 인메모리를 사용해서 속도가 빠르기 때문에, 그래서 실시간 동작에 적합하다고 생각했다.
    - GraphQL: 많이 안써봐서 잘 모르겠다. 멘토님의 추천 때문에 사용하기로 했음, 테스팅 한 후기는 원하는 데이터와 데이터의 형태를 쉽게 만들어서 가져 올 수 있었다.
    
### 주요 이슈
- 전역 상태 관리: 상태관리가 전역, 로컬이 중복되어 있음. Redux 사용에 어려움이 있는 것 같다.

## Project 08
- 코드 구조
    - 처음에 컴포넌트를 짤 때 하나의 presenter에 대해서 하나의 container를 두자, presenter - container 구조로 logic 분리 시도
        - sidebar도 별도로 분리
        - 그런데 이렇게 하다보니 구조가 복잡해지는 문제가 있었다. 
        - Hook과 이외의 구조로 refactor했다. 
    - 스타일에 초기 설정을 진행하였다. 
        - emotion js를 사용
        - 맵과 스타일 분리를 해두었다
        - 각 스타일마다 같은 구조가 반복되어 이를 따라서 스타일이 붙어있는 상태다
            - 같은 리듀서 구조를 갖고 있어 common으로 빼두어서 재사용성을 증대시켰다
        - map initialize는 분리를 하였다. 
        
### 질문
- BE는 존재하는가?
    - 멘토님께서 프론트에 집중하는 내용이다
- 왜 없는가?
    - 백엔드에 의존하는 부분이 많지 않아 추가적인 기능을 만들기 위해서 BE를 활용하기보다 집중하기를 바라셨다
- 그렇다면 저장은 어떻게 이루어지나?
    - JSON을 이용하여 export와 import되는 형태로 구조가 되어있다. 원본도 그런 것으로 안다.
- 기본적인 맵의 기능(ex. 휠 스크롤 등)은 구현된 상태인가?
    - Mapbox 패키지를 사용하여 구현하였기에 기본적인 구조는 구현된 상태다. 이를 기반으로 커스텀을 하기 위해서 현재 생각중
- 프로젝트의 원본은 무엇인가?
    - google styled map wizard다. 