최근에 시간적인 여유가 좀 생기면서 모던 자바스크립트 Deep Dive 책을 쭉 읽어보고 정리해보는 시간을 가졌다. 현재는 퇴사한 회사에서 거의 3년동안 자바스크립트로 일하면서 밥벌어먹어온 나였지만, 뭔가 자바스크립트의 깊은 부분들에 대해서는 제대로 이해못하고 있는 느낌이였기 때문이다.
실제 운영 환경에서 돌아가는 코드를 작성할줄은 알지만, 뭔가 야매로 하고 있는 것 같은 느낌이랄까.. 그냥 내 성격자체가 좀 뭔가를 완벽하게 이해하지 못한 상태에서 활용할때 왠지 모를 찜찜함을 느끼고 이걸 해소하고 싶어하는 것 같다.
아무튼 시간적인 여유가 생겼으니, 그 찜찜함을 해결할 수 있길 바라면서 결코 싼값이 아닌 책을 구매하게 되었다. 그리고 900 페이지 가량의 책을 다 읽어보고 정리해본 결과, 많은 것을 얻었다고 생각한다.
감사하게도 저자 분은 개인 블로그에서도 책 내용의 대부분을 게시글 형태로 작성해두셔서, 사실 책을 굳이 구매할 필요는 없는 상황이지만 뭔가 공부할때는 책이 확 집중이 되고 좋은 것 같다. 브라우저 앞에 있으면 방해요소도 너무 많고.. 아무튼 책보다는 집중이 안된다 ㅋㅋㅋ..
개인적으로 무언가를 공부할때는 항상 개인 노트에다가 요약/정리를 하면서 공부하는 편인데, 처음에는 태블릿에 노트하면서 여기 블로그에다가 글을 작성하는 식으로 하다가, 뭔가 블로그에 글을 올리기 전에는 한번 더 다듬고싶어서 요즘 뜨는 노트 앱인 Obisidan에다가 raw하게 좀 정리해봤다.
책의 목차를 그대로 따라서 하나씩 파일을 작성하다보니 파일이 너무 많아졌지만, 복습할때 문서들이 어느정도 연결되어있어서 편하게 연속적으로 볼 수 있을 것 같다. 중요한 내용이거나 복습하면서 한번더 지식을 다듬고 싶은 주제는 블로그에도 가공해서 올리거나 해야겠다. 결국 이런 과정에서 지식이 내 것이 되는거니깐.
아무튼 책은 정말 기초부터 심화까지 탄탄하게 구성되어있어서 자바스크립트 공부하는 사람한테는 강추한다. 사실 처음 부분들은 너무 기초적인 부분들이고, 입문자를 배려해서 내용이 작성되어있던터라 "흠,, 다 아는 내용이구만"하는 순간이 많았지만 뒤쪽으로 갈수록 실행 컨텍스트, 클래스 등 좀 더 심화적인 내용을 깊게 파고들어서 최대한 쉽게 설명해줘서 내가 부족하다고 생각했던 부분들을 많이 채울 수 있었다(괜히 Deep Dive가 아니다). 그래서 어느정도 JS 사용경력이 있는 사람들도 필요한 부분들, 또는 지식이 부족한 부분들에 한해서 이 책을 읽어보고 공부해본다면 큰 도움이 될거라고 생각한다. 강추!
제일 인상깊었던 부분은 실행 컨텍스트에 대한 설명 부분이였다. 자바스크립트 엔진이 코드를 평가하고 실행하는 과정을 차근차근 한스텝씩 설명해주는데, 이 과정에서 왜 호이스팅이 발생하는지, 어떻게 상위 스코프의 변수를 참조할 수 있는지, 왜 let
, const
는 블록 스코프를 가지는지 등의 직접적으로는 쓸데없을 수 있지만 도움되는, 그리고 내가 궁금했던 부분들을 많이 배울 수 있었다.
아무튼 이 책보고 Deep Dive 시리즈에 믿음이 생겨서 리액트 책도 하나 구입했다. 이 책도 내 가벼운 부분들을 시원하게 긁어주겠지 ㅎㅎ... 확실히 사람이 자기가 흥미있어하는 분야의 공부를 하면 시간도 빨리가고 재밌다. 열심히 공부하고 습득하고 성장해야겠다. 배움을 게을리 하지말자.