본 포스트는 길벗 24차 개발자 리뷰어로 선정되어 도서를 제공받아 작성한 글입니다.
기술 도서 리뷰를 작성하는건 오랜만인데, 우연찮게 좋은 기회를 받아 작성할 기회가 생겼습니다.
이번에 리뷰할 도서는 제로초(zerocho) 라는 이름으로 각종 강의와 집필 활동을 하고 계신 조현영님의 "코딩 자율학습 제로초의 자바스크립트 입문" 입니다. 이전에도 제로초님의 강의나 책을 읽으며 공부했던 적이 있었는데, 마침 최신 도서를 리뷰하게 되어 기대가 많이 되었습니다.
약 2주간 책을 읽으며 느꼈던 감상을 결론부터 말하자면, 프로그래밍 입문자들을 대상으로 추천하고 싶은 책입니다. 다른 언어를 충분히 익히신 상태에서 자바스크립트를 새로 배워보려는 분들보다는, 프로그래밍 자체를 처음 시작하시는 분들에게 적합하다고 느껴집니다.
어떠한 부분에서 이렇게 느꼈는지, 이 책의 특징적인 부분들을 중심으로 알아보겠습니다.
탄탄한 기본기와 만들어보는 재미를
프로그래밍 강의를 보면 이론부터 설명하는 방법도 있고, 우선 코드를 따라쳐보는 방식의 강의들도 있습니다. 물론 두 방법에는 모두 각자의 장점이 있고, 개인적인 선호나 특성에 따라 어떤 방법이 더 효율적인지는 다릅니다. 다만 입문자의 입장에서는 두 가지가 잘 조합되었을때 가장 좋은 효과를 볼 수 있는데, 이 책이 그런 케이스였습니다.
책의 전반적인 구성은 아래와 같습니다.
- 이론 설명을 읽다보면 자연스레 생기는 의문을 해소해주는 팁과 노트
- 매 단원마다 배치되어 배운 내용을 응용하여 바로 확인해 볼 수 있는 1분 퀴즈
- 현업자의 풍부한 실무 경험을 기반으로 제공되는 제로초의 조언
- 부족한 이해를 도와주는 웹북과 동영상
더군다나 입문 기술서에 가장 부족하다고 느끼는 점 중 하나는 "내가 배우고 있는 이 지식이 실무에서 어떻게 사용될까?" 에 대한 의문을 해소해주지 못한다는 점인데, 여기서 제로초의 조언이 이런 문제를 해결하는 역할을 하고 있습니다.
나쁜 활용법이 있다면 어떻게 피해야 하는지, 실제로 이 내용을 활용한 적당한 코드 스타일을 추천해주는등 책만으로는 얻을 수 없는 경험적인 내용들을 담고 있어 굉장히 도움이 됩니다. 초보자들이 처음 배운 내용을 곧바로 코드로 옮기면서도, 완벽하진 않지만 현업자의 코드 리뷰를 한 번 거쳐간 듯한 효과를 더해주고 있습니다.
가장 기억에 남았던건 클린 코드와 같이 상대적으로 높은 수준의 다른 책을 읽어야 알 수 있는 내용들이 조언으로 포함되어 있으니 입문 서적이면서도 책의 깊이가 더해졌다고 느껴진 것 같습니다. 어떻게 보면, 가성비가 좋다고 생각될 수 있겠네요.
프로그래밍적 사고를 길러주는 접근법
프로그래밍적 사고(Computational Thinking)는 최근 들어 프로그래밍의 영역에서 그 중요도가 뚜렷하게 올라간 개념입니다. 이전에는 개발자 개인의 경험에서 기인된 직관이나, 몇몇 특수한 상황에 '정석' 이라고 알려졌던 해결책을 적용하는 등 설계적인 부분이나 코드에 간헐적으로 나타나던 부분이었는데, 최근에는 코딩 열풍이 들며 대학교의 필수 교과목에도 신설될 정도로 널리 알려지게 되었습니다.
이러한 프로그래밍적 사고 능력은 오랜시간 경험을 통해 축적될 수도 있겠지만, 훈련을 통해 길러낼 수도 있습니다. 먼저 주어진 요구사항과 실행 흐름을 명확히 정의하고, 이를 정리하고 기록하여 실제 코드 작성에 활용합니다. 코드 작성 과정에서 잘못된 부분이 있다면 정리된 내용을 수정하고, 완성 후에는 코딩 과정을 돌아보며 피드백 시간을 가집니다. 이렇듯 명료히 정해진 프로세스와 피드백을 통해, 개발자로 하여금 다음에는 더 나은 설계를 할 수 있도록 하는 직관을 쌓을 수 있게 됩니다.
이 책에서 코드를 작성할때, 순서도를 먼저 그리도록 하는 이유 또한 이와 크게 다르지 않다고 생각합니다. 순서도를 작성하며 설계 단계의 중요성을 알게 되고, 프로그램이 어떻게 동작할지 예측할 수 있으며, 예외를 처리할 때에도 문서를 기반으로 작업하게 되니 개발자의 휴먼 에러가 발생할 확률이 줄어듭니다. 개발과 병렬적으로 순서도의 최적화까지 진행해보며 더 효율적인 프로그램을 만들 수 없을지 고민해보기도 하고, 이런식의 작업을 반복하며 종국에는 순서도가 없이도 자연스럽게 프로그램을 만들 수 있는 직관, 즉 프로그래밍적 사고를 길러낼 수 있게 됩니다.
무료로 제공되는 인터넷 강의
글로만 써있는 내용은 아무리 내용이 좋고, 읽기 좋게 적혀있더라도 선뜻 손대기 어려운 경우가 있습니다. 제 경우에도 이론 학습은 글로만 적힌 컨텐츠를 보는게 더 좋았지만, 본격적인 실습이 들어가면 동영상 강의를 보는 편이 받아들이기 수월했습니다.
제로초님은 기존에도 유튜브 채널과 인프런에서 동영상 강의를 올리시던 저자셔서, 이러한 연계 학습을 원하시는 분들에게는 좋은 선택지가 될 것 같습니다. 여러 플랫폼에서 무료로 제공되고 있으니 각잡고 앉아 공부하는 시간이 아니더라도, 버스나 지하철로 이동하는 시간을 이용해 가볍게 들으셔도 괜찮을 것 같다는 생각입니다.
글 만으로, 또는 영상 만으로 한 쪽만 제공되는 강의를 들은적이 많아서인지, 이처럼 선택지를 늘려주는 부분은 독자의 학습을 위해 꼼꼼하게 배려했다는 느낌을 받았습니다.
맺으며
주변의 누군가 자바스크립트를 통해 처음 프로그래밍을 배운다고 한다면, 추천할 만한 책이라고 생각합니다. 대체로 내용이 어렵지 않고 쉽게 읽히도록 쓰여 있어 입문자 분들이 읽기에 무리가 없을 것 같다고 느껴집니다. 다만, 다른 언어를 통해 프로그래밍을 깊게 경험해보신 분들께는 더 깊은 이론까지 다루는 어려운 책을 권할 것 같습니다.
이상으로, '코딩 자율학습 제로초의 자바스크립트 입문' 의 리뷰를 마칩니다.
'기타' 카테고리의 다른 글
Github에 2FA 설정하기 (0) | 2023.09.30 |
---|---|
오픈 소스 라이센스에 대해 (Open Source License) (0) | 2023.09.17 |
Cloudflare로 https 적용하기 (0) | 2023.09.10 |
TDD 스터디 #4 - 화폐 예제 (유연한 통화 구현) (0) | 2023.08.22 |
TDD 스터디 #3 - 화폐 예제 (다중 통화 구현 & 중복 제거) (0) | 2023.07.21 |
댓글