2011년 7월 31일 추가. 이 글이 본 블로그에서 가장 많이 방문되는 글이라는 사실에 충격받아 글을 갈아엎고 싶은 마음이 굴뚝같지만 밑천도 시간도 부족해 간단한 업데이트로 대신하려 한다.

부족한 밑천은 StackOverflow에 올라온 Best Resources to learn JavaScript의 종결자적 답변으로 때워볼까 한다.  많은 사람이 추천하는  더글라스 크락포드(Douglas Crockford)의 웹사이트와 그의 책 JavaScript: The Good Parts을 참고하자. 다행히번역서가 출간되었으니 참고.

이 글을 쓴게 3년 전인데 그 사이 자바스크립트는 세상에서 가장 오해받는 언어에서 가장 핫한 언어가 되었다. 늘 "이 말랑말랑한 언어로 서버사이드 개발을 하면 재밌겠다"고 생각해왔는데, Node.js, Backbone 등 서버사이드의 다양한 솔루션이 나오고 있다. PhoneGap이나 Titanium 등 하이브리드 모바일 앱 개발에도 자바스크립트는 굉장히 중요한 역할을 한다. 웹브라우저의 속도 개선, HTML5의 저변 확대 등의 영향으로 게임 등 전통적으로 JS의 영역이 아니라 여겨지던 부분에서도 활발한 움직임이 있다. JavaScript Game Engine 목록을 보라.

요즘 쏟아져나오는 .js 라이브러리의 양은 상상 초월이다. http://paperjs.org/, http://popcornjs.org/, http://kolber.github.com/audiojs/, http://processingjs.org/, http://impactjs.com/ ... The World's Most Active Programming Language가 되어버린 자바스크립트의 최신 동향을 제대로 훑는 건 내 능력을 벗어나는 일인 것 같다. 나도 따라가기 버거웁다 ㅠㅠ  여기서 이만 부족하나마 오래된 글의 애프터서비스를 마친다.


(원래 글 쓴 날 : 2008년 8월 15일) 몇 년 사이 자바스크립트가 다시 전성기를 맞고 있군요. 이를 증명하듯 한동안 한빛-O'relly의 '자바스크립트 핵심 가이드'하고 정보문화사-Wrox의 'Professional Javascript'외엔 프로그래머가 볼 만한 책이 없었는데 요즘 좋은 책이 많이 나왔네요.

얼마전 후배 개발자가 자바스크립트 책을 추천해달라고 한걸 계기로, 자바스크립트 학습자료를 정리해보기로 했어요.

우선 제가 최고의 자바스크립트 책으로 치는 '자바스크립트 핵심 가이드'의 원서 최신판, 'JavaScript, The Definitive Guide 5/E'가 번역되어 나왔어요. 한빛에서 나온 3/E의 번역서는 애초에 품절이라 아쉬웠는데 이번에 인사이트가 좋은 일을 했네요^^ 저는 구판만 읽어봤지만, 최신판이니만큼 더욱 좋아졌을거라 생각해요. 팀원이 책을 샀길래 잠깐 훑어봤더니 굉장히 좋아졌네요! 예제 코드도 최신 스타일(?)이고, 레퍼런스 부분이 분책되있는 점도 아주 좋고요. 구판은 버려야겠어요^^
자바스크립트 완벽 가이드 - 전2권 - 10점
데이비드 플래너건 지음, 송인철 외 옮김/인사이트

제가 사랑하는 '헤드 퍼스트Head First' 시리즈에서 JavaScript도 나왔군요! 이 책도 읽어보진 않았습니다만, 헤드퍼스트 시리즈 중에는 실망스러운게 없었어요. 전 헤드퍼스트를 믿어요ㅎ 차근차근 친절하게 배우고픈 초보자는 이 책을 고려해보세요!
Head First JavaScript - 10점
마이클 모리슨 지음, 홍형경 옮김/한빛미디어

이건 번역서 나오기 전에 원서를 후루룩 넘겨본 수준이지만.... 책의 저자가 엄청 유명한 웹사이트인 www.quirksmode.org의 주인장 피터 폴 콕이란 이유만으로 추천이에요. www.quirksmode.org에서 배운게 고마워서라도 그냥 책 한권 사주고 싶다는.. 최근 이슈인 '웹표준'과 관련된 내용이 많이 있고, 자바스크립트 초심자를 위한 책은 아니에요.
PPK 자바스크립트 - 10점
피터 폴 콕 지음, 전정환.정문식 옮김/에이콘출판

