신입개발자 재직 10개월차 회고
그 동안 쓴 일지 요약
1개월차 | 환경 설정 위주로 했고 쉬운 과제들을 받으면서 회사 코드를 익혔음 전체 그림 파악하려고 했고, 라이브러리 익숙해지려고 친구 포트폴리오 사이트 만들기에 써봄(chakra ui) [스터디] 사내 스터디(99bottles) TS 책읽기 스터디(이펙티브 타입스크립트) |
3개월차 | 일주일 단위 회고 CSS가 어려웠음(찾아보고 하는데 시간이 너무 오래걸림) 시간산정이 어려움 복기를 하기 위해서 일지를 일주일 단위로 쓰기 시작함 백엔드 작업을 하기 시작함(hasura 테이블, 필드 생성, permission 조정 등) |
4개월차 |
기억할만한게 있을때만 적음 CSS Type이 어려움 |
5개월차 (헤이해져서 대충 씀) |
앱 작업(react native) |
6개월차 | 기억할만한게 있을때만 적음 |
7개월차 | 기억할만한게 있을때만 적음 |
8개월차 | ..한줄적음 업무에 chatGPT 적극적으로 활용시작 github copilot 사용시작 |
9개월차 (매일 작성) |
태스크가 오래 걸린 이유, (중요한 태스크의 경우)사고의 흐름, 그 외에도 작업 내용을 전부 적음 => 적으면서 하면 객관적으로 보게돼서 이상하다..? 싶은 것을 빨리 깨달을 수 있음 시간산정이 더 잘됨(단계를 쪼개고 각 쪼갠 것에 시간을 정하고 + 버퍼를 해서 시간 산정, 예상한대로 잘 끝나면 기쁨) shop by 이관작업시작(모노레포로 바꿈) nx 라이브러리 작업 next 관련 작업이 많았음(getServerSideProps, auth) |
10개월차 (매일 작성) |
메모장처럼 적으면서 계속 작업함 shop by 이관작업 이어서 계속 고객응대 직접 하기 시작(채널톡) editor webstorm으로 변경 next관련 작업이 많았음(auth, middleware, getStaticProps) |
전체적인 회고
- 코드리뷰를 지속적으로 받은 것이 좋았고 코드 리뷰에서 중복되는 내용이 가끔있어서 쓰기만 하면 안되고 복기를 하는 시간을 가져야겠다.
- 리액트랑 next, TS를 일할때 쓰는 걸로는 레벨업이 안되는 것 같아서 따로 공부의 필요성 느낌
[일지에 언급된 구체적인 내용] 코드 리뷰 받았거나 기억할만한 내용 적어둔 것
- 변수명 네이밍 구체적으로
- 특정 케이스를 위한 코드를 복붙하게 된다면 분리할 시점(컴포넌트화)
- hacky한 방법인 것 같을때는 그 이유를 글로 정리해본다.
- Sentry 관련 에러로 시간이 오래걸림 => Sentry에서 해결중인 에러라서 Docs의 트러블 슈팅에 설명이 다 나와있었음. 이걸로 삽질 오래함
- query를 잘못짜면 부하를 줌. search 쿼리랑 category 쿼리를 같은 걸로 사용하려고(중복제거) 리팩토링을 했는데, 이때 category에 따라 상품을 가져올때는 keyword를 {}로 보냄. 그런데 {}로 보내면 안찾는게 아니라 모든 것을 다 찾으려고 함. 그래서 로딩이 오래 걸렸음 => 중복을 줄이는게 무조건 좋은 것은 아님
- 테이블 생성시 이름이 적절한지 보려면 보편적으로 쓰이는지 구글에 검색해서 검색횟수 체크
- 나무위키 등에서 의미가 여러개인지 체크(분명한지 모호한지)
- 렌더링 두번 되는 코드 주의(breakpoint)
- hasura에 쿼리 보낼 때 순서가 보장 되지 않음
- 삼항 연산자 길게쓰지 말기
- 변수 이름은 단어 4개정도까지는 괜찮다
- 리액트에서 ref가 null이 되는 경우가 생기면 scroll 감지가 안될 수 있음
- 라이브러리 사용하는 코드는 다른 곳에서 복붙할때가 있는데 이때 그대로 붙여넣지 말고 옵션이 다 필요한 옵션인지 봐야함
- UI작업이라도 코드를 한번에 많이 바꾸면 디버깅이 힘듦
- 팀원들끼리 소통이 안될때가 있음(업데이트 된 것때문에 생기는 에러가 있었음)
- 네트워크 요청 시점 조정(useLazyQuery로 필요한 순간에 요청)
- optional chaining 필요한 곳에만 사용
- 나에게 필요한 대부분의 기능은 이미 라이브러리에 있음
- 버전문제로 라이브러리의 특정 기능을 사용하지 못하면 => 소스코드 긁어오는 방법도 있음
- cache 핸들링 잘하기(브라우저, Next js)
- 컴포넌트가 언마운트 되면 다시 요청됨 => 이렇게 짜면 캐시를 사용하는 의미가 없으므로 주의
{조건 && <컴포넌트 />} => 이렇게 하면 조건이 바뀔때마다 컴포넌트가 언마운트, 마운트 반복됨