모던 리액트 Deep Dive 스터디 후기
- 참여 기간 : 3월 16일~6월15일 (3개월)
- 스터디 주제 : '모던 리액트 Deep Dive' 라는 책을 매주 스터디
- 스터디를 신청한 이유 : 리액트를 더 자세히 알고 싶었고, 해당 책의 분량이 커서 혼자서 다 읽을 엄두가 나지 않았다. 그래서 스터디를 통해 강제성을 부여해 완독을 하는 것을 목표로 삼았다.
- 스터디를 참여 시작할 때 세웠던 목표
- 1. 책 완독
- 2. 리액트를 코드 레벨에서 분석하여 이해하기
- 진행 과정
- 한 주에 1~2장을 읽고 내용을 정리한다.
- 스터디날 발표자를 랜덤으로 선정하여 해당 회차 스터디를 진행한다.
3월 16일 OT를 시작으로 6월 15일 뒷풀이 회식까지 참여하며 스터디의 막을 내렸다.
장장 3개월 간의 긴 여정이었다!
스터디 진행 방식은 매주 화요일 마다 온라인 화상 채팅에서 한 주동안 읽고 배운 것을 공유하는 방식이다. 책이 전공 서적 수준으로 두꺼운 덕분에 한 주에 80페이지 넘는 분량을 읽어야했는데, 주석도 하나씩 살펴보고 이해가 안가는 내용은 따로 찾아보면서 공부하다 보니 주당 4-8시간 정도를 소비한 것 같다. 스터디 발표자는 당일 날 랜덤으로 선정하기 때문에 언제 내가 걸릴지 모르니 두근두근했고 더 잘 할 수있는 동기부여가 되었다.
가장 좋았던 점은 스터디 참여자 분들이 다들 현직자라 각자가 가진 경험과 견해를 들을 수 있다는 점이었다. 내 경험이 얼마나 부족한지도 깨닫게 되고 예전에 부딪혔던 이슈의 해결 방법을 알게된 적도 있었다!
이번 스터디를 통해 배운 점
1. 클로저는 리액트에서 가장 핵심이 되는 개념이다.
useState같은 훅에서 내부 상태 값은 리액트가 별도로 관리하는 클러저 내부에서만 접근할 수 있다. 가장 기본적이고 중요한 개념!
2. React 및 Preact의 레포지토리를 보며 코드 단에서 원리를 이해하려고 했다. 완벽히 이해한 것은 아니지만 보기 전 보다 리액트와 가까워 진 것 같다. 특히 자주쓰는 훅을 중점적으로 본 것이 도움이 되었다.
3. 자바스크립트는 싱글스레드 언어지만, Worker(node.js)나 WebWorker(브라우저)를 통해서 동시에 여러 작업을 처리 할 수 있다. 혹은 이벤트 루프가 콜스택과 태스크큐를 반복해서 확인하면서 태스크큐 내부에서 할당되는 별도의 스레드에서 처리할 수 있다.
4. ContextAPI는 props drilling을 막기위한, 상태를 주입해주는 API이지만 상태 관리를 위한 API는 아니다.
5. 참조 링크는 전부 찾아보는 습관을 가지자. 생각보다 만료된 링크도 많고, 책이 작성된 시점과 현재 시점의 차이가 있는 경우도 많았다.
6. 책의 내용을 그대로 수용하려고만 하기 보다는 원리를 이해하고, 때로는 비판적인 시각으로 바라본다.
책 후기
1. 프론트엔드의 전반적인 마일스톤을 한 번씩 훑고 지나가는 느낌이다. Deep Dive 라는 제목과 다르게 얕고 넓게 보는 느낌이었다. 더 자세히 파고들려면 따로 조사하거나 공부해야한다. 어떤 장은 '이런 것 까지 나온다고..?' 싶은 부분도 있다.
2. 주니어 입장에서는 처음 보는 내용도 많았기 때문에 일단 책에서 언급해서 개념만 알면 따로 찾아서 공부하기 때문에 만족했다. (하지만 시니어 분들은 이미 아는 내용이 많아서 만족도가 좀 떨어져보이셨다.)
3. 작가분께서 사고의 흐름을 보여주고 증명을 전개하는 방식이기 때문에 하나하나 따라가면서 이해할 수 있어서 친절하다는 느낌을 받았다.
4. Github에 코드가 올라와있는데 실행 불가능한 코드가 많아 아쉬웠다.