[템플릿 언어로 코드 생성의 자동화와 구조화가 간편한]
익스프레스 프레임워크로 하는 노드 웹 앱 프로그래밍
- 원서명Express Web Application Development (ISBN 9781849696548)
- 지은이하게 야파
- 옮긴이조효성
- ISBN : 9788960775145
- 25,000원
- 2014년 01월 23일 펴냄 (절판)
- 페이퍼백 | 284쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
웹 앱을 구현할 때 익스프레스(Express) 프레임워크를 이용하면 구조적이면서 유지 보수를 하는 동안 시간과 노력을 줄일 수 있는 막강한 장점이 있으며, 이 프레임워크의 장점은 제이드와 스타일러스의 사용을 통해 더욱 확대된다. 그 밖에 자칫 복잡하게 쓰는 HTML 폼, 쿠키, 세션 관리는 익스프레스 프레임워크를 통해 간편하게 제어할 수 있다. 한편, 익스프레스 프레임워크를 이용한 기능의 구현은 개발자의 요구사항을 세심히 배려하고 있으며, 제품 출시를 위한 단계와 벤치마킹 테스트까지 고려하는 등 매우 정교한 프레임워크다.
이 책에서 다루는 내용
■ 익스프레스의 핵심 내용과 익스프레스 프레임워크와 앱을 구성하는 요소 이해
■ 익스프레스 앱을 위한 제이드 기반 뷰 생성과 제이드 뷰 렌더링
■ 익스프레스 앱이 사용할 수 있는 라우트 생성과 핸들러 함수
■ 다양한 종류의 서버 응답 제공과 여러 가지 에러 처리 방법
■ HTML 폼, 쿠키와 세션을 이용하여 웹 앱의 기능을 동적으로 개발
■ HTML 템플릿 언어 제이드
■ CSS 전처리기 문법인 스타일러스 언어 문법
■ 익스프레스 앱을 제품 출시 준비 단계로 만들기 위한 사용자 정의 절차와 준비 과정
이 책의 대상 독자
이 책은 웹 앱 개발 혹은 전반적인 기술 내용 습득을 위해 익스프레스에 관심이 있는 모든 사람들을 위한 것이다. 이 서적은 초보자가 처음 시작하기에 적합할 수준인 동시에 익스프레스에 익숙하고 좀 더 많은 내용에 갈증을 느끼는 개발자들에게는 훌륭한 청량음료와 같이 자세히 설명한다.
이 책의 구성
'1장, 익스프레스란 무엇인가'에서는 익스프레스에 대한 초보자가 이해하기 쉬우면서 기술적으로도 명확하게 설명한 서두 부분과 초보 단계를 막 끝낸 후 견고한 제반 지식 배양을 위한 관련 주제를 다룬다.
'2장, 첫 번째 익스프레스 앱 만들기'는 모든 익스프레스 웹 앱의 기초를 형성하는 기본 기능을 포함하는 웹 앱 개발에 대한 실용적인 도입부를 다룬 다.
'3장, 익스프레스 라우트의 이해'를 통해 익스프레스가 사용하는 라우트를 상세히 설명한다.
'4장, 서버가 전송하는 응답'은 익스프레스 앱이 요청에 대해 응답하는 다양한 방법을 설명한다.
'5장, 템플릿 언어 제이드'는 제이드 문법과 프로그래밍 기법을 소개한다.
'6장, CSS 전처리기 스타일러스'는 스타일러스(Stylus) 문법과 프로그래밍 기법을 소개한다.
'7장, 폼, 쿠키와 세션'은 폼 처리 방법, 쿠키와 세션 생성 방법을 다룬다.
'8장, 프로덕션 환경의 익스프레스'는 익스프레스 앱을 제품 출시 단계로 끌어올리는 데 필요한 유용한 분야를 다룬다.
목차
목차
- 1 익스프레스란 무엇인가
- 익스프레스란 무엇인가
- 익스프레스에 관한 이야기
- 익스프레스 설치
- 익스프레스를 구성하는 컴포넌트
- 애플리케이션 객체
- 요청 객체
- 응답 객체
- 익스프레스에서 사용하는 개념
- 비동기 자바스크립트
- 노드 모듈
- 익스프레스 앱은 전부 노드 모듈
- 미들웨어
- 요청 흐름
- HTTP/HTTPS를 위한 노드 API
- 요약
- 익스프레스란 무엇인가
- 2 첫 번째 익스프레스 앱 만들기
- 익스프레스 앱의 시작
- 익스프레스 매니페스트 파일
- 가장 기본적인 익스프레스 앱
- 익스프레스 앱의 시작과 정지
- 앱의 출력 내용 분석
- 뷰 코드를 적용한 익스프레스 앱
- 익스프레스 앱에 있는 공용 폴더
- 익스프레스 앱의 자동 생성
- 미들웨어로 익스프레스 기능 확장하기
- 노드 모듈로 익스프레스 기능 확장하기
- 익스프레스 앱에 전달되는 요청을 기록
- 설정 파일 사용
- 애플리케이션 옵션값의 설정과 획득
- 각 개발 환경에서 동작하는 익스프레스
- 요약
- 익스프레스 앱의 시작
- 3 익스프레스 라우트의 이해
- 라우트란 무엇인가?
- HTTP 요청 함수의 이해
- router 미들웨어 복습
- 라우트 정의
- 라우트 식별자
- 라우트의 우선순위
- 라우트 처리방법
- 라우트 구조화 방법
- 노드 모듈의 사용
- 네임스페이스드 라우팅
- 리소스 요청 라우팅
- 라우팅 방법 선택하기
- 요약
- 라우트란 무엇인가?
- 4 서버가 전송하는 응답
- HTTP 응답에 관한 지침
- HTTP 상태 코드
- 1XX
- 2XX
- 3XX
- 4XX
- 5XX
- HTTP 응답 헤더
- 미디어 타입
- HTTP 상태 코드
- 익스프레스에서 사용하는 HTTP 응답
- HTTP 상태 코드 설정
- HTTP 헤더 설정
- 데이터 전송
- 일반 문자열
- HTML
- JSON
- JSONP
- 정적 파일 전송
- 프로그램 로직을 이용한 파일 전송
- 에러 페이지 제공
- 내용 협상
- 요청 리다이렉트
- 요약
- HTTP 응답에 관한 지침
- 5 템플릿 언어 제이드
- 제이드란 무엇인가
- HTML 태그 생성
- HTML 엘리먼트의 계층구조
- ID 할당
- 클래스 할당
- HTML 속성의 할당
- 문자열 컨텐트 생성
- 필터
- 도큐먼트의 독타입 선언
- 제이드가 지원하는 프로그램 기법
- 변수
- 인터폴레이션
- 제어 형식
- 자바스크립트 형식
- 제이드 형식
- 모듈화
- Includes
- 템플릿 상속
- 믹스인
- 인코딩
- 주석
- 요약
- 6 CSS 전처리기 스타일러스
- 도입
- 익스프레스에서 스타일러스 활성화하기
- 선택자
- 선택자 블록
- 계층구조
- 규칙
- @import
- @media
- @font-face
- @keyframes
- @extend
- @CSS
- 프로그래밍 기법
- 변수
- 리터럴
- 리스트
- 튜플
- 리스트 튜플
- 믹스인
- 함수
- 주석
- 연산자
- 조건문
- if, else if, else
- unless
- 변수
- 내장 함수
- 요약
- 7 폼, 쿠키와 세션
- 데이터를 전송하는 폼의 사용
- GET 전송 처리
- 폼 데이터 읽기
- URL 쿼리의 파라미터 읽기
- 다중 옵션 처리
- POST 전송 핸들링
- POST 데이터 파싱 기능의 활성화
- 폼 데이터 읽기
- 문자열만 있는 폼의 처리
- 파일 업로드
- 파일 업로드에 대한 더 많은 처리
- 표준 함수를 시뮬레이션한 함수로 폼 전송
- GET 전송 처리
- 이름이 붙여진 세그먼트에 저장되는 데이터
- 데이터 읽기
- 데이터 저장을 위한 쿠키 사용
- 쿠키 생성
- 쿠키 읽기
- 쿠키 업데이트
- 세션 쿠키
- 서명있는 쿠키
- 쿠키 삭제
- 데이터를 저장할 수 있는 세션의 사용
- 쿠키 기반 세션
- 세션 스토어 기반 세션
- 메모리스토어
- 레디스스토어
- 몽고스토어
- 세션 변수
- 세션 변수 설정
- 세션 변수 읽기
- 세션 변수 업데이트
- 세션 변수 삭제
- 세션 삭제
- 쿠키 기반 세션의 삭제
- 세션스토어 기반 세션의 삭제
- 요약
- 데이터를 전송하는 폼의 사용
- 8 프로덕션 환경의 익스프레스
- 프로덕션 환경이란 무엇인가?
- 프로덕션 모드에서는 무엇이 변경되는가?
- 프로덕션 환경의 시뮬레이션
- 앱 벤치마킹
- 앱 클러스터 생성
- 민감한 이벤트 처리
- 앱 서버 종료
- 예외적인 에러의 처리
- 예외적인 에러를 처리할 수 있는 try-catch의 적용
- 예외적인 에러를 처리할 수 있는 도메인의 적용
- 예외적인 에러가 발생하는 경우, 프로세스를 종료할 것인가 아니면 유지할 것인가?
- 프로세스 종료 처리
- 가동시간 보장
- Forever
- upstart
- 리버스 프록시
- 신뢰 프록시 옵션
- 요약
- 프로덕션 환경이란 무엇인가?