모든 JavaScript 개발자가 읽어야 할 12 권의 책

참고 : 임의의 웹 개발자 도서 모음.

저는 JavaScript 책을 좋아합니다. 저는 JavaScript를 오랫동안 배우면서 시장에서 많이 사용되는 JavaScript 책을 많이 읽게되어 기뻤습니다. 요즘에는 초보자를 대상으로 한 책을 건너 뛰는 경향이 있지만 경험이 거의없는 JavaScript 개발자를위한 많은 책을 계속 읽습니다.

이것은 JavaScript 서적에게는 이상한 시간입니다. 우리는 ES6에서 JavaScript 언어에 대한 주요 업데이트를 받았기 때문에 오늘날의 JavaScript 구문과 스타일은 대부분의 책에서 설명하는 ES3-ES5 스타일 JavaScript와는 상당히 다르지만 ES6은 실제로 ES5의 상위 집합이므로 대부분 오래된 책들 중 여전히 적용 할 수있는 학습의 덩어리가 있습니다.

다시 말해, 오래된 책은 더 이상 사용되지 않으며 단지 2 년 전만 공개 된 책까지 나이를 조금만 보여주는 것입니다. 60 년대부터 여전히 속어를 사용하는 노인과 이야기하는 것 같습니다. JavaScript를 처음 사용하는 경우 인수에 배열 메소드를 사용하는 것만으로도 사용했던 오래된 타이머를 모두 발견하는 것이 재미있을 수 있습니다. JS 역사 수업을 즐기십시오.

JavaScript 커뮤니티의 일부 저자는 ES6를 가르치기위한 책을 썼습니다. 기본 JavaScript에 대해 잘 알고 있으면 읽어보십시오. ES6을 아직 모른다면“ES6를 배우는 방법”을 읽으십시오.

결국, 모든 새로운 JS 서적 저자는 ES6를 당연한 것으로 받아 들인 다음 JS 서적 세계는 정상으로 돌아올 것입니다. 추천 사항을 대략 학습 순서대로 나열하겠습니다.

저의 다른 책 게시물과 마찬가지로 Amazon 링크는 제휴사 링크이며, 지출 한 돈의 일부는 JSHomes와 노숙자와 싸우는 데 사용됩니다.

충분한 이야기. 책을 가져와!

  1. Nick Morgan의“어린이를위한 자바 스크립트 : 프로그래밍에 대한 재미있는 소개”

제목과 마찬가지로이 책은 매우 기본적인 프로그래밍 개념에 대한 기발한 탐구이지만 속지 마십시오. 아이들을위한 책은 아이들을위한 것이 아닙니다. 이전에 코드를 다뤄 본 적이 없다면, 어른이 되더라도 시작하기에 좋은 곳입니다. 수영하는 법을 배우기 전에 깊은 곳에서 다이빙하는 것은 실망스러운 경험이 될 수 있습니다. 쉬운 승리로 연습을 시작하는 것이 좋습니다.

2. Eric Elliott의“구성 소프트웨어”(면책 ​​조항 : 저에게 있습니다)는 JavaScript의 기능적 프로그래밍 및 객체 구성에 대한 탐구입니다. 모든 소프트웨어 디자인은 구성입니다. 복잡한 문제를 더 작은 문제로 나누고 이러한 솔루션을 구성하는 행위입니다. 대부분의 개발자는 구성 기술에 대한 이해가 제한적입니다. 그 때가 바뀌어야 할 때입니다.

"Composing Software"에서 Eric Elliott는 함수 구성과 객체 구성을 포함하여 구성의 기본을 공유하고 JavaScript와 관련하여 탐구합니다. 이 책은 함수형 프로그래밍과 객체 지향 프로그래밍의 기초를 모두 다루며 독자가 간단한 빌딩 블록을 사용하여 복잡한 응용 프로그램을 구축하고 구성하는 방법을 더 잘 이해하도록 도와줍니다.

3. Marijn Haverbeke의“Eloquent JavaScript : 현대적인 프로그래밍 소개”

