본문 바로가기

Jbee/서평&영화&자격증

자바스크립트 기본서에 대해서, Basic JavaScript for Beginner



자바스크립트의 영역이 날로 넓어지고 있습니다.
일전에는 클라이언트 영역에서 팝업창을 띄우고 사용자들과 약간의 인터랙션을 위해 사용되었던 언어였다면, 현재는 클라이언트를 넘어 서버 측까지 확장을 하였고, 모바일 앱개발까지 그 영역을 뻗치고 있는 언어입니다. Node.js의 등장으로 이제는 IoT 영역에서도 활약을 하고 있는 요즘 가장 Hot한 언어라고 볼 수 있습니다. (하태하태!)

또 Python이라는 언어와 함께, 개발 입문자들이 처음에 접하기 쉽다는 이유로, 언어에 대한 진입 장벽이 낮다는 이유로 많은 사람들이 배우려고 하는 언어입니다. (사실, 저는 이 의견에 동의하지는 않습니다…)

그래서 제가 직접 접해본 자바스크립트에 대한 의견을 정리해보았습니다.
시중에 출시되는 자바스크립트 관련 도서들이 정말 많습니다. 자바스크립트를 공부하려고 하는 분들께 실질적인 도움을 드리고자, 이렇게 정리하게 되었습니다. 각 도서에 대한 제 개인적인 의견이므로, 제 개인적인 배경을 참고하신 뒤, 정리된 글을 필터링해서 받아들이시면 더욱 좋을 것 같습니다. 저는 비전공자로, C를 처음 접했고 어느 정도 프로그래밍에 대한 감을 잡은 후에, JAVA를 공부했습니다. Java를 통해서 객체지향적으로 코딩을 한다는 것이 무엇인지 정도는 알고 나서, 자바스크립트를 공부했습니다. 프론트엔드 개발에 관심을 갖고 공부를 하고 있는 예비 개발자입니다. 


자바스크립트 도서에 대한 지극히 개인적인 서평



인사이드 자바스크립트
두께가 정말 마음에 든다. 그만큼 핵심 내용을 담고 있다. 하지만 그 핵심이 얕지 않다. 이 책은 자바스크립트의 핵심 기능들의 작동 원리를 설명하는데 초점이 맞춰져 있다. 쉽게 이해할 수 없는 프로토타입과 같은 개념을 도식화하여 설명하기 때문에, 보다 이해가 쉽다.
하지만 자바스크립트가 배우기 쉬운 언어라고 생각하고 이 책을 접한다면, 다소 어려울 수 있다. 또 평소 자바스크립트를 Toy Language라고 생각하고, 이 책을 본다면 당황할 수 있다. 그만큼 자바스크립트 언어에 대해서 깊고 상세하게 설명하고 있다.
프로그래밍의 시작을 자바스크립트로 하는 사람들을 대상으로 하는 초급책이라기 보다는 초급에서 중급으로 넘어가기 위해서 보는 책인 것 같다. 물론 자바나 C++같은 객체지향 프로그래밍 언어를 익힌 상태에서 자바스크립트를 공부하는 사람에게는 적절한 기본서가 될 것이다.
자바스크립트라는 인터프리터 언어, 동적 타이핑 언어의 특성상, 책으로만 본다면 이해가 쉽지 않을 수 있다. 실제로 클라이언트 쪽과 관련된 개인 프로젝트를 진행하면서 자바스크립트의 문법들이 어느 부분에서 빛을 발하는지 경험하면서 공부하는 것이 효과적일 것이다.
개인적으로는 자바스크립트 기본서로 제일 추천하고 싶은 책이다.

다른 언어를 접해본 사람들에게 강력히 추천하는 자바스크립트 기본서.




모던 웹을 위한 자바스크립트 입문편

