프리온보딩 코스에서 가장 중요한 것은
동료 학습
과케이스 스터디
입니다.
누군가에게 내가 아는 내용을 설명하는 것이 지식 습득의 가장 빠른 길 입니다.
항상 서로 배려하며 동료들과 협력하여교학상장(敎學相長)
을 이뤄냅시다-!
오늘은 팀원들과 자기소개를 하고 팀장을 정했다. 멘토님 코드를 봤냐고 이야기하다가 서로의 코드 이야기를 하였다. 로그인해서 유저 정보 중복 확인을 구현하는 방법만해도 다양했다. 코드리뷰를 하고 코드 리팩토링에 대해서 이야기 하기로 하였다.
우선 혜림님은 면접이 있으셔서 먼저 코드리뷰를 하고 면접을 다녀오시기로 하였다.
이제 점심 시간을 이용해 다른 분들의 깃허브 레파지토리로 코드를 보고 다시 모이기로 하였다.
우선 코드도 코드지만 다른 분들은 리드미를 엄청 자세하고 꼼꼼하게 작성하셨다.. 대단하다고 생각했다. 사용한 기술 스택부터 시작해서 폴더구조, 기능 시연 gif 및 동영상은 기본이고 과제를 하면서 막혔던 부분과 해결과정을 코드의 링크와 함께 작성하였다. 마지막으로 보완해야하는 부분까지 작성하신 것을 보고 나의 리드미가 부끄럽게 느껴졌다.....ㅎ 같은 과제를 하더라도 배운 것을 기록해놓는 습관은 항상 중요한 것 같다. 기존에 올라가 있던 레파지토리의 리드미도 자세하게 작성해봐야겠다.
replace true로 하면 경로가 바뀌게 된다
lazyloading 처리하기 위해 hook을 따로 빼줌
feedData , useList 하드코딩
token이 존재한다면 페이지 이동
이벤트핸들러에 콜백함수 사용해서 hook 이용
context api 사용
api -> 데이터 받아옴
fetch 비동기 처리가 어려워서 suspender 비동기 처리
regex - email, pw 넣어줌
컴파운드 컴포넌트 사용위해서 input field data 따로 빼줌 (재사용 위해)
에러 바운더리 -> 비동기 처리를 못한다
rejectedFallback = [({error})=>(<div>에러</div>)]
route 기반 코드 스플리팅
로그인 페이지
선언적으로 이용한다 - 다른 곳에서 사용할 수 있으므로 해당 로직을 이해할 필요 없다
로딩 될 때 로딩 스피너 있는 컴포넌트 넣어줌
레이지-로딩 구현 - 뷰포트 안에 들어왔을 때 이미지 로딩
e.nativeEvent.isComposing
사용이제 팀원들과 사전과제 리팩토링을 시작하였다. 새로운 git Organization을 만들어서 진행하기로 하였다. 팀플이다 보니 commit, issue, branch 템플릿 및 규칙 등 정해야 할 것이 많았다. 하지만 앞으로 계속 사용해야 하는 규칙들이기 때문에 처음에 잘 정해놓는 것이 좋다고 생각한다.
우리는 수빈님의 코드로 함께 리팩토링을 진행하기로 하였다.
수빈님의 코드가 깔끔해서 다른 분들도 알아보기 쉬웠고 styled-component 말고 scss를 사용해서 가독성이 좋다고 판단했기 때문이다.
팀장님인 상지님의 노션 계정으로 팀 노션을 하나 만들어서 회의록도 정리 하였다.
회의는 꽤 길었다.
앞으로 한달 간 필요하게 될 커밋, 이슈, 코드 등 컨벤션들을 정하였고 작업 전 일단 공통적으로 디렉토리 구조를 회의하였다. 그 후 어떤 부분을 보완해야 할지, 어떻게 보완할지 그리고 누가 어떤 부분을 맡을지 등을 정했다.
우선 보완해야 할 부분으로는
1. 헤더를 GNB로 구현하기
2. 코멘트 컴포넌트 나누기
3. image lazy loading 구현하기
4. 로그인 정보 전역 상태관리 (recoil 또는 useContext)
5. 로그인 로그아웃 콜백함수 useAuth Hook 분리
정도 였다.
나머지 부분은 정했는데 로그인 전역상태 관리 부분에 대해 회의를 꽤 길게 하였다. 우선 짧은 시간내에 구현할 수 있는 context API를 사용하기로 하였고 context 파일을 하나 만들어서 데이터를 관리하기로 하였다. 사실 이번 프로젝트는 그리 크지 않다보니 간단하게 리팩토링을 끝내고 기능을 더 추가했으면 하는 바램이었는데 나의 의견과 다른 방향으로 흘러가는 것 같아서 조금은 아쉬웠다. 하지만 팀원들이 적극적이고 기록을 잘하시는 터라 너무 든든했고 제대로 된 협업을 하는 느낌이 들었다. 또한 이전 팀플을 하면서는 해보지 못했던 이슈 라벨이나 클린 코드를 작성하기 위한 코딩 컨벤션 등 여러가지 시도를 많이 하고 있어서 배워가는 것이 많은 팀플이 될 것 같다.
앞으로가 더 기대된다!