경량 데이터 교환형식으로 널리 쓰이는 JSON을 고안한 Douglas crockford의 웹사이트 먼저.
The World's Most Misunderstood Programming Language는 자바스크립트에 대해 이런저런 편견을 가진 분들을 위한 글이에요. 한글로 번역된 것도 있으니 부담갖지 마시고요ㅎ
JSON에 대해서도 곧 알아두셔야 할거에요. Ajax시대를 맞아 서로 다른 플랫폼간의 경량 데이터 통신에 아주 많이 쓰이는 형식이거든요. 그 외에도 자바스크립트 코드 압축기라던가 여러가지 참고할 자료가 많아요.

앞에도 잠깐 언급한 http://www.quirksmode.org/는 정말정말 중요한 곳이에요. 웹브라우저에 내장된 클라이언트-사이드 자바스크립트에 대한 정보는 여기 다 있어요. 여기 있는 글을 다 읽어봐야됩니다ㅎ 특히 이벤트 모델에 대한 부분(http://www.quirksmode.org/js/introevents.html)은 이벤트 모델 (.onclick과 addEventHandler/attachEvent)의 차이, 역사, 브라우저별 특성 등 모든게 정리되어 있어요!

Ajax의 등장으로 자바스크립트계가 활발해지면서 각종 라이브러리가 등장했는데, 가장 유명해진 것이 바로 프로토타입prototype.js가 아닐까 합니다. 이 외에도 jQuery라던가 Dojo toolkit, YUI 등 좋은게 많습니다만 저는 prototype.js를 분석해볼 것을 권해드려요. 일단은 제가 라인단위로 분석해본게 이것 뿐이라^^ 관련서적이 나와있기도 하고요, RoR과 함께 엄청 성장을 해서 사용자층이 많은 것도 장점이고요.
김영보님이 prototype.js를 분석한 서적이 출간되기도 했습니다만 지금은 절판이라 구할 수 없어요. 저는 책도 샀고 저자직강도 들었었는데, 인터넷에서 자료찾는게 익숙한 분이면 절판된 사실에 아쉬워하지 않아도 될거에요. 자세한 구현원리까지 설명되어있진 않아서요. prototype.js와 찰떡궁합인 scriptaculous를 같이 설명한 책이 시중에 나왔으니 참고하시구요. (분석서는 아니고, 활용서들이에요)

당장 prototype.js같은 큰 라이브러리를 분석하기 부담스럽다면, 한 때 인기를 끌었던 이 글을 읽어보세요.
http://www.dustindiaz.com/top-ten-javascript/
유용한 자바스크립트 함수 10개만 꼽아본다면? 이라는 질문으로 시작하는 이 글은 prototype.js와 같은 라이브러리가 유행하기 직전에 쓰여진거라는 점을 감안하고 보면 아주 재미있어요. 많은 개발자들이 생각하는 자바스크립트의 아쉬운 점도 엿볼 수 있고, 여기에 있는 함수중에 prototype.js 안에 구현되어 있는 것들도 많아서 나중에 prototype.js를 분석할 때 도움이 되요.
 
자바스크립트 초보자에겐 Javascript Bootcamp tutorial을 추천하고 싶네요! 짧은 코드가 나오는 여러장의 슬라이드인데, 차례대로 넘기면서 보면 '아하!'할 수 있게 구성됐어요. 필수 추천자료에요.

생각나는대로 막 적어내려봤는데, 생각보다 가진 자료가 별로 없네요^^ 레퍼런스와 다른 분들이 모아둔 자료를 아래 참고에 링크하면서 마치겠습니다. 더 생각이 날때마다 업데이트 하도록 하지요.

참고


신고
  1. Commented by BlogIcon juniac at 2008.08.15 22:46 신고

    오 자바스크립트 완벽 가이드 이거 주문했는데 글이 딱올라옴??

  2. Commented by BlogIcon at 2008.08.19 17:07 신고

    음. 최근에 가장 놀랐던것이.. javascript 가 생각외로 거대한(! 어디까지나 생각외로 ㅋ) 프로그램이란거.. 였는데.. 기회가 닿으면 꼭 봐야겠네요.. 사무실을 뒤져봐야게씸 ㅋㅋ

    • Commented by BlogIcon sh. at 2008.08.19 19:32 신고

      The World's Most Misunderstood Programming Language 라니까! ㅋㅋ
      정운대리가 "자바스크립트 완벽 가이드(5/E) - 전2권"샀길래 훑어봤더니 굉장히 좋은데!! 오렐리책 버리고 이거 구비해야겠어.