이 책은 예술 작품입니다. 명확한 언어를 사용하는 명확한 로드맵으로 필수 개념을 안내합니다. 이 책은 훌륭하게 작성되고 편집되었으며 대부분의 프로그래밍 서적과 달리 연습 할 수있는 연습으로 가득합니다. 고등학교 나 대학교에서 프로그래밍의 기초를 가르치고 있다면 이것을 교과서로 사용할 것입니다.

Douglas Crockford의“자바 스크립트 : 좋은 부분”

지금은 어리석은 것처럼 보이지만이 책이 쓰여졌을 때 JavaScript는 여전히 어린 언어로 브라우저에서 작은 스크립트 언어로 시작되었습니다. 당시에는 심각한 응용 프로그램 개발자가 브라우저를 탐색하기 시작했습니다.

2004 년 이전에는 실제 응용 프로그램이 브라우저에서 실행되는 경우가 거의 없었습니다. 브라우저는 거의 대화 형이 아닙니다. 서버로 데이터를 전송하려면 페이지를 새로 고침해야했지만 이야기 할 가치가있는 스토리지 용량이 없었습니다. JavaScript는 주로 마우스로 가리 키기 상태와 같은 사소한 사용자 인터페이스 효과를 만드는 데 사용되었습니다.

JavaScript는 C / C ++, C # 및 Java와 같은 컴파일 된 언어로 코드를 작성한“실제 프로그래머”의 많은 농담의 대상이었습니다. 브라우저에 대한 실제 프로그래밍을 원한다면 플래시를 사용했습니다.

그 당시에는 JavaScript를 조롱하기가 쉬웠고 모두가 그렇게하는 것처럼 보였지만 Douglas Crockford는 Brendan Eich가 프로그래밍 언어에 의해 진정으로 인식되기 시작한 언어에 약간의 너겟을 숨 겼음을 인식했습니다. 이 책은 이러한 기능의 기본 사항을 살펴보고, 특별하고 멋진 JavaScript가 실제로 얼마나 유용한 지에 대한 새로운 이해를 줄 수 있습니다.

5. Eric Elliott의“JavaScript 응용 프로그램 프로그래밍 : 노드, HTML5 및 Moderns JS 라이브러리를 사용한 강력한 웹 아키텍처”

JavaScript 개발자를 고용하여 응용 프로그램을 구축하기 시작했을 때 JavaScript를 사용하여 강력한 응용 프로그램 아키텍처를 구축하는 방법을 이해 한 사람은 거의 없었습니다. 그런 점을 염두에두고 JavaScript 모범 사례를 다루고 프로토 타입, 객체 구성 및 기능 프로그래밍의 기본 개념을 소개하는 책을 작성하기로 결정했습니다 (일반적인 JavaScript 응용 프로그램을 작성하고 유지 관리하는 방법을 이해하기에는 충분 함) 그런 다음 이러한 개념을 적용하여 응용 프로그램 비즈니스 도메인에 관계없이 대부분의 응용 프로그램에서 발생하는 일반적인 문제를 해결합니다.

많은 책이“JavaScript를 어떻게 사용합니까?”라는 질문에 대답하고 싶습니다.“JavaScript를 사용하여 실제 응용 프로그램을 작성하려면 어떻게해야합니까?”라는 질문에 대답하고 싶었습니다.

책을 발표한지 2 년 만에 기술이 크게 바뀌었지만 필자는 솔직한 의견으로 (저자가 할 수있는 객관적으로) 오늘날 시장에서 JavaScript 앱 아키텍처에 대한 최고의 개요입니다. JavaScript에 대한 이해를 높이는 것 외에도 노드 기본 사항, RESTful API, 인증 및 권한 부여, 기능 토글 시스템, 로깅 등에 대해 배우게됩니다.

6. David Herman의“유효한 JavaScript : JavaScript의 힘을 활용하는 68 가지 구체적인 방법”

JavaScript에 대한 기본적인 노출을 마친 후에는 "Effective JavaScript"를 통해 언어를보다 심층적으로 둘러 볼 수 있으며, 숙련 된 마스터 프로그래머가 가르치는 교훈을 예로 들어 설명합니다.

