웹사이트 구축을 위한 서버 사이드 자바스크립트의 모든 것
동적 웹 앱을 구축하는 자바스크립트 개발 스택의 핵심은 노드와 익스프레스다. 이 책은 노드와 익스프레스 기반으로 REST API를 갖춘 웹사이트를 구축해나가면서, 동적 웹 앱 구축에 필요한 서버 사이드 기법들을 살펴본다. 빠르고 효율적인 웹 개발에 필요한 다양한 노드 패키지와 익스프레스 미들웨어의 설치 및 사용법을 배우고, 나아가 몽고DB와의 연결, 보안, 소셜 및 지도 서비스와의 통합, 디버그 및 유지보수까지 웹사이트 구축에 필요한 모든 서버 사이드 기술을 익힐 수 있다. 모던 웹 개발을 바라보는 새로운 안목을 얻을 수 있는 책. (Node 4, Express 4 테스트 완료)
모던 웹 개발을 위한 새로운 인사이트를 제시하는 안내서
노드는 모던 웹사이트를 구축하기 위한 자바스크립트 개발 스택의 핵심이다. 특히 익스프레스를 비롯해 노드 생태계의 다양한 프레임워크, 라이브러리, 도구를 활용하면 좋은 코드를 짜고 개발 속도를 높여 더 나은 애플리케이션을 시장에 내놓을 수 있다.
이 책은 실제로 REST API를 갖춘 간단한 웹사이트를 만들어나가면서 노드와 익스프레스로 동적 웹 앱을 구축하는 데 필요한 기법들을 살펴본다. 책 전체에 걸쳐 익스프레스, 핸들바 및 각종 parser, 그런트, 모카, Chai, 좀비, 모건, 패스포트, 노드 인스펙터 등 웹 개발, 테스트, 디버그에 필요한 다양한 노드 패키지(익스프레스 미들웨어)의 설치 및 사용법을 예제와 함께 설명한다. 나아가 몽고DB와의 연결, 보안, 트위터, 페이스북, 구글 지도 등 서드파티 서비스와의 통합, 마이크로소프트 애저를 통한 깃 기반 배포, 사이트 오픈 후 유지보수 지침까지, 웹사이트 구축에 필요한 방대한 범위의 서버 사이드 기술을 살펴본다.
본 번역서는 Node 4.0과 Express 4.4에서 테스트를 완료했으며, 본문의 예제를 확장한 한국어판 부록을 제공한다. 격변하는 웹사이트 개발 환경에 익숙해져야 하는 모든 개발자에게 권한다.
예제 소스(깃허브) http://git.io/vZl8p
CHAPTER 1 익스프레스 소개
1.1. 자바스크립트의 혁명
1.2. 익스프레스 소개
1.3. 익스프레스의 간단한 역사
1.4. 익스프레스 4.0으로 업그레이드
1.5. 노드: 새로운 타입의 웹 서버
1.6. 노드 생태계
1.7. 라이선스
CHAPTER 2 노드 시작하기
2.1. 노드 설치
2.2. 터미널 사용
2.3. 에디터
2.4. npm
2.5. 노드로 만드는 단순한 웹 서버
2.6. 익스프레스로 출발
CHAPTER 3 익스프레스로 시간 절약
3.1. 스캐폴딩
3.2. 메도라크 여행사 웹사이트
3.3. 초기 단계
3.4. 마치며
CHAPTER 4 모양새 갖추기
4.1. 모범 사례
4.2. 버전 관리
4.3. 이 책에서 깃을 활용하는 법
4.4. npm 패키지
4.5. 프로젝트 메타데이터
4.6. 노드 모듈
CHAPTER 5 품질보증
5.1. QA에 가치가 있나?
5.2. 논리 vs 표현
5.3. 테스트 타입
5.4. QA 테크닉 개관
5.5. 서버 운영
5.6. 페이지 테스트
5.7. 교차 페이지 테스트
5.8. 논리 테스트
5.9. 린트
5.10. 링크 체크
5.11. 그런트를 통한 자동화
5.12. 지속적 통합(CI)
CHAPTER 6 요청과 응답 객체
6.1. URL의 각 부분
6.2. HTTP 요청 규칙
6.3. 요청 헤더
6.4. 응답 헤더
6.5. 인터넷 미디어 타입
6.6. 요청 본문
6.7. 매개변수
6.8. 요청 객체
6.9. 응답 객체
6.10. 더 많은 정보 얻기
6.11. 핵심 기능
CHAPTER 7 핸들바를 사용한 템플릿
7.1. 절대 규칙은 이것 하나뿐
7.2. 템플릿 엔진 선택
7.3. 다른 접근법: 제이드
7.4. 핸들바 기초
7.5. 마치며
CHAPTER 8 폼 처리
8.1. 클라이언트 데이터를 서버로 보내기
8.2. HTML 폼
8.3. 인코딩
8.4. 폼을 처리하는 다른 방법
8.5. 익스프레스를 이용한 폼 처리
8.6. AJAX 폼 처리
8.7. 파일 업로드
8.8. 제이쿼리 파일 업로드
CHAPTER 9 쿠키와 세션
9.1. 인증 위임
9.2. 쿠키와 익스프레스
9.3. 쿠키 살펴보기
9.4. 세션
9.5. 세션을 이용한 플래시 메시지 구현
9.6. 세션을 써야 할 곳
CHAPTER 10 미들웨어
10.1. 공통 미들웨어
10.2. 타사 미들웨어
CHAPTER 11 이메일 보내기
11.1. SMTP, MSA, MTA
11.2. 이메일 받기
11.3. 이메일 헤더
11.4. 이메일 형식
11.5. HTML 이메일
11.6. 노드메일러
11.7. 대량 이메일에 더 적합한 옵션
11.8. HTML 이메일 보내기
11.9. 이메일을 사이트 모니터링 도구로 사용
CHAPTER 12 실무 관심사
12.1. 실행 환경
12.2. 환경별 설정
12.3. 웹사이트 확장
12.4. 웹사이트 모니터링
12.5. 스트레스 테스트
CHAPTER 13 지속성
13.1. 파일시스템 지속성
13.2. 클라우드 지속성
13.3. 데이터베이스 지속성
CHAPTER 14 라우팅
14.1. 라우트와 SEO
14.2. 서브도메인
14.3. 라우트 핸들러는 미들웨어입니다
14.4. 라우트 경로와 정규 표현식
14.5. 라우트 매개변수
14.6. 라우트 정리
14.7. 모듈에서 라우트 선언
14.8. 핸들러를 논리적 그룹으로 묶기
14.9. 자동으로 뷰 렌더링
14.10. 라우트를 정리하는 다른 방법
CHAPTER 15 REST API와 JSON
15.1. JSON과 XML
15.2. API
15.3. API 에러 보고
15.4. 크로스 소스 자원 공유(CORS)
15.5. 데이터 저장
15.6. 테스트
15.7. 익스프레스를 이용한 API 제공
15.8. REST 플러그인 사용
15.9. 서브도메인 사용
CHAPTER 16 정적 콘텐츠
16.1. 성능에 관한 고려 사항
16.2. 미래에도 안전한 웹사이트
16.3. 서버 자바스크립트 속의 정적 자원
16.4. 클라이언트 자바스크립트 속의 정적 자원
16.5. 정적 자원 전송
16.6. 정적 콘텐츠
16.7. 번들링과 최소화
16.8. 타사 라이브러리에 관한 노트
16.9. QA
16.10. 마치며
CHAPTER 17 익스프레스에서 MVC 구현
17.1. 모델
17.2. 뷰 모델
17.3. 컨트롤러
17.4. 마치며
CHAPTER 18 보안
18.1. HTTPS
18.2. 크로스 사이트 요청 위조
18.3. 인증
18.4. 마치며
CHAPTER 19 타사 API와의 통합
19.1. 소셜 미디어
19.2. 지오코딩
19.3. 날씨 데이터
19.4. 마치며
CHAPTER 20 디버그
20.1. 디버그의 첫 번째 원칙
20.2. REPL과 콘솔을 활용하십시오
20.3. 노드 내장 디버거
20.4. 노드 인스펙터
20.5. 비동기 함수 디버그
20.6. 익스프레스 디버그
CHAPTER 21 사이트 오픈
21.1. 도메인 등록과 호스팅
21.2. 마치며
CHAPTER 22 유지보수
22.1. 유지보수 원칙
22.2. 코드 재사용과 리팩토링
22.3. 마치며
CHAPTER 23 추가 자원
23.1. 온라인 문서
23.2. 정기 간행물
23.3. 스택 오버플로
23.4. 익스프레스에 기여하기
23.5. 마치며
한국어판 부록
자료명 | 등록일 | 다운로드 |
---|---|---|
![]() |
2020-06-17 | 다운로드 |