HTML / CSS 에 대한 내용을 다루고 있는 시리즈도 존재하는 시리즈 책이다. 자바스크립트 부분은 정말 프로그래밍 기초부터 천천히 다루고 있다. 여기서 프로그래밍의 기초란, 연산자에 대한 부분, for, while 구문이 돌아가는 원리, if를 활용한 조건문 등을 말한다.
프로그래밍 초심자에게는 적절한 책이 아닐까 싶다.
하지만 다른 언어를 익힌 상태에서 이 책을 접한다면 JavaScript 라는 언어에 대해 실망하고 지루해할지도 모른다. 자바스크립트를 단순히 HTML과 CSS가 렌더링되어 있는 브라우저에 약간의 인터랙션을 주는 언어로 인식하게 될 수 있다.
객체지향적인 프로그래밍 또는 함수형 프로그래밍 같은 기법을 자바스크립트로 연습하기 위한 책은 아니다. 이 책은 프로그래밍 입문자가 자바스크립트로 프로그래밍 공부를 시작할 때 적합한 책이다. HTML / CSS 시리즈를 보고 이 책을 접한다면 더 좋은 입문서라고 생각한다.
하지만 이 책만을 보고 자바스크립트를 끝냈다고 생각하면 큰 오산이다. 요즘의 자바스크립트는 성능 및 의존성 관리의 이슈로 전역 변수를 최소화하는 모듈화가 중요시 되므로 그 부분까지 공부해야 한다.

프로그래밍 초심자에게 추천하는 책 중 하나.   다른 언어를 접해본 사람에게는 비추천





자바스크립트와 객체지향 프로그래밍
인사이드 자바스크립트 책과 컨셉은 비슷하지만 보다 더 두꺼운 책이다. 지금은 절판되었으며, 이런 종류의 자바스립트 책이 더 많이 생겼으면 하는 바람이 있다. 자바스크립트라는 언어를 처음 접하는 사람이 보면 문체가 다소 난해하여 이해하기 힘들 수 있다.
다행히 도식화를 통해 잘 설명은 해주고 있지만, 그래도 어렵다. 디자인 패턴에 대한 부분까지 다루고 있으므로  위에서 언급한 인사이드 자바스크립트 책보다 더 많은 내용을 다루고 있다고 본다.

절판된 책이지만 구할 수 있다면 한번 보는 것도 좋은 책이다.



자바스크립트 핵심가이드

자바스크립트의 대부(?)라고 할 수 있는,  JS Lint의 개발자 더글라스 클락포드님의 책이다. 친절한 책은 아니지만 한번쯤은 읽어보면 좋은 책이다. 프로그래밍의 근본에 입각하여 자바스크립트라는 언어를 소개하고 있다. 그렇다고 해서 기초적인 내용만을 다루는 것은 아니다. 책의 제목처럼 자바스크립트의 핵심을 다루고 있다. 이 책의 컨셉은 간결함과 강력함인 것 같다. 저자의 내공이 절로 느껴지는 책이다.
자바스크립트라는 언어를 사용하는데 있어서 불필요한 내용은 책에 싣지 않았다. 자바스크립트에 대한 문법적인 설명보다는, 어떻게 자바스크립트라는 언어를 가지고 ‘우아하게’ 코딩할 수 있는가?에 집중되어 있다. 이 책 역시 일독할 것을 권한다.

기본서로는 추천하지 않지만 책 자체로는 매우 훌륭한 책이므로 일독을 권한다.





거침없이 배우는 자바스크립트 & 제이쿼리
이 책은 jQuery 책이라고 봐도 될 것 같다. JavaScript에 대한 부분은 정말 얕고 많은 내용을 다루고 있지 않다. 딱 jQuery 문법을 사용하는데 있어서 필요한 자바스크립트 문법을 다루고 있다. JavaScript라는 언어에 대해서 알고 싶다면 이 책은 잘못된 선택이다.
하지만 웹 퍼블리셔에게 있어서, 인터랙션 부분을 학습하기 위해, jQuery를 학습하기 위해서라면 이 책은 적절한 선택일 수 있다. 기본적인 프로그래밍 원리를 JavaScript로 설명하면서, jQuery를 위한 JavaScript 만을 다루기 때문에 이해하기도 쉽고, 다른 JavaScript 기본서들 보다 수월하게 진행할 수 있을 것이다.
이 책의 1/5이 JavaScript 라면 나머지 4/5는 jQuery 내용이다. 각종 애니메이션, 효과 등에 대한 예제와 실습이 실려있어서 연습하기에는 정말 좋은 책이다. 참고로 이 많은 jQuery 함수들을 외울 필요는 없다. 단지 이 책을 통해 이러이러한 함수들이 존재하는구나를 기억하고, 어떻게 사용하는지는 필요할 때마다 찾아보면 된다.

복잡한 자바스크립트 보다는 jQuery를 공부하고 싶은 분께 추천하는 책이다.
단, 다른 책들 중에 이 책보다 더 좋은 jQuery 책이 있을지도 모르니 jQuery를 목적으로 하신다면, 다른 책도 알아보는게 좋을 것 같다.