부동 소수점 숫자 정밀도 (JavaScript에는 하나의 숫자 유형 만 있고 부동 소수점 유형이기 때문에)에서 강압 유형 및 세미콜론 삽입의 가능성에 이르기까지 JavaScript의 몇 가지 단점을 즉시 소개합니다. 이 책의 나머지 부분은 기능, 객체, 배열, 라이브러리 및 API 디자인 및 동시성 작업에 대한 모범 사례를 탐색하면서 동일한 스타일로 계속 유지됩니다. 기술 수준에 관계없이 새로운 것을 배우겠다고 약속합니다.

7. David Flanagan의“자바 스크립트 : 결정적인 안내서”

Definitive Guide는 웹 애플리케이션 구축에 관심이있는 사람의 관점에서 JavaScript 및 웹 플랫폼 API 기능에 대한 심층적 인 탐구입니다. 이전 버전의 IE에 대한 경고와 함께 많은 언어 기능에 대한 철저한 개요입니다.이 시점에서 안전하게 무시할 수 있습니다. 이 책은 6 권의 판이 있으며 앞으로 더 많은 판이 있기를 바랍니다. 나는 이전 버전을 소유했으며 새로운 버전이 출시 될 때 항상 새로운 것을 배웁니다.

8. Kyle Simpson의“당신은 JS를 모른다”

이 책은 실제로 일련의 책입니다. 모든 책은 스타일과 범위가 비슷하고 일부는 다른 책보다 크며 아주 좋습니다.

나는 오랫동안 JavaScript로 프로그래밍 해왔다. JavaScript 사양의 여러 버전을 연구하고 사양의 새로운 버전 개발을 면밀히 따랐지만 Kyle의 작은 구석 구석과 탐험가는 아직 발견하거나 탐험하지 못한 많은 비트를 발견했습니다. .

“The Definitive Guide”가 심해 잠수라고 생각했다면 스쿠버 장비를 꺼내 심해 잠수 할 수있는 바다 탐험가를 준비하십시오. 지금까지 인간이 본 적이없는 JavaScript 종을 보려고합니다 (물론이 시리즈가 작성되기 전에).

이 시리즈에서 찾을 수없는 것은 소프트웨어 아키텍처, 깊은 프로그래머의 지혜 또는 다양한 언어에 쉽게 적용되는 풍부한 소프트웨어 디자인 원칙에 대한 이야기입니다. 그러나 그것은 당신이 JavaScript에 대한 새로운 인식과 더 깊은 이해를 얻는 데 확실히 도움이 될 것입니다. 언어 기능에 대한 심층 다이빙에 대한 Kyle의 유일한 초점은 TC39 팀조차도 무언가를 배울 수 있다고 생각하는 희귀 한 보물입니다.

9. Reginald Braithwaite의“JavaScript Allongé : The Six Edition”

본질적으로 JavaScript Allongé는 함수에 대한 사고에 관한 책입니다. 소형의 분리 된 장치에서 유연한 소프트웨어 구축.

즉, 그것은 지나치게 규범 적이거나 의견을 제시하려고하지 않습니다. 소개에서 빌리려면 :

"JavaScript Allongé는 광범위한 소프트웨어 개발 컨텍스트에서 JavaScript 모범 사례 문제를 해결하려고 시도하지 않습니다. JavaScript Allongé는 실습에 관한 책이 아니라 사고에 관한 책이기 때문입니다."

책을 읽으면서 저자가 약속을 지킨다는 것을 알게 될 것입니다. 이것은 여러분이 읽은 첫 번째 JavaScript 책이 아니어야합니다. 레지날드는 부분 적용 및 커리 함수 표현을 보여준 후 IIFE 및 클로저와 같은 중간 함수 범위 주제를 통해 느리게 구축함으로써`const`와 같은 간단한 개념을 소개합니다.

