# 팀프로젝트 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 통신을 하면 더 좋은 성능을 기대할 수 있을 것으로 예상