---
# System prepended metadata

title: 팀프로젝트 1주차 금요일 Peer 19

---

# 팀프로젝트 1주차 금요일 Peer 19

## 피어세션 조
```Team 39``` : ```김영근``` ```문석암``` ```이연정``` ```이호진```
```Team 40``` : ```김도호``` ```신우진``` ```이건홍``` ```최진혁```

## 피어세션 운영
|     시간     |     일정      |
|:-----------:|:------------:|
| 14:10 ~ 14:30 | 자기 소개 |
| 14:30 ~ 15:00 | Team 40 공유 |
| 15:00 ~ 15:30 | Team 39 공유 |
| 15:30 ~ 15:50 | 문서 작업 |

## Team 40 공유
- SwaggerHub를 이용한 API 관리
    - 가독성이 높은 API 문서화 방법
- 깔끔한 Wiki (template :+1: )
    - 이슈와 PR에 템플릿을 적용해보아요.
- image에 대한 관리방법
    - comment 마크다운 구현시 이미지 처리 방법
    - 파일서버를 이용
- TypeORM
    - 객체지향을 추구하는 ORM
    - 자바의 어노테이션과 비슷하게 사용하여 모델 정의 가능하다. 
    - Repository 객체를 통한 Database Acccess 관리
- 서버 구조에 대한 설계
    - 프론트(정적) 서버, 백엔드(API) 서버를 분리하고, 게이트웨이를 앞에 두어서 서버의 부하를 줄이는 인프라 설계를 하고 싶었지만, nCloud의 요금 정책에 무너져 간단히 설계하게 됬다.


## Team 39 공유

- 짝 프로그래밍 경험에 대한 공유
    - 4명이 같이 작업한 것은 리뷰를 남기지 않음
    - 짝 프로그래밍을 통한 작업은 건강한 리뷰를 통해 머지를 시킴
    - Live Share를 통한 작업
- OAuth JWT로 처리, JWT 토큰 전달 방법 (Server -> Client)
    - 39조에서는 쿠키를 활용하여 Client에게 전달한 후 쿠키를 삭제하는 방법을 사용했다고 하심
    - Response(Header)에 담아서 보내는 방법도 이야기 해주심
    - 실제 GitHub에서는 어떻게 동작하는지 테스트 하였다.
- 엄청난 테스트전략 공유 (**TDD 마스타 영근님**)
    - 프론트엔드 테스트 어렵지 않아요 ^^
    - msw를 이용해 라우터 흉내를 낼 수 있다!
    - 컴포넌트를 container(event), presenter(View)로 분리해서 관리 및 테스트! 
    - 리액트 테스트는 테스팅 라이브러리를 이용해서 렌더링 결과를 기다리고 돔에 접근하는 방식으로 구현가능하다.
- 재렌더링에 관한 논의
    - 모델을 쪼개 state가 변하는 부분을 최소화 하자

## 공통 토론 사항

- service, controller 역할 및 기준에 대한 논의
    - Database Access Layer를 통한 비즈니스 로직과의 분리
    - 테스트 관점
- 다사용자 서비스에 대한 논의
    - 사용자 인터렉션에 대해 어떤 방식으로 생각했는지.
    - 매번 Get API 호출을 통해 최신 데이터를 유지하는 방향으로 설계했다.
    - 변화가 일어나는 부분에 대해서만 API 통신을 하면 더 좋은 성능을 기대할 수 있을 것으로 예상