패스트캠퍼스 챌린지 최종 미션 - 한 번에 끝내는 React의 모든 것 초격차 패키지 Online 강의 후기, 패스트캠퍼스 챌린지 최종 후기

2022. 3. 22. 09:35공부/패스트캠퍼스

수강 인증샷


패스트캠퍼스 챌린지란?

 패스트캠퍼스에서 진행하는 '50일 공부 루틴 챌린지' 행사로 50일 동안 매일 수강 인증샷과 함께 학습 기록을 게시글로 남기는 행사다.


최종 후기

 50일의 대장정이 끝나고 이제 "한 번에 끝내는 React의 모든 것 초격차 패키지 Online 강의"에 대한 최종 후기를 남기려 한다.

 1일 차로 돌아가 이 강의를 선택하게 된 계기를 다시 돌아보는 시간을 먼저 가져보자. React로 무엇을 만들 수 있는가? 그 무엇은 어떻게 만들어야 하는가?라는 질문에 대한 대답을 얻고 싶은 것이 이 강의를 구매하게 된 가장 큰 계기였다. 50일을 지나 돌아보면 무엇을 만들어야 할지에 대한 대답은 얻을 수 없었다. 다만, 대답할 수 없다고 해서 강의가 별로였다라거나 강의가 도움이 안된다라는 이야기가 절대 아니다. 대답할 수 없는 이유는 만들고 싶다고 생각하는 모든 것을 React로 만들 수 있기 때문이다. 만들고 싶은 것을 만들면서 겪게 되는 기술적, 실력 문제가 아닌 이상 상상하는 무엇이든 구현해낼 수 있는 것이다. 그렇기에 무엇을 만들 수 있다고 특정 지을 수 없을 정도로 원하는 것들을 만들 수 있기 때문에 이건 해결된 문제이다. 다음으로, 어떻게 만들어야 하는가라는 질문에 대한 대답은 더욱 쉽게 얻을 수 있다. 한 번에 끝내는 React의 모든 것 초격차 패키지 Online 강의의 가장 큰 메리트가 이 질문에 대한 대답으로 나올 수 있는데 이 강의는 React를 처음 접해보는 사람부터 어느 정도 React를 알고 있는 사람이라도 접해 본 경험이 없을 수 있었던 React의 기초 개념과 심화 개념, React와 같이 사용하면 좋은 수많은 라이브러리들(스타일링, UI, 데이터 모킹, 상태관리, 데이터페칭, GraphQL, Next.js), React 실무 기능, 클론 코딩, 트러블 슈팅, 여기에 TypeScript에 대한 개념과 실제 예시 작성까지 다루기 때문에 무엇을 어떻게 만들까에 대한 고민은 이 강의를 통해 배운 수많은 개념을 바탕으로 필요에 따라 상황에 알맞게 사용하여 만들면 된다.

 지금부터는 파트별로 무엇을 배우며 무엇을 느꼈는지 기술하고자 한다.

 Part 1. React 기초에서는 말 그대로 React 기초에 대해서 공부한다. 만약, 한 번에 끝내는 React의 모든 것 초격차 패키지 Online 강의 구매를 고민하는 독자이거나 구매를 하고 아직 수강을 시작하지 않은 독자라면, HTML과 JavaScript 공부를 미리 하고 듣는 것이 HTML과 JavaScript를 모르고 들을 때와 흡수하는 내용이 다를 수 있다고 생각하기 때문에 HTML과 JavaScript 선행 학습한 다음에 수강하는 것을 추천한다. Ch 01. React 맛보기 챕터에서는 React의 기본적인 개념들을 하나하나 살펴보면서 진행한다. 필자는 예전부터 인터넷 강의 듣는 것을 좋아해서 React 관련 유, 무료 강의들을 많이 들었었는데 확실히 다른 강의들보다 다루는 개념들이 많았고 개념들에 대해 자세하게 다룬다는 인상을 받았다. 그리고, 기본적인 개념들이라고 가볍게 넘어가기 보다는 이 개념들을 바탕으로 응용하며 이용하는 것이기 때문에 Ch 01. React 맛보기 챕터도 집중하면서 듣는 것을 추천한다. 이런 개념들은 나중에 만들고자 하는 것을 어떻게 만들까 고민할 때 기초를 다시 차근차근 밟아보길 원한다면 다시 참고해도 좋은 강의들인 것 같았다. Ch 02. React 공식문서로 디테일잡기(초급) 챕터에서는 React의 개념들 중 주요 핵심 개념들에 대해 공부하는 시간을 가진다. Ch 01. React 맛보기 챕터에서 배운 내용들을 바탕으로 주요 핵심 개념들을 이 챕터에서 한번 더 다루기 때문에 반복 숙달할 수 있어서 더욱 쉽게 몰입할 수 있었고 복습으로 인해 React 개념 관련 기억도 확실히 더 오래 갈 수 있을 것 같다는 느낌을 받아 강의 구성과 배치가 치밀해서 좋다라는 생각을 했다. Ch 03. React 공식문서로 디테일잡기(고급) 챕터에서는 Ch 01. React 맛보기 챕터와 Ch 02. React 공식문서로 디테일잡기(초급) 챕터에서 보다 더 심화된 내용을 공부한다. React 공식문서로 디테일잡기(고급) 챕터의 시작은 React 버전 16.8부터 React 요소로 추가된 Hook에 대해 배운다. React Hook의 도입으로 기존에 Class를 바탕으로 작성했던 코드들을 Class가 아닌 Function으로 작성할 수 있게 되었으며 Function으로 코드를 작성하면 쓸 수 없었던 Class의 기능들을 완벽하게 호환하였기 때문에 React의 질이 한층 더 올라가는 계기가 되었다. 이 다음으로 Composition, HOC, Memoization, Context, Portal, Render Props, PropTypes, Reconciliation과 같은 개념에 대해 다루는데 이러한 개념들은 React를 사용하면서 계속해서 숙지해야 하는 개념이라고 느껴서 강의를 듣고난 이후에도 자주자주 다시 듣는 편이다.

 Part 2. React 라이브러리에서는 React로 원하는 서비스를 만들 때 같이 곁들이기에 유용한 라이브러리들을 소개한다. 라이브러리가 정말 많기 때문에  그 분류 또한 다양하다. 스타일링 라이브러리, UI 라이브러리, 데이터 모킹 라이브러리, 상태관리 라이브러리, 데이터 패칭 라이브러리, GraphQL, Next.js 정말 라이브러리 종합선물세트를 받는 느낌이였다. 이 파트에서는 여러 라이브러리들을 배워보며 앞서 얘기한 것처럼 내가 원하는 서비스를 만들 때 어떤 라이브러리를 사용하면 좋을 것 같겠다라는 느낌도 가져갈 수 있는 점이 좋았다. 이 강의를 듣기 전에 React에 대한 공부를 좀 해보고 유명한 라이브러리들은 어느정도 알고 있는 상태였었지만 이 파트를 통해 라이브러리는 내가 알고 있는 것보다 더 다양하며 꼭 유명하고 사람들이 많이 사용하는 라이브러리만이 좋은게 아니였구나, 장단점이 제각각 다 있는거였구나라는 생각을 하게 되어 라이브러리에 대해 갖고 있었던 기존 생각들이 바뀌게 되는 계기가 되었다. 이 생각을 하게 된 주요 계기가 상태관리 라이브러리에 Redux와 MobX 강의였다. Redux와 MobX 강의를 듣기 전에는 Redux가 제일 유명하기 때문에 가장 좋은 줄 알고 있었다. 하지만, Redux의 구조인 Flux를 바탕으로 Redux의 여러 요소들을 하나하나 이해하며 사용해야 했기에 처음 배울 때 쉽지 않았었다. 배울 때도 쉽지 않은데 왜 인기가 많을까라는 고민도 결국 제일 좋으니까 인기가 많겠지라며 단순히 넘어갔었던 경험이 있었다. 물론, 배우고 나서부터는 Redux가 제일 좋을 수도 있지만 배우는 과정이 쉽지 않기 때문에 어려움을 겪은 적이 있었는데 강의를 통해 MobX라는 존재를 처음 알게 되었고, 배우는 과정도 Redux보다 쉬웠으며 Redux가 갖지 못한 MobX만의 장점도 있기에 라이브러리에 대해서 다시 생각해보는 시간을 갖게 되었다.

 Part 3. React 실무 기능 파트가 1일 차에서 다뤘듯이 이 강의를 선택한 이유이자 가장 기대를 많이 했던 파트였는데 실망이 매우 컸다. 사실 왜 파트 제목이 실무 기능인지 모르겠다라는 생각에서부터 기인한다. Ch 01. 가장 보통의 UI는 우리가 웹 페이지를 이용하면서 한 번쯤 볼법한 인피니티 스크롤, 모달 창과 같은 UI들에 대해 배워보는 시간을 갖는다. 배워보는 것만으로 끝이였다. 이 UI들이 실무에서는 어떻게 쓰이는지, 실무에서 잘 쓰려면 어떻게 공부해야 하며 어떻게 응용해야 하는 지에 대한 내용은 없다. Ch 02. recoil을 이용해 To-do-list 만들기, Ch 03. react-query를 이용해 포켓몬 도감 만들기도 Part 2. React 라이브러리에서 배웠던 상태관리 라이브러리인 recoil, 데이터 패칭 라이브러리인 react-query를 예제와 함께 좀 더 다루는 것일 뿐 실무와 연관된 내용을 담고 있다고 생각한 부분이 단 한 곳도 존재하지 않았다. 마지막으로 Ch 04. react hook form을 이용하여 복잡한 폼 다루기 또한 회원가입과 같이 복잡한 폼을 심도 있게 다루는 것이 아닌 그저 react-hook-form을 배워본다는 성향이 더 컸다. 그래서, 모든 파트들 중 제일 아쉬웠고 실망감이 컸다.

 Part 4. 클론 코딩 파트는 먼저 Part 6. TypeScript Essentials를 수강하고 나서 듣거나 TypeScript에 대한 공부를 먼저 선행하는 것을 추천한다. 왜냐하면, 왓챠피디아, 카카오톡 클론 코딩을 다 JavaScript가 아닌 TypeScript로 진행하기 때문이다. 그리고 가장 아쉬웠던 점은 클론 코딩 파트는 말그대로 진짜 클론 코딩만 진행한다. 클론 코딩을 진행하면서 설명과 함께 강의를 진행하는 것도 아니고 그저 강의하시는 분이 작성하는 코드를 따라작성하는 것이 해당 파트의 전부다. 왓챠피디아 클론 코딩은 별도의 서버가 있는 것이 아닌 오픈 api인 tmdb api를 사용해서 그렇다고 하더라도 카카오톡 클론 코딩에서는 서버를 클론 코딩을 통해 직접 구성해보는 내용이 있지만 프론트엔드가 서버와 어떻게 통신하면 좋은지, 프론트엔드가 백엔드와 협업할 때 어떻게 해야 하며, 어떤 태도를 가지면 좋은지에 대한 내용이 전무하다. 이 파트를 수강하며 느낀 점은 React와 TypeScript를 이용하여 무엇인가를 만든다고 할 때, styled-component라는 스타일링 라이브러리를 곁들어 서비스를 예쁘게 만드는 것을 배우는 시간이였던 것 같다.

 Part 5. 트러블 슈팅 파트Part 1. React 기초 Ch 03. React 공식문서로 디테일잡기(고급)에서 더 나아가 심화적인 내용을 다룬다는 인상을 받은 파트였다. Ch 02. Class Component to Functional Componenet에서는 클래스 컴포넌트의 한계와 그 한계에 대한 해결책으로 나온 Functional Component에 대해 집중적으로 다루는 시간을 가지며 Ch 03. Re-introduction of React Hooks는 Functional Component에 한계로 나온 Hook에 대해 집중적으로 다루는 시간, Ch 04. Render Optimization은 React의 렌더링 과정을 공부한 뒤 렌더링 최적화를 집중적으로 다루고, Ch 05. Deep-dive into Redux Middleware은 Redux를 Redux 하나만 사용했을 때 생기는 한계를 Middleware를 통해 그 한계를 극복하는 법을 배우는 시간을 가진다. 이 파트는 React를 어느정도 알고 있는 사람이더라고 하더라도 알차게 배울 수 있는 내용들이 포함된 파트였다.

 Part 6. TypeScript Essentials 파트는 TypeScript에 대해 배우는 파트이다.

 Part 7. React로 나의 책장 만들기(TypeScript) 파트는 Part 4. 클론 코딩 파트처럼 React와 TypeScript를 이용하여 나의 책장 만들기 서비스를 클론 코딩해보는 파트이다.


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 


패스트캠퍼스 공식 홈페이지 : https://bit.ly/37BpXiC