대부분의 입문 JavaScript 책은 현명하게 시작하여 값과`var`,`let` 또는`const`를 사용하여 바인딩으로 해당 값을 나타내는 방법에 대해 이야기합니다. 레지날드는 정당한 이유로 비트를 뒤집습니다. 뇌를 춤추게됩니다. 이 책은 기능에 대해 다르게 깊이 생각하도록 도와 주려고 노력하고 있습니다.

기능 및 객체 지향 프로그래밍 기술을 결합하여 JavaScript 애플리케이션을 빌드하는 방법을 탐색 할 준비가되면 JavaScript에 익숙한 후에 읽어야합니다.

10. Mike Cantelon, Marc Harter, TJ Holowaychuk 및 Nathan Rajlich의“Node.js in Action”

“Node.js in Action”은 HTTP / HTTPS, Connect / Express 미들웨어, Socket.IO를 통한 실시간 메시징, 데이터베이스 사용 등과 같은 필수 주제를 다루는 기본 Node 애플리케이션 개발에 대한 훌륭한 소개입니다. Node를 처음 사용하는 경우 시작하기에 좋은 곳입니다.

11. Ilya Grigorik의“고성능 브라우저 네트워킹”

뛰어난 애플리케이션 성능의 중요성을 과장하기는 어렵습니다. 페이지로드 시간을 밀리 초 단위로 줄이고 UI k 크를 줄이면 뛰어난 사용자 인터페이스 디자인 점검으로 필적 할만한 투자 수익을 제공합니다.

이 책은 HTTP2, 데이터 스트리밍, WebSockets, WebRTC, DataChannel 등과 같은 효과적인 성능 고려 사항을 다룹니다.

즉,이 책은 성능 프로파일을 최적화하여보다 성공적인 응용 프로그램을 빌드하기위한 결정적인 안내서입니다.

12. Boris Smus의“Web Audio API”

모든 진정한 JavaScript Rock Star에는이 책이 필요합니다. 결국, 기타를 웹 브라우저에 꽂기 전까지는 진정한 JS 록 스타가 아닙니다. 나는 이것이“모든 JavaScript 개발자가 읽어야 할 책”이라고 말했지만, 이것은 소리와 음악을 좋아하는 JavaScript 개발자만을위한 것입니다. 대부분의 JavaScript 개발자는이 API를 전혀 배우지 않아도 될 수 있으며 전혀 아프지 않을 것입니다.하지만 지루합니다.

이 책은 주로 음악과 오디오 공학을 좋아하기 때문에 내 목록에 있습니다. 웹 오디오 API는 실제로 웹 플랫폼 표준을 사용하여 사운드를 생성하고 조작하기위한 관련 API 시스템입니다. 브라우저 및 노드에서 사용할 수 있습니다.

웹 오디오 API를 사용하려면 그래프에서 노드를 조작하십시오. 일반적으로, 나는 당신에게 편리한 참고 문헌을 참조하지만 오디오 엔지니어가 아니라면 약간 압도적 인 느낌이들 수 있습니다. 이 책은 다양한 유형의 오디오 노드를 안내하고 함께 구성하고 타이밍 API를 사용하여 사운드를 정확하게 예약하고 시간에 따라 매개 변수를 조작하며 오디오 효과를 적용하고 오디오 시각화를 작성하는 방법을 알려줍니다.

다시 말해, 그것은 정말 많은 재미입니다.

EricElliottJS.com에서 무료 레슨을 시작하십시오

Eric Elliott는 "Composing Software"및 "JavaScript Applications 프로그래밍"책의 저자입니다. EricElliottJS.com과 DevAnywhere.io의 공동 창립자로서 개발자에게 필수 소프트웨어 개발 기술을 가르칩니다. 그는 암호화 프로젝트를위한 개발 팀을 구성하고 조언하며 Adobe Systems, Zumba Fitness, The Wall StreetJournal, ESPN, BBC 및 Usher, Frank Ocean, Metallica 등을 포함한 최고의 레코딩 아티스트를위한 소프트웨어 경험에 기여했습니다.

그는 세상에서 가장 아름다운 여성과 함께 외진 생활을 즐깁니다.