on
[Javascript] 모던 자바스크립트 딥다이브 후기
이걸 다 읽은 내가 자랑스러워…
갑자기 책으로 개발 공부하고 싶어졌다.
사실 자바스크립트 공부는 개발자를 준비하면서부터 했기 때문에, 이전에도 원론적인 자바스크립트 공부는 많이 했었다. 매체도 다양했다. 인강, 유튜브, 학원 강의 등등…
사실 책으로 개발 공부를 하는 걸 선호하지 않는 편이다. 공식 문서나 예제 코드를 보고 바로바로 만들어보며 습득하는 것을 좋아한다. 개발 공부를 처음 시작해서 2022년 초까지 약 2년 동안 읽은 개발 관련 서적이 1권도 채 안될 정도이니 말 다했다.
개발자로 현업에서 javascript
와 typescript
를 주 언어로 폭풍 개발을 하고 있는 8개월 차쯤, 그래도 처음보단 정말 많이 늘었다고 생각했다. 하지만 가끔 사수님의 설명과 함께 등장하는 원론적인 단어(스코프, 호이스팅, 클래스 등)에 대해 정말 내가 잘 알고 있는 걸까?라는 의문이 생겼다.
그래서 이것저것 들추는 거 말고 끝이 정해져 있는(한 바퀴 돌았다고 말할 수 있는) 책으로 자바스크립트를 다시 공부하기로 결심했다.
1. 책 추천을 받다.
자바스크립트 책 추천을 검색하면… 책 말고 MDN으로 공부하라는 얘기, 클론 코딩하라는 얘기 등등 책으로 공부하지 말라는 얘기가 많았다.
하지만 그중에서도 자주 추천되는 책이 바로 모던 자바스크립트 딥다이브였다. 심지어 내가 좋아하는 인프런의 지식 공유자인 정재남님이 인프런에서 무료로 스터디 강의를 찍어 놓으셨더라.
그래서 책 정보를 찾아보니…
아… 이거 내가 끝까지 읽을 수 있을까?
2. 본인이 의지로운 사람일 필요는 없다.
대신 없던 의지도 만들 수밖에 없는(?) 환경을 조성해야 한다.
난 보통 의지를 돈으로 사는 편이다. ㅎ… 예를 들어 운동에 큰 돈을 주고 회원권을 끊어서 안 갈 수 없게 만들어버리는 그런 방법…
물론 이 책을 다 읽는 의지를 돈 주고 살 방법은 없으니, 난생 처음으로 스터디에 참여했다. 10명의 사람들이 각자 할당된 분량의 책을 읽고, 그 주차에 발표자가 내용을 요약해서 발표하고 서로 질문하는 스터디였다.
참고로 내가 스터디를 주로 구하는 사이트는 인프런이다.
이런 식으로 계획표가 미리 정해져 있었고, 각자 자발적으로 원하는 주차를 나눠서 선택했다. 한 주의 분량이 적지 않음에도 워낙 양이 방대하다 보니, 1월 18일부터 시작했던 스터디가 5월 31일까지 진행되었다.
생각보다 난이도도 있었기 때문에 중도 포기하는 사람도 3명이나 있었고, 그 사람들이 원래 맡기로 했던 파트를 다른 사람들이 맡아서 해야 했다(그게 바로 나).
그래도 7명의 멤버들은 힘들어도 꿋꿋이 열심히 했다.
3. 그래서 스터디 추천해?
솔직히 발표 주차가 아닌 사람들도 해당 범위를 블로그나 노션에 정리해서 올려야 했으므로, 책 난이도를 떠나 생각보다 시간을 많이 투자해야 했다.
일주일에 최소 6~8시간은 투자했다. 당시에 회사 일도 바쁘고 방송대 3학년을 다니고 있었고, 다른 스터디에도 참여하고 있었기에 정말 눈물을 흘리며 스터디를 했다. 😂
멤버들이 없었다면 정말 끝까지 할 수 있었을지 의문이다.
다른 책도 스터디를 추천하겠냐고 하면 확답하기 어렵지만, 의지가 박약하고 아직 자바스크립트가 낯선 사람에게는 이 책에 한해서는 스터디를 추천한다.
사실 블로그 정리만 없었어도 시간을 절반 이상 아낄 수 있었겠지만, 블로그에 글로 정리를 하면서 남는 것도 있었다.
블로그 정리 전에 한 번 읽고, 정리하면서 읽고, 모이는 날 다시 한 번 정리한 부분을 읽게 되어 강제적 반복을 할 수 있어서 스터디 이후에도 남는 게 많았다.
또한 자바스크립트는 생각보다 사람들과 얘기해볼 것이 많은 언어이다. 스터디 발표 후 사람들과 해당 주제에 대해 다른 자료를 함께 보거나, 어려웠던 부분에 대한 질문을 주고받으면서 더 깊이 있는 공부를 할 수 있었다.
그런 면에서 혼자 공부하는 것보다 스터디를 하는 것이 장점이 될 수 있다.
다만, 스터디원을 구성할 때 코딩이 처음이면서 자바스크립트를 첫 언어로 선택한 입문자에게는 추천하지 않는다(이 책 자체를 추천하지 않는다).
지금 돌이켜보니 중도 하차하신 분들은 다른 언어 경험도 없고, 자바스크립트에 대한 친숙도가 낮은 분들이었다. 사실 스터디 자체가 구성원들의 수준 차이가 너무 심하면 제대로 진행되기 어렵다.
4. 결론적으로 책이 어떻다는 건데?
솔직히 정말 좋았다. 내용도 자세하고 깊이도 있었으며, 예제 코드는 매우 상세하다(심지어 예제 코드가 깃헙에 올라가 있다).
자바스크립트를 사용하면서 가졌던 의문을 빠짐없이 해결해주는 책이었다. 정재남님이 여러 번 읽으라고 하신 이유를 알겠더라.
책을 거의 다 읽었을 때쯤에는, 실제 개발에서도 변화가 있다고 느꼈다. 코드를 왜 이렇게 작성해야 하는지 알고 작성하는 느낌이었다고 할까?
그전에는 ‘많이들 이런 식으로 쓰던데? 에러 나면 수정하지 뭐.’라는 느낌이었다.
즉, 자바스크립트의 중요한 개념인 호이스팅, 이벤트 루프, 비동기, 스코프 등을 대충 이론적으로 알고 있었지만, 실제 코드와 개념을 연관 지어 작성하지 못했는데, 확실히 왜 이렇게 작성해야 하고, 그렇지 않으면 문제가 생기는지 명확히 이해하고 코딩할 수 있게 됐다.
아마 2022년에 가장 잘한 일 중 하나가 이 책을 다 읽은 것일 것이다.
사실 비전공자 출신 개발자이기 때문에 항상 개발 공부와 CS 공부를 하고 있는데, 분량이 많은 만큼 얻어가는 것도 가장 많았던 책이었다.
이후에는 사수님이 이야기하는 자바스크립트 개념들에 막힘 없이(?) 이해하고 대화할 수 있게 되었다.
자바스크립트 개발자라면 한 번쯤 꼭 읽어보라고 추천하고 싶다.
하지만 자바스크립트로 프로그래밍을 처음 입문하는 사람에게 이 책은 프로그래밍을 포기하게 만드는 벽처럼 느껴질 수도 있다고 생각한다.
나는 이 책을 읽기 전, 취업 준비와 공부 기간까지 합해 1년 이상 자바스크립트를 사용해 본 상태였고, 호이스팅, 스코프, 렉시컬 환경, 프로토타입, 이벤트 루프 같은 유명한 자바스크립트 개념을 이미 한 번 이상 공부해보았거나 어렴풋이 알고 있었기에 어렵지 않게 읽을 수 있었다.
하지만 프로그래밍을 책으로 처음 시작하려는 사람이 이 책을 읽는다면… 울면서 읽을 수도 있다. ㅎ…
실제로 자바스크립트를 써보면서 에러나 어려움을 겪었던 사람들은 이 책을 읽으면서 “아, 이래서 그런 거구나!”라고 공감할 포인트가 많겠지만, 그런 경험이 없는 사람들에게는 책 내용이 공감도 안 되고 이해도 어려울 가능성이 크다.
딥다이브 외에도, 따라 만들어보는 방식이 아닌 개념적인 내용 위주의 자바스크립트 책은 입문자에게 추천하기 어렵다.
만약 “난 개념부터 한 번 싹 훑고, 문법도 한 번 다 봐야 직성이 풀리는 스타일이야!”라는 사람이라면, 이 책보다는 더 얇고 딥다이브의 간소화 버전 같은 다른 책을 추천한다.
아니면 정재남님의 인프런 강의를 들어보고 책을 읽는 것도 딥다이브를 이해하는 데 큰 도움이 될 수 있다.
(참고로 나는 그 책은 반만 읽었고, 강의는 전부 봤다.)
무료 스터디 강의라도 참고하면 좋다!
현재 티스토리 블로그를 깃허브 블로그로 이사하면서 기존 블로그 내용을 한 번씩 다시 훑고 정리해서 깃허브 블로그에 올리고 있다. 이 과정에서 다시 한 번 읽고 있는데, 두 번째 읽을 때도 첫 번째와는 다른 새로운 배움이 있다.
정말 여러 번 반복해서 읽기에도 좋은 책인 것 같다.
어쩌다 보니 재남님 홍보만 많이 한 것 같긴 한데… ㅎ…
결론적으로, 딥다이브 책을 강력히 추천하는 글임을 분명히 밝힌다. 😍
feat.
책의 대략적인 수준이나 난이도는 간단히 정리된 내용이나 이웅모
님의 개발 튜토리얼 사이트를 참고해보길 추천한다. 😍