저번달에 가장 우선순위로 testing에 대해 공부해서 테스트 코드를 작성하는 능력을 기르고자 했다.
생각보다 test에 대한 강의나 레퍼런스가 많지 않아서 다른 기술들을 공부할 때 보다 더 힘들었던 것 같다.
레퍼런스나 강의들을 보더라도 테스트 하는 방식이 제각각이여서 어떤 방법이 best practice인지 알기 어려웠다.
그래서 최대한 공식문서에서 제안하는 방식으로 공부하고자 했고 오픈소스들을 정말 많이 찾아보았던 것 같다.
아직은 테스트 코드를 작성하면서도 잘 작성하고 있는게 맞나? 이 테스트 코드들이 과연 안정성을 높여주는게 맞나? 라는 생각이 든다.
그래도 처음부터 모든걸 완벽하게 해낸다는건 욕심일 수 있으니 포기하지 않고 꾸준히 테스트 코드를 작성하는 연습을 해야겠다.
참고했던 자료
https://www.udemy.com/course/jest-testing-library/
https://testing-library.com/docs/react-testing-library/intro
https://github.com/testing-library/jest-dom
https://redux.js.org/usage/writing-tests#connected-components
react-query 공부를 시작했다.
서버 상태 관리에 대해 공부를 시작하게 된 계기는 요즘 상태 관리 트렌드가 클라이언트와 서버의 상태를 분리하는 방향으로 가는 것 같기 때문이다.
기존에 리덕스를 쓰는 프로젝트에서는 클라이언트의 상태 뿐만 아니라 서버의 상태도 모두 리덕스로 관리했다. 리덕스로 서버의 상태를 관리하기 위해서는 redux-thunk, redux-saga 와 같은 미들웨어를 사용해야 하는데 이 코드들이 정말 너무나도 길고 클라이언트의 전역 상태를 관리하고자 하는 리덕스의 취지에도 맞지 않는다고 한다.
실제로 리덕스를 사용하다 보면 클라이언트 상태에 관련된 코드 보다 서버 상태를 관리하기 위한 코드가 훨신 많아지는 현상이 발생한다.
이러한 문제를 해결하기 위해 나타난게 react-query, swr, rtk-query 와 같은 라이브러리 이다.
위의 라이브러리들을 사용하면 적은 코드로 서버의 상태를 관리할 수 있고 캐싱과 같은 기능들을 쉽게 구현할 수 있다.
이번 주말까지 열심히 공부해서 프로젝트때 꼭 적용해보고 싶다.
공부중인 자료
https://www.udemy.com/course/react-query-react/
https://react-query-v3.tanstack.com/overview
드디어 프로젝트가 시작된다. 설레이기도 하지만 걱정도 많이 된다.
좋은 팀원 분들과 프로젝트를 잘 마무리 하고 싶다. 화이팅 !!!