## 데모 시나리오 ### 사용자 - 1. 사용자가 오더 호출 (출발지 도착지 입력) (서브) - 4. 다시 오더 호출 - 6. 사용자가 드라이버에게 채팅 메시지 전송 - 10. 드라이버가 출발지 100미터 가까이 왔다는 팝업 뜸 - 12. 드라이버 출발지 도착 (페이지 이동) - 14. 드라이버의 위치를 실시간으로 확인 - 16. 운행 완료 팝업 확인 (메인 페이지로 이동) - 17. 운행 기록 확인 - 18. 로그아웃 ### 드라이버 - 2. 드라이버 오더 대기(사라지는 것 확인) - 3. 오더 목록에서 오더 수락(다른사람이 먼저 수락) - 5. 다시 호출된 오더 수락 - 7. 드라이버는 사용자에게 받은 채팅 알림 표시 후 채팅방 입장 - 8. 사용자에게 채팅 답장을 하고 채팅방 나감 - 9. 출발지로 위치 이동 - 11. 출발지 도착 후 운행 시작 (페이지 이동) - 13. 도착지까지 3-4차례에 걸쳐서 이동 - 15. 도착 완료 (메시지 띄움) ## TODO - 목요일 16시까지 피피티 부캠 이메일로 보내기. ## IKEYTAX Study ### Project - 12/20일 까지 프로젝트와 관련된 스터디만 진행 - 12/22일 부터 CS + 프로젝트와 관련된 스터디 진행 ### 스터디 진행 방식 (프로젝트 데모 발표 전까지) - 당일날 정한 주제를 다음날 발표 + 반복 - 주제는 프로젝트와 관련된 내용 - 벌칙 &rarr; 🤑 카카오톡 10,000원 뿌리기 ### 스터디 발표 주제 | 날짜 | 발표자 | 발표 주제 | | ----- | ----- | -------- | | 12/17 | 김종은 | graphql useQuery 동작 원리 | | 12/17 | 김학준 | RDBMS VS NOSQL | | 12/17 | 오지훈 | Redux vs Context API &rarr; 어떤 경우에 어느것을 사용할지 | | 12/17 | 조찬영 | graphql subscription 동작 원리 | 방법 **프로젝트/cs 폴더 생성 후 md 파일 업로드 및 메인 README파일에 링크 정리** ... README.md <- 여기에 발표 주제 정리 링크 모아두기 RULES.md <- 규칙 넣어놓기 TOPICS.md <- 선택 가능한 주제들 project/ < md 파일 정리 리스트 1. ~~Apollo Client 캐시 관리 기법~~ 2. ~~Webpack Eject vs Overriding :+1: ~~ 3. ~~Redux vs Context API &rarr; 어떤 경우에 어느것을 사용할지~~ 4. ~~Rest API vs GrahqQL : 우리 프로젝트에서는 어땠는지~~ 5. 리액트의 렌더링 최적화 방법 6. passport 동작 과정? 왜 사용하는지 7. express의 필수 미들웨어 &rarr; 옵션, 왜 사용하는지, 어떻게 동작하는지(?) 8. ~~Apollo 프로젝트 셋팅 과정? (codegen, apollo client + server 세팅, 절대경로)~~ 9. ~~graphql subscription 동작 원리~~ 10. ~~graphql useQuery 동작 원리~~ 11. ~~RDBMS VS NOSQL + (왜 우리 프로젝트에 NOSQL이 적합한지)~~ 12. NGINX 설정 & 동작 13. 리액트의 다양한 상태관리 방법 및 장단점? ## 수요일 멘토님 발표 ### B팀 - 실제로 동작 하는 것인지? - 배포까지 함 - 정해진 시간을 투입? 아니면 사용하는 시간은 알아서? - 코어 타임 - 진행하면서 세부적으로 과제를 나눔, 듀데이트 맞추지 못한 경우. 그리고 어떻게 해결했는지 - 미리 끝난 사람이 도와줌 - 도움을 직접 요청? - 요청 후 페어코딩 - 캘린더를 통해서 관리. 따라서 팀원의 작업 현황을 파악할 수 있었음 - 발표할 때 graphQL, subscription, 개발자라고 관련 지식을 모르면 모를수 있음. websocket을 통한 통신이다 정도로 설명하면 좋음 - ### A팀 - 경로 탐색 지도 컴포넌트 제공? - 경로 자체는 구글 API에서 사용? - 다양한 기술을 사용했는데 ㅇ미ㅣ 사용해본 적이 있는지? 아니면 공부를 하고 나서 개발을 한건지. - 발표는 확실히 준비가 많이 되어 있음. ### C팀 - 마지막 조는 직접 시현 하셔서 :+1: - 알림이 여러 운정자에게 가서 한명만 잡는데, 여러명 중에 한명만 매칭되도록 보장을 어떻게 했는지 - 데이터베이스에 업데이트. 따라서 확인해서 요청을 받음 - 실제로는 데이터를 조회하는 과정하고 업데이트 하는 과정이 분리되어 있어서 정확성이 떨어질 수 있다고 생각 - 하지만 멘토님이 전처리 정도 까지만 해보라고 피드백을 주심. - expire time? 운행중 상태가 남아있을 수 있을 것 같은데. 잘못 라우팅이 될 수 있다고 생각 - 생각을 했지만 시간이 부족해서 그 부분까지는 개발하지 못함. - 운전자 탑승자 둘 중 한 화면이 떠있다면 가정하에 진행 - 그러면 어떻게 처리? - 실제로 서비스가 둘다 끊겼다고 하더라도 진행중인 서비스이기 때문에 만나려고 하는 목적이 있기 때문에 그런 상황이 발생하지 않을것이라는 가정하에 진행했습니다. - 온라인으로 협업 해보니깐 어떤지? - 비교는 못하지만 (오프라인으로 못해서) - 오프라인이 더 효율적이지 않을까? - 코어 타임은 카메라를 무조건 켜놓고 진행 - 카메라 켜놓고 하는것을 다들 오케이? - 같이 정해서 진행했음 - 딴짓 못하겠네요ㅋㅋ - 한시간 iteration은 실무에서 난리난다 ㅋㅋㅋㅋ - 감시를 잘 하셨네요 - 3개조에 4분씩 있음 - 멘토님이 조장 뽑아달라고 하심 ## 멘토님 피드백 찌라시 상점, 전단시, 포르아니에서 API로 쏴줌 그러면 디비에 저장되고, 서비스에서 그 디비를 보고 있음 자체적으로 정보를 등록할 수 있는 API를 만들 계획 서버가 nest js -> express js를 기반으로 만듬 인턴 뽑을때 기준이 바로 입사가 가능한 분 인턴 온라인? ## 땅땅땅 월요일 네트워킹데이 💭 발표자: 김학준, 김종은 질문봇: 오지훈, 조찬영 내일 할 것 - 데모 영상 다시 찍기 + 목소리랑 - 마지막으로 데모 연습 + 피피티 픽스 - 데모 다시 찍기 - 리드미 수정 다른 event는 pubsub에서 거른다 mongoose ORM을 사용하지 않는다면 중복 같은 것을 처리하는 방법 생각한게 있는지? mongoDB 자체로 해결하는 방법이 있을 것 같음 우리가 프로젝트에서 mongoDB를 사용한 이유 mongoDB의 위치 계산 + 실시간 대용량 데이터 읽기 기본적으로 제고하는 method 사용 store가 model 느낌? 리덕스를 도입할 때 주저하게 만드는 장벽들 naver d2