-
Notifications
You must be signed in to change notification settings - Fork 1
1️⃣ 1주차 멘토링 일지
sunghwki edited this page Dec 2, 2024
·
1 revision
- 요구사항 분석
- 현실적인 도전 과제
- 기술적인 도전 (백엔드, 프론트)으로 시도할 수 있다고 생각되는 부분을 알고싶습니다!
- 저희가 현재까지 진행한 요구사항을 6주간 진행했을 때 무사히 완료할 수 있는지에 대한 멘토님의 의견을 듣고 싶습니다! (분량과 난이도의 적합도)
- 깃허브: https://github.com/boostcampwm-2024/web17-juchumjuchum
- 요구사항 분석(스토리보드): [요구사항 분석](https://www.notion.so/d76393fb3ec34d049389bcae9fea7375?pvs=21)
-
회의록: [24/10/29(화)](https://www.notion.so/24-10-29-37f2b860d30f47218b89ca5e2e099481?pvs=21)
-
주제
- 주제에 맞는 팀명과 서비스명을 결정했습니다.
- 주춤할 때 곁에서 속삭여주는 똑똑한 투자 도우미- “주춤주춤”
-
자동화
- pull request, issue 템플릿을 만들었습니다.
- github에 제약조건(approve)을 설정했습니다.
-
요구사항 분석
- 각 스토리, task를 분리해 1차 스토리 보드를 완성했습니다.
- 플래닝 포커를 통해서 스토리 별 시간을 산정했습니다.
-
회의록: [24/10/30 (수)](https://www.notion.so/24-10-30-f07825379aaf48ed8313e2c949f06306?pvs=21)
-
유저 스토리
- 각 에픽마다 story, task로 분리
- [요구사항 분석](https://www.notion.so/d76393fb3ec34d049389bcae9fea7375?pvs=21)
-
와이어프레임
-
개별 페이지를 제작했습니다.
- 주식 선택
- 주식 선택 - 알림 선택
- 주식 개별 페이지
- 주식 개별 페이지(알림 없음)
- 로그인
- 마이페이지 - 내정보
- 마이페이저 - 알림 설정
-
flowchart
- https://www.figma.com/board/F4TJZ9aDMgkMsdnkiQJzmc/flowchart?node-id=0-1&t=Vrc4qEs0vwLoKK4Y-1
- system / component level을 나눠서 작성했습니다.
- 알림 등록
- 알림 삭제
- 회의록 : [24/10/31 (목)](https://www.notion.so/24-10-31-06ee917e22a44089bae965526f1f8218?pvs=21)
- 유저 스토리
- 각 에픽마다 story, task로 분리
- [요구사항 분석](https://www.notion.so/d76393fb3ec34d049389bcae9fea7375?pvs=21)
- 기술적 도전 과제 정립
- 주식 알림 설정
- 등록된 데이터를 처리하고, 효율적으로 클라이언트에게 서비스할 수 있는 방법
- 실시간 소통
- 다른 사용자와 소통
- 특정 사용자와 전체 사용자에게 보낼 수 있는 채팅
- 실시간성을 보장할 수 있어야 한다.
- 이전 채팅기록
- 위로 스와이프하면서 확인 - 무한 스크롤할 수 있다.
- 좋아요를 할 수 있다.
- 사용자마다 좋아요를 처리하고, 실시간성이 보장되어야 한다.
- 정렬 기능 또한 제공해야 한다.
- 다른 사용자와 소통
- 개별 주식창 - 실시간 처리
- 서버에서 클라이언트에 실시간으로 데이터를 전달할 수 있어야 한다.
- 주식 알림 설정
- 데스크탑 사이즈 외에 아이패드 사이즈까지는 대응이 될 수 있게 고민해볼 것
- OAuth를 3가지를 전부 다 구현하는 것을 후순위로 두는 것은 어떤지?
- Nginx를 백엔드에 두었는데 프론트엔드에도 두는 것은 어떤지?
- 정적 컨텐츠를 CDN을 통해서 하는 것은 어떤지?
- 배포할 때 번거롭겠지만 프론트엔드에서 힘이 닿는다면 하는 것을 추천
- CDN을 이용하며 CORS 문제를 겪지는 않는지? (성환님 질문) ⇒ 멘토님이 CDN을 사용하시면서 겪지는 않았지만 문제가 생길시에 멘토님에게 코멘트
- Github Action에서 dev-be/dev-fe 에서 최소한의 코드 퀄리티를 보장하기 위해서
타입 체크, 린트, 빌드가 잘 되는지 등의 과정을 겪을 수 있도록 하는 것을 추천
- build가 깨질 경우에 slack 등을 통해서 알림
- husky를 사용할 예정인데 이것과 다른 의미인지 (민수님 질문) ⇒ husky는 git hooks로 git 동작에 대해서 동작 workflow를 통해서 위의 과정을 통과하도록 설정하는 것을 추천
- 기술적 도전 과제가 5가지가 존재하는 데에 만약 이게 6주 이내에 진행이 어렵다면 우선순위를 어떻게 하는 것을 추천하시는지 (성환님 질문) ⇒ 주식 상세 정보 → 채팅방 → 알림 알림의 경우 프론트엔드 입장에서 기술적인 부분이 적고 사용자가 주식 서비스에 가장 기대하는 부분은 주식 상세 정보이기 때문에
- 전체적인 기능을 보았을 때 4명이서 충분히 구현할 수 있는 수준인지 (민수님 질문) ⇒ 멘토님이 보셨을 때 사람마다 역량이 다르겠지만 기능을 보았을 때는 평이한 느낌, 즉 아예 못할 정도는 아니다!
- 기술적 도전을 겪고 문서화를 하고 이를 블로깅하는 것을 추천 !
- 도커를 사용할 것인지 ⇒ 사용할 계획은 있지만 명확한 근거가 없으면 사용하지 않는 것을 호눅스님이 권유
- 차주 개별 멘토링의 경우 목요일로 예상
- 프로젝트 진행할 때 디자인 같은 경우는 어떻게 하셨는지 (배경님 질문) ⇒ 유사 서비스를 보면서 참고를 하면서 진행, 이번에 기술적으로 웹 접근성에 대해서 도전할 계획은 있으신지? 증권 서비스이니 토스 증권을 참고를 추천 상태 저장을 할 때 단일 페이지로 갈 계획인지? 아니면 페이지 이동이 있을 계획인지? 멘토님이 추천하시기를 페이지를 내부 상태로 관리하기보다 URL을 통해서 해보는 것을 추천 React-Router loader 에 대해서 알아보시기를 추천 → 컴포넌트 코드가 깔끔해지는 효과
- 지금 컨셉이 초보자를 위한 주식 서비스인데 현재 서비스가 이에 부합하는지 ? (성환님 질문) 현재 지표에 hovering 시 툴팁 제공을 계획 ! ⇒ 툴팁 제공 시에 설계에 대해서 찾아보시고 고민해보는 것을 추천
- github 이슈를 에픽까지 관리하는 것은 어떤지 그리고 프로젝트를 통해서 시각화하는 것을 추천
1주차 멘토링에서 이야기 나누면 좋을 주제입니다. 우리 팀의 상황은 어떤가요? 팀원 및 멘토와 함께 셀프 체크하고, 그 이유를 작성해보세요. 추가하고 싶은 항목이 있다면 직접 추가해도 좋습니다.
- 프로젝트 기획과 설계의 뼈대가 나왔다.
- 프로덕트 backlog가 제작되었다.
- 서비스 핵심 기능에 대한 완성도의 기준 또는 기술적 목표가 수립되었다.
- 현실성 있는 계획이 수립되었다.
멘토링 이후 결론과 챙길 것을 정리하여 업데이트합니다.
- 기획
- 난이도 적당하다
- 우선순위는 주식 상세화면 → 채팅 → 알림
- fe
- nginx 도전 해보기
- react router loader 알아보기
- url로 상태 관리하기
- 툴팁 기능도 잘 알아보고 구현하기
- 데스크탑 뿐만 아니라 아이패드까지 지원 가능하게
- be
- OAuth를 3가지 전부 다 하는 것은 후순위
- 배포
- github action에서 workflow
- cdn으로 배포도 추천
- nginx도 추천
- 깃허브
- 프로젝트를 활용해서 칸반 같이 시각화로 태스크 관리해보기
- 에픽도 이슈로 관리가 가능할 것 같다
- etc
- 기술적 문제 → 문서화 → 블로깅
- 코딩테스트 준비
- 멘토님과의 식사..가능할까?..
분당으로 가즈아
- 🚩 FE 기술 선택이유
- ✨ 차트의 반응형 구현과 useRef 타입 문제
- 🐣 부모 요소의 상태에 따라 자식 요소도 스타일 변화 부여하기
- 📁 zod 도입하기
- 🔖 useInfiniteQuery를 사용한 그래프 무한스크롤 구현
- 🎫 사용자의 시점 변화 없는 그래프 스크롤 구현하기
- 🧪 수많은 그래프 데이터 요청을 어떻게 줄일까
- 🌚 다크모드에서 새로고침 시 라이트모드가 잠깐 보이는 문제
- 👊 웹소켓의 채팅 데이터와 REST API의 채팅 데이터를 함께 관리하기
- 📡 BE 기술 선택 이유
- ⛏️ Node WebSocket 파고들기
- ✏️ TypeORM Datasource mock 만들기
- ☁️ oauth ID range 문제
- 📖 custom pipe에서 Nan이 받아지는 문제
- 🪒 nest Websocket에 세션이 안된다고?
- 🏴 nginx websocket 연결 시 문제 발생
- 🆘 WebPush 구현
- 🧊 우선순위 큐로 요청 제어하기
- 🔌 websocket이 늦게 할당되어 발생되는 문제
- 🥳 typeorm을 이용한 FCM 알림 서비스
- 🚦 다중 유저 동시성 제어 ‐ 싱글톤, 뮤텍스
- 🍙 그래프 데이터를 실시간으로 제공하기위한 전략