---
# System prepended metadata

title: Week7 J16 피어세션

---

# Week7 J16 피어세션

## 👋 참가자
| 캠퍼ID | 이름 |
|:----:|:----:|
| J021 | 김동준 |
| J047 | 김유진 |
| J091 | 박주원 |
| J165 | 이창엽 |
| J203 | 채호경 |
| J206 | 최영근 |
| J208 | 최인규 |
| J217 | 현상엽 |


## 질문 || 공유하고 싶은 내용

### 진행 어디까지 하셨나요?
- 로그인, 캐릭터 1개 움직이는 것 까지 했습니다.
- 컨포넌트로 캐릭터 이동하기, 채팅까지 했습니다!!
- 로그인과 캐릭터 이동까지 했습니다.
- 개발환경 갖추기와 로그인 기능까지 했습니다.

### 캐릭도 이동 어떻게 구현했는지
- 캔버스에 이미지 그리는 식으로 구현했습니다.(캐릭터의 위치 값이나 이미지 파일의 어느 위치를 그릴지를 상태로 관리)
- css transition 이용해서 캐릭터 모양바꾸고(중앙고정), 맵을 캐릭터와 반대로 움직이는 방식으로 구현했습니다.


### Oauth 인증이 끝나고 로그인 여부를 어떻게 판단하셨나요?
- App.js가 렌더링 될 때 fetch 요청을 날려서 확인하는 식으로 했습니다.
- (의견) 로그인 성공을 하게되면 서버측에서 쿠키에 세션id를 넘겨주고 클라이언트에서 쿠키를 열어 id가 있으면 로그인 상태로 판단했습니다.

### useCallback에 대해 아시는 분 있나요?
- 렌더링 최적화에 사용
- 함수 재사용(함수가 렌더링 될때마다 선언되지 않고 바뀌었을때만 다시 선언 해줄때 쓰는 useCallback)

### 리액트 라우터 로그인 로그아웃할 때 쓰신분 계신가요
- 써보려고 공부중입니다
- 써서 path별로 컴포넌트를 지정하긴 했는데 아직 정확한 원리를 모르겠습니다. 

### 리액트 훅 얼만큼 알고계시나요?
- useState, useEffect요 ㅎㅎ
- useReducer는 useState의 확장 느낌(특정 경우의 수? 를 정해놓고 그 경우에 대해 어떤 행동으로 해라를 정하는 느낌?)

### 페어 프로그래밍 어떻게 하셨나요?
- 시간 정해놓고 하기
- live share 확장프로그램 사용
- 서로에게 풀리퀘날려서 코드리뷰 해주기

### 클라이언트,백엔드 서버 따로 하는거랑 하나만 하는거랑 장단점?
- 리뷰어분들 한테 질문해보기!!
- 클라이언트와 백엔드 서버를 따로하면 물리적인 서버운용도 따로 할 수 있지 않을까요? <-> 하나만 하면 운영비 절약?
- 하나만 하면 CORS 문제를 따로 핸들링할 필요가 없다는 사소한 장점
- 프론트를 별도의 서버로 운용하면 수정사항을 바로 반영해서 확인할 수 있다