기본 이상 ( 중급서<?> )


JavaScript Web Application
현재 보고 있는 책이다. 난이도가 있는 책이다. 기본적인 자바스크립트 문법과 디자인 패턴을 알고 보면 굉장히 좋은 책이다. 요즘 등장하는 각종 자바스크립트 프레임워크들의 근간이 되는 MVC에 대한 내용을 상세히 다루고 있으며, 잠깐 다루지만 테스팅과 의존성 관리 부분도 다룬다.
자바스크립트의 문법을 익히고 나서 이 언어를 가지고 무엇을 할 수 있는지 궁금할 때 보면 좋은 책이다. 이 책을 공부하고 나서 유명한 Todo MVC 코드를 이해하고 직접 만들어보는 프로젝트를 하면 더없이 좋을 것 같다.

자바스크립트를 어느 정도 공부했다고 생각하면 도전해볼만한 책이다.






프론트엔드 개발자를 위한 자바스크립트
(이 책에 대해서 듣기만 했고, 실제로 이 책을 사용하여 학습을 한 경험은 없습니다.)
노란책이라고 불리는 책. 자바스크립트의 동작 원리보다는 실전서에 초점이 맞춰져 있는 책이다. 일단 굉장히 두껍다.
프론트엔드 개발에 있어서 필독서(?)라고 불린다.
=> (저도 곧 학습할 예정인 도서입니다.)




자바스크립트 완벽가이드
(이 책에 대해서 듣기만 했고, 실제로 이 책을 사용하여 학습을 한 경험은 없습니다.)
코뿔소 책이라고 불리는 책 위의 노란 책과는 달리 자바스크립트라는 언어에 집중되어 있다. 굉장히 두껍다.
책이 일단 두꺼우면, 끝까지 공부하기 힘들다. 라는 개인적인 도서 선정 기준에서 벗어나, 이 책을 볼 계획은 없다.
하지만 많은 선배 개발자 분들께서 추천하신 책이다.
=> (학습할 예정은 아니지만 많이 추천하는 도서입니다.)




자바스크립트 닌자 비급
(이 책에 대해서 듣기만 했고, 실제로 이 책을 사용하여 학습을 한 경험은 없습니다.)
이 책도 볼 예정인 책이다. 자바스크립트에 대한 심층적인 이해를 할 수 있고, 테스트, 성능 관련된 이슈도 고민해볼 수 있는 책이라고 한다.
=> (저도 곧 학습할 예정인 도서입니다.)



+ 직접 보진 않았지만 많은 분이 추천하신 책

초급
자바스크립트를 말하다 ( Speaking JavaScript )
Head First JavaScript Programming (@Jin Young Choi, from 자바스크립트 제대로 배우기 스터디 그룹)

중급
뷰티플 자바스크립트
자바스크립트 성능 최적화
네트워크 웹 성능 최적화
You Don’t know JS 시리즈
함수형 자바스크립트 ( Functional JavaScript )

# Update
속깊은 자바스크립트http://www.yes24.com/24/Goods/33262509?Acode=101 )
ES6(ECMAScript 2015)문법을 다루고 있어서 관심이 생긴 책입니다. 아직 책 내용은 보지 못했고 목차만 봤지만, ES6를 제대로 다룬 첫 책이 아닐까 싶습니다. JavaScript 개발자에게 있어서 ES6는 선택이 아닌 필수라고 생각합니다. 그런 의미에서 그만큼 의미있는 책이라고 생각합니다. 또한 이 책에서는 JavaScript 로 개발하는 각종 프레임워크에 대한 간단한 소개가 나와있습니다. 프레임워크가 어떻게 작동하는지 간단하게 알아볼 수 있는 입문이 될 거라 생각하네요~

자바스크립트 패턴 ( http://www.yes24.com/24/Goods/33211518?Acode=101 )
목차만 보면 중급서에 가까운 책이며 자바스크립트의 고급적인 문법들을 다루고 있습니다. 거기다가 TDD까지 함께 다룬 책이니 중급서로서 충분한 가치가 있다고 생각합니다. 물론 이 책도 보지 못했고 목차만 확인했습니다.

페이스북 그룹 JSLounge 에 올라온 자바스크립트 추천 도서 목록입니다.


도움이 되셨으면 좋겠습니다.
감사합니다.


#update 16.12.08
프론트엔드 개발을 꾸준히 하면서 계속 업데이트 될 예정입니다.