TIL_2023_07_02

이종현·2023년 7월 3일
1

Today_I_Learned

목록 보기
62/145
post-thumbnail

Today 요약

  1. 프로젝트에 TS 적용하기
  2. 예전 프로젝트에 ESLint, Prettier, Husky 뒤늦게 적용해보기
  3. useNavigate

1. What I did?

1.1 예전 프로젝트에 ESLint, Prettier, Husky 뒤늦게 적용해보기

타입스크립트와 리액트로 진행했던 프로젝트에 ESLint를 적용하는 게 생각보다 쉽지 않았다. 린트 규칙을 통과하지 못하니까 당연히 husky도 해결이 안되는 상황이다. husky를 설치하고 세팅하는 건 어렵지 않은데 결국 pre-commit이랑 pre-push를 설정하면 코드 포맷팅이랑 린트 규칙을 통과해야 깃허브에 push가 되니까, 결국 ESLint를 통과할 수 있도록 해결해야 한다. 대부분의 문제는 쉽게 해결했는데, 타입과 인터페이스가 정의되어 있지 않다는 오류를 해결하는 데 너무 오랜 시간을 보냈다. 결국 대충 동작하게끔만 해결해놓은 상태고, push하면 결국 또 다시 린트 오류가 발생한다. typescript parser 문제도 발생하는데, 다른 것도 해야 되는 상황이라 너무 오래 붙잡고 있기 그래서 내일로 미루려고 한다.

1.2 프로젝트에 TS 적용하기

오늘은 린트 오류 해결하다가 시간을 다 보내서 타입 스크립트 적용은 간단하게만 진행했다. 전부다 해결한 건 아니지만 일단 로그인 페이지에 타입을 적용하는 것까지는 마무리했다. 로그인하고 회원가입이 UI가 같기 때문에 충분히 함수 추출하기로 리팩토링이 가능할 것 같다. 이 부분은 내일 진행해려고 한다.

2. What I Learned?

2.1 useNavigate

리액트 라우터가 v6로 업그레이드 되고 나서 기존에 useHistory는 없어지고 useNavigate Hook이 등장했다. 기존에 useHistory의 go, goback, push, replace의 기능은 모두 가지고 있으면서 사용하는 방법이 정말 간략해졌다. 둘의 차이점이 하나 더 있다면 history는 객체지만 navigate는 함수라는 점이 다르다.

3. What I curious?

TIW_2023_07_02

4.What I difficult?

4.1 디버깅

역시나 디버깅에 시간이 제일 많이 투자하게 된다. 어쩔 수 없는 것 같다. 그리고 내가 정확히 알고 있는 건지 모르겠지만 프론트 관련 라이브러리나 언어들은 지금도 급변하고 있는 부분들이 많기 때문에 상대적으로 새로운 부분에서 오류가 발생하면 해결하기가 쉽지 않은 것 같다. (자료가 많지 않다.) 아니면 호환성 문제 때문에 구글링 했을 때 이미 한참 지난 해결법이라면 현재 해결법으로 적합하지 않은 경우도 있는 것 같다.

나중에 지금보다 실력이 올라가게 되면 당연히 너무나도 쉽게 해결할 오류들이겠지만 현재 나에게는 약간 좀 버거운 느낌이 확실히 든다. 그래도 이 과정을 거쳐가야 확실한 성장이 있다.


회고(Retrospective)

5F

💡 5F (전체 회고)
  • Fact (사실: 무슨 일이 있었나?)
    • 이번주는 하루 평균 공부시간이 9시간 가까이 된다. 하지만 뭔가를 많이 하지는 않았다. 대신 최대한 기록하려고 노력했다. 확실히 기록하지 않았을때와 비교해보면 시간이 두 배 이상 더 걸리는 건 확실하다.
  • Feeling (느낌: 무슨 느낌이 들었나?)
    • 시간이 더 오래걸리지만 오히려 마음이 편안하다. 당장 뭔가 성과를 내야하는 상황이 아니니 이대로 계속 가보자.
  • Finding (배운 점: 어떤 인사이트를 얻었나?)
    • 정해진 시간안에 최대한의 성과를 내야하는 건 맞다. 하지만 결과와 성과는 다르다. 내 지식이 되지 않은 채 많은 걸 했다는 결과만 중시한다면 성장은 그만큼 느릴 것이다.
  • Future action (향후 행동: 앞으로 무엇을 해야 할까?)
    • 그동안 발생한 문제가 무엇이고 이걸 어떻게 접근해서 해결할 것이고 왜 이런 방식을 선택해서 해결했는지에 대해서 전혀 신경을 안 쓰고 문제만 해결하는 데 급급했다. 이제부터 그걸 고쳐나가자.
  • Feedback (피드백: 앞서 정한 향후 행동을 실천해본 뒤, 이에 대해 어떤 피드백을 받았나?)
    • 그동안의 멘토링으로 가장 큰 걸 얻었다면 이 부분이 아닐까 생각한다. 내가 왜 이렇게 코드를 작성했는지, 왜 그렇게 생각하는지를 항상 염두에 두어야 한다는 멘토님의 피드백은 매주 어떻게 공부해야할지에 대해 나에게 어느 정도 큰 가이드라인을 제시해준다.
profile
데이터리터러시를 중요하게 생각하는 프론트엔드 개발자

0개의 댓글