# Group 12 피어세션 ## 캠퍼 | 캠퍼 ID | 이름 | |----|--------| | J012 | 김경식 | | J140 | 이동현 | | J038 | 김영수 | | J044 | 김용후 | | J045 | 김웅일 | | J068 | 김현조 | | J115 | 신태수 | | J215 | 한찬호 | ## 궁금한 것 --------------- 캐릭터 이동 구현 방법 - 이동때마다 socket emit을 하지않고 키보드 누를때 방향과 각도를 보내고 키보드를 땔때 멈춘다는 emit을 보내서 통신을 최소화해서 부드럽게 움직이게 했습니다. - 기본적으로 맵이 움직이고, 캐릭터가 움직여야 하는 상태가 되면 맵은 멈추고 캐릭터가 움직이도록 했습니다. --------------- 사이드바 쪽이랑 게임화면쪽이랑 유저 관련 이벤트들을 따로 달아주었는데 그래서 데이터를 두개를 운영합니다. 혹시 하나의 데이터로 공유해서 사용하게끔 구현하신 조가 있으면 구조를 어떻게 짜셨나 궁금합니다. - 로딩 화면을 만들어서 데이터를 불러오기전까지 캔버스와 사이드바 그리는것을 지연시키는 방식 --------------- 현재 접속중인 유저가 종료할 경우에 어떤 유저가 종료했는지 어떻게 확인하셨는지 궁금합니다. - 소켓이 바로 시작되는 이유는 전역영역의 코드는 모듈을 import하면서 바로 실행되기 때문에 --------------- 카메라 구현 어떻게했는지 알려주세요 - 맵은 처음에 한 번만 그리고, keydown이벤트가 발생할 때 마다 특정 거리만큼 맵을 css속성으로 이동시키도록 했습니다. --------------- CI/CD 하신 분들 계시면 어느 방식으로 하셨는지 궁금합니다 - ssh 접속해서 git을 이용해서 소스를하고 인스턴스에서 빌드하고 실행하는 방식으로 했습니다. --------------- 개발/배포 환경을 어떻게 나누시나요? - 데이터 베이스 정보는 .env 파일로 따로 저장 - OAuth는 URL을 두 가지 만듬 - 서버 요청 URL 의 경우에는 개발시: Proxy 코드를 사용, 배포시 : Nginx Reverse Proxy 로 pass 주소를 설정 --------------- 페이지가 새로고침될 경우 상태가 없어지는 것 같은데, 그런 경우 어떻게 하셨는지 궁금합니다. - 새로고침인 경우에는 어쩔수 없이 fetch 요청을 통해 데이터를 받아와야 하고, 랜더링이 되기 직전에 데이터를 받아오는 형태로 진행되어야 할 것 같습니다. --------------- 각자의 상태관리 노하우가 궁금합니다 - chat은 sidebar에서 관리하면 전역으로 관리 안해도 될 것 같습니다.