-
Notifications
You must be signed in to change notification settings - Fork 5
멘토링 일지
Yuri Kim edited this page Jan 14, 2023
·
3 revisions
프로젝트 기간 내 진행되는 멘토링 내용 정리
FigJam 공유
- 기능에 대한 정의는 한 곳에서 한번에 스펙을 파악할 수 있어야 함
- 기획 문서 변경 시 언제 어떤 부분이 업데이트되었는지 체크
-
우리 서비스의 핵심이 되는 기능을 한 가지씩만 정해보기
- 각자 생각하는 핵심 기능이 다를 수 있는데 그 중 한두 가지에만 집중하기
- e.g. 일대기 나열, 다른 사람과의 공유, 사진 업로드
- 태스크 단위: 공통으로 사용되는 컴포넌트 단위 또는 페이지 단위
- GitHub Issue
- 제목:
[5MD]
처럼 MD(Man day)를 prefix로 사용 - 본문: 스펙 문서 작성
- 제목:
- GitHub PR(Pull Request)
- PR 본문에
#issue_number
링크 추가
- PR 본문에
- GitHub Project의 칸반보드 활용
- 각 태스크별로 몇 MD가 소요되는지 고려하고 한 태스크 당 한 MD 내 끝낼 수 있는지를 확인
- 다섯 명의 개발 역량과 들이는 시간의 차이가 크게 나지 않을 것 같으니 똑같이 몇 MD가 필요한지 나열
- 본인이 MD를 초과해서 작업을 하더라도 다른 사람이 MD 이상 하지 않는 것에 대해 불만 표하지 않기
- 어차피 면접 때 이 프로젝트의 전반적인 코드를 설명할 수 있어야 함(본인이 담당하지 않은 부분이더라도)
- 프로젝트를 이해하려면 시간을 많이 투자해야 하니 미리 준비한다고 생각하기
- 일을 잘하는 것에 대한 영역이기도 함. 많이 시도해보고 연습하기
- 태스크가 지연될 경우 그 원인이 무엇인지, 같이 해결할 수 있는 것인지 등을 논의할 수 있는 환경이 만들어져야 함
- 마감일까지 간트 차트에 태스크 배치
- 태스크의 우선순위와 순서 정하기. 태스크 나열에 시간을 너무 많이 쓰지 않기
- 유동적으로 조절하되 기간을 단축하는 방향(연장 X)으로 진행
- 최소 마감일 2~3일 전에는 모든 기능 개발 완료 후 배포 진행하기
- 로컬이 아닌 실제 환경에서 배포하면서 생기는 문제를 미리 경험하고 대처해보는 게 좋음
- 끝 스크럼을 할 경우 다음 날 업무 내용이 마지막 스크럼에 정리되어 있어야 함. 시작 스크럼 추천
- 스크럼 때는 한 일과 할 일 공유만 하기(5분 이내로)
- 논의가 필요한 경우 회의 시간을 별도로 확보하고 미리 안건을 정해서 해당 안건에 대해서만 논의
- 회의 시간 줄이고 개발 시간 확보하기
- 문서화 중요
- 팀장은 스크럼 시간에 각 팀원들의 업무 흐름을 전반적으로 파악하고 필요한 경우 조율하기
- 팀원들은 팀장에게 업무 현황 잘 전달하기
- PR에 대한 코드리뷰 반드시 진행하기
- 코드 내용을 검증한다기보다는 어떤 흐름으로 개발을 했는지, 어떤 기술을 사용했는지 등을 확인하기 위함
- 원래는 기능이 제대로 동작하는지를 확인하는 것까지 코드리뷰의 영역
- 코드리뷰 시 확인할 사항과 기준을 미리 정하기
- Git-flow, GitLab-flow, GitHub-flow 등
- 프로젝트의 성격을 고려하여 채택
- 배포되는 브랜치에는 동작하는 코드만을 머지해야 함
- 더미데이터를 넣고 테스트하고 발표해야 함
- 서비스에 맞지 않거나 동일한 사진과 텍스트를 보여주면 서비스의 완성도가 좋아보이지 않음
- 실제 서비스 사용자라고 생각하고 적합한 데이터를 넣어 테스트하기
- 이번 주에 전체 기능의 70%는 마무리해야 함
- 시간이 되면 성능 개선 시도
- 공통 컴포넌트를 많이 나열했을 때의 성능 측정해보고 느려진다면 개선
- lazy loading 등 여러 최적화 기법 찾아보고 적용
- 태스크 관리 점검
- 합의한 MD보다 좀 더 하게 됨
- MD는 식사 시간은 빼고 휴식 시간을 포함해서 산정(회사 생활에 대입해서 생각해보기)
- 프로젝트를 하면서 1MD 당 본인의 작업량이 어느 정도 되는지 파악해보기
- 사용하고 있는 기술에 대한 소감 공유(Vite, TypeScript)
- 전반적인 코드 리뷰 진행
- 타입 사용 시 가급적 as나 any 사용 지양
- 사용하지 않는 인터페이스는 아예 적지 않아도 됨
- API 통신
- 아직은 이르지만 아키텍처를 고민해보고 프로젝트에 적용해봐도 좋음
- 클린 아키텍처(외부 API가 변경되더라도 내부 컴포넌트가 크게 변경되지 않도록 중간에 레이어를 두는 방식)
- e.g. react-query
- PR별로 배포해보기
- 온전히 서비스가 되는 상태일 때에만 머지
- 빌드 자동화를 해놓으면 편리함
- CI/CD 도구 소개: Github Actions
- 가장 직관적이고 문서도 잘 정리되어 있음
- 커밋 푸시, 머지할 때마다 검증
- 책(이펙티브 타입스크립트, 러닝 타입스크립트(최근 출간)), 인터넷 강의
- 프로젝트에 적용해보면서 다른 분들의 코드를 참고하고 스타일을 따라함
- 타입스크립트 릴리즈 노트의 새로운 키워드를 공부하면서 업데이트하기