Node.js는 웹 애플리케이션 개발의 필수로 자리 잡고 있다. 자바스크립트 기반으로 프런트엔드와 백엔드를 같은 언어로 개발할 수 있는 것이 장점이다. 이 책은 애플리케이션 개발의 프런트엔드부터 백엔드까지 경험할 수 있도록 구성했다. Node.js뿐만 아니라 자바스크립트 문법, 익스프레스를 활용한 웹앱, CLI 도구 개발, npm을 이용한 라이브러리 관리, 리액트와 익스프레스로 프런트엔드/백엔드 개발 및 운영까지 사실상 최신 프런트엔드, 백엔드 전반을 개괄적으로 살펴본다. 실무 경험과 노하우도 함께 실어 ‘왜’ 그렇게 구현해야 하는지를 배우며 개발자로서의 경험치를 넓힐 수 있다.
Contents
1. 처음 만나는 Node.js
_1.1 언어로서의 Node.js 특징
_1.2 프런트엔드/백엔드 모두에 필요하게 된 Node.js
2. 자바스크립트/Node.js의 문법
_2.1 개발 환경 도입
_2.2 자바스크립트 기초
_2.3 자바스크립트와 상속
_2.4 자바스크립트와 this
_2.5 ES6 이후의 중요한 문법
3. Node.js와 모듈
_3.1 CommonJS 모듈
_3.2 ECMAScript 모듈
_3.3 모듈 사용 구분
_3.4 표준 모듈
_3.5 npm과 외부 모듈 불러오기
_5.1 Node.js의 개발 흐름
_5.2 인수 처리
_5.3 라이브러리 도입 및 CLI에서의 적용
_5.4 Node.js의 린트
_5.5 Node.js의 테스트
6. 익스프레스를 이용한 REST API 서버/웹 서버
_6.1 익스프레스 기초와 도입
_6.2 익스프레스의 필수 기능
_6.3 포괄적인 에러 핸들링
_6.4 데이터베이스 연동
_6.5 뷰 템플릿
_6.6 정적 파일 송신
_6.7 라우팅과 파일 분할에 대한 사고방식
_6.8 스타일 분할 실전
_6.9 핸들러 테스트
_6.10 AsyncIterator 테스트
_6.11 실패 시의 테스트
_6.12 핸들러 단위의 분할과 테스트 용이성
_6.13 Node.js 애플리케이션 배포
_6.14 Node.js와 도커
_6.15 클러스터를 이용한 성능 향상
7. 프런트엔드/백엔드 개발
_7.1 프런트엔드와 백엔드를 모아서 개발하기
_7.2 단일 저장소
_7.3 애플리케이션 구성
_7.4 프런트엔드 개발의 사고방식
_7.5 리액트의 기본 기능
_7.6 브라우저 이벤트 처리
_7.7 컴포넌트 분할
_7.8 API로 가져온 값을 표시하기
_7.9 API를 호출해 값을 업데이트하기
_7.10 클라이언트 사이드 라우팅
_7.11 프런트엔드 애플리케이션 배포
_7.12 프런트엔드 테스트
8. 애플리케이션 운용과 개선
_8.1 패키지 버전 업데이트
_8.2 단일 저장소에서 공통 라이브러리를 관리하기
_8.3 애플리케이션 실제 운용 시의 주의점
_8.4 성능 측정과 튜닝
Author
이토 고타,김모세
2013년 야후 주식회사에 입사하여 정보시스템과 플랫폼 분야에서 기획·개발·운영 업무를 맡았다. 또한 야후 내부의 스페셜리스트 인증 제도인 블랙벨트(黑帶, 웹 프런트엔드 분야)를 취득했으며, 사내 조직에서 기술 및 개발 지원, OSS에 대한 피드백 등에 참여했다. 2022년부터 RPG테크 유한책임회사에 참여하여 스타트업 및 신규 사업 개발, 어드바이저 업무 등을 담당하고 있다. 지은 책으로 『動かして學ぶ!Slackアプリ開發入門(움직이며 배운다! 슬랙 애플리케이션 개발 입문)』이 있으며 웹 미디어나 잡지에도 글을 쓴다.
2013년 야후 주식회사에 입사하여 정보시스템과 플랫폼 분야에서 기획·개발·운영 업무를 맡았다. 또한 야후 내부의 스페셜리스트 인증 제도인 블랙벨트(黑帶, 웹 프런트엔드 분야)를 취득했으며, 사내 조직에서 기술 및 개발 지원, OSS에 대한 피드백 등에 참여했다. 2022년부터 RPG테크 유한책임회사에 참여하여 스타트업 및 신규 사업 개발, 어드바이저 업무 등을 담당하고 있다. 지은 책으로 『動かして學ぶ!Slackアプリ開發入門(움직이며 배운다! 슬랙 애플리케이션 개발 입문)』이 있으며 웹 미디어나 잡지에도 글을 쓴다.