장바구니 담기 close

장바구니에 상품을 담았습니다.

Angular Development with TypeScript

Angular Development with TypeScript

  • 야코프페인
  • |
  • 루비페이퍼
  • |
  • 2017-06-07 출간
  • |
  • 776페이지
  • |
  • 169 X 233 X 41 mm /1247g
  • |
  • ISBN 9791186710159
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
32,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




최신 Angular 프레임워크를 프로젝트에 도입하고 싶다면!
최신 Angular 프레임워크를 체계적으로 학습하고 싶다면!

Angular 프레임워크의 기본 원리와 고급 사용법까지 깊이 있게 다루며, 실무 프로젝트에 활용할 수 있는 다양한 예제와 함께 설명한다.

1장에서는 개발자들이 많이 사용하는 JavaScript 프레임워크와 라이브러리에 대해 알아보고, Angular 프레임워크의 구조를 전반적으로 살펴본다. 이 책에서 실습 과제로 진행할 온라인 경매 애플리케이션도 소개한다.
2장에서는 간단한 Angular 애플리케이션을 만들어보고, 이어서 Angular 애플리케이션을 구성하는 요소에 대해 알아본다. 애플리케이션을 브라우저에서 실행하기 위해 사용하는 SystemJS 모듈 로더에 대해서도 알아본다. 이 장의 실습에서는 온라인 경매 애플리케이션의 첫 버전을 만들어본다.
3장에서는 Angular의 라우터에 대해 알아본다. 싱글 페이지 애플리케이션은 각 화면을 라우터로 전환하는데, Angular 프레임워크에서는 이 라우터를 어떻게 설정할 수 있는지 알아본다. 라우터를 통해 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달하는 방법도 알아본다. 이 장의 실습에서는 온라인 경매 애플리케이션에 라우터를 적용한다.
4장에서는 의존성 주입 패턴을 알아보고 Angular프레임워크에서 이 패턴을 어떻게 사용할 수 있는지 알아본다. 이 장의 실습에서는 온라인 경매 애플리케이션에 사용된 의존성 주입 패턴을 자세하게 알아본다.
5장에서는 데이터를 바인딩하는 여러가지 방식을 알아보고, 옵저버블을 사용하는 반응형 프로그래밍에 대해서도 알아본다. 이 장의 실습에서는 온라인 경매 애플리케이션에 옵저버블 스트림을 적용한다.
6장에서는 컴포넌트끼리 데이터를 주고 받는 방법을 알아본다. 컴포넌트의 입력 프로퍼티와 출력 프로퍼티에 대해 알아보고, 중개자 디자인 패턴에 대해 알아보며, 컴포넌트의 생명주기에 대해서도 알아본다. 이 장의 실습에서는 온라인 경매 애플리케이션에 별점 기능을 추가한다.
7장에서는 Angular애플리케이션에서 폼을 다루는 방법을 알아본다. 템플릿 기반 폼과 반응형 폼 API에 대한 내용을 소개하고 나면, 폼 유효성 검사에 대해서도 다룬다. 이 장의 실습에서는 검색 컴포넌트의 기능에 이 내용을 적용한다.
8장에서는 Angular 애플리케이션에서 서버에 데이터 요청을 보내는 방법을 알아본다. HTTP 프로토콜과 WebSocket 프로토콜을 사용하며, 이 때 서버는 Node.js와 Express 프레임워크를 사용해서 간단하게 만들어본다. 이 장의 실습에서는 온라인 경매 애플리케이션 서버를 만들고 Angular 애플리케이션이 이 서버와 통신할 수 있도록 수정한다.
9장에서는 유닛 테스트를 다룬다. Jasmine 프레임워크와 Angular 테스트 라이브러리를 알아보고, Angular 애플리케이션의 각 구성요소를 어떻게 테스트할 수 있는지 알아본다. 이 장의 실습에서는 온라인 경매 애플리케이션에 유닛 테스트를 적용한다.
10장에서는 자동화 툴에 대해 다룬다. Webpack을 사용해서 애플리케이션을 번들링하고 최적화하는 방법에 대해 알아보며, Angular CLI를 사용하는 방법도 알아본다. 이 장의 실습은 두 개다. 먼저, 온라인 경매 애플리케이션에 Webpack을 적용해서 운영용으로 빌드하는 방법을 알아본다. 그리고 이 애플리케이션을 Angular CLI로 다시 한 번 만들어보면서 Angular CLI를 활용하는 방법을 알아본다.
부록 A는 ECMAScript 2015(ES6)를 다룬다.
부록 B는 TypeScript 문법을 다룬다.

※ 이 책은 Angluar 4.1.0 버전 기준으로 설명합니다.
※ 이 책의 예제 소스는 역자(한장현)의 깃허브(https://github.com/han41858/Angular-development-with-TypeScript)와 http://www.rubypaper.co.kr 자료실에서 내려받을 수 있으며, 역자의 깃허브 이슈 페이지를 통해 독자와 소통합니다.


목차


Chapter01 Angular 소개
1.1 JavaScript 프레임워크와 라이브러리
1.1.1 종합 프레임워크
1.1.2 경량 프레임워크
1.1.3 라이브러리
1.1.4 Node.js는 무엇인가?
1.2 AngularJS 살펴보기
1.3 Angular 살펴보기
1.3.1 단순해진 코드
1.3.2 성능 향상
1.4 Angular 개발자가 사용하는 툴
1.5 Angular 기능 구현 방식
1.6 온라인 경매 애플리케이션 예제
1.7 정리

Chapter 02 Angular 시작하기
2.1 첫 번째 Angular 애플리케이션
2.1.1 TypeScript로 작성하는 Hellow World
2.1.2 ES5로 작성하는 Hello World
2.1.3 ES6로 작성하는 Hello World
2.1.4 애플리케이션 실행하기
2.2 Angular 애플리케이션의 구성 요소
2.2.1 모듈(Module)
2.2.2 컴포넌트(Component)
2.2.3 디렉티브(Directive)
2.2.4 데이터 바인딩 기초
2.3 SystemJS 모듈 로더
2.3.1 모듈 로더
2.3.2 모듈 로더 vs. [script] 태그
2.3.3 SystemJS 시작하기
2.4 패키지 매니저 선택하기
2.4.1 npm과 jspm 비교
2.4.2 npm vs. yarn
2.4.3 yarn으로 Angular 프로젝트 시작하기
2.5 실습 : 온라인 경매 애플리케이션
2.5.1 프로젝트 설정
2.5.2 첫 페이지 구성하기
2.5.3 온라인 경매 애플리케이션 실행하기
2.6 정리

Chapter 03 라우터로 내비게이션 구현하기
3.1 라우터
3.1.1 위치 정책(Location strategy)
3.1.2 라우터 구성 요소
3.1.3 navigate( ) 함수 사용하기
3.2 라우터로 데이터 전달하기
3.2.1 ActivatedRoute에서 라우팅 인자 추출하기
3.2.2 라우터로 정적 데이터 전달하기
3.3 자식 라우팅
3.4 라우팅 가드(Route Guards)
3.5 라우팅 영역 여러 개 만들기
3.6 모듈 단위로 앱 나누기
3.7 모듈 지연 로딩
3.8 실습 : 내비게이션 추가하기
3.8.1 ProductDetailComponent 만들기
3.8.2 HomeComponent 만들기
3.8.3 ApplicationComponent 정리하기
3.8.4 ProductComponent에 RouterLink 추가하기
3.8.5 루트 모듈에 라우팅 추가하기
3.8.6 애플리케이션 실행하기
3.9 정리

Chapter 04 의존성 주입
4.1 의존성 주입과 제어권 역전
4.1.1 의존성 주입 패턴
4.1.2 제어권 역전 패턴
4.1.3 의존성 주입의 장점
4.2 인젝터와 프로바이더
4.2.1 프로바이더 등록하기
4.3 의존성 주입 예제
4.3.1 상품 서비스 주입하기
4.3.2 HTTP 서비스 주입하기
4.4 프로바이더 변경하기
4.4.1 프로바이더에 useFactory와 useValue 사용하기
4.4.2 불투명 토큰(OpaqueToken) 사용하기
4.5 인젝터의 계층 구조
4.5.1 viewProviders
4.6 실습 : 의존성 주입 패턴 확인하기
4.6.1 라우터 인자를 상품의 ID로 수정하기
4.6.2 ProductDetailComponent 수정하기
4.7 정리

Chapter 05 바인딩, 옵저버블, 파이프
5.1 데이터 바인딩
5.1.1 이벤트 바인딩
5.1.2 프로퍼티 바인딩, 어트리뷰트 바인딩
5.1.3 템플릿 바인딩
5.1.4 양방향 데이터 바인딩
5.2 반응형 프로그래밍과 옵저버블
5.2.1 옵저버와 옵저버블이 무엇인가?
5.2.2 옵저버블 이벤트 스트림
5.2.3 옵저버블 취소하기
5.3 파이프
5.3.1 커스텀 파이프
5.4 실습 : 상품 필터링
5.4.1 프로젝트에 FormModule 추가하기
5.4.2 커스텀 파이프 정의하기
5.4.3 SearchComponent 수정하기
5.4.4 HomeComponent 수정하기
5.4.5 AppModule 수정하기
5.4.6 경매 애플리케이션 실행하기
5.5 정리

Chapter 06 컴포넌트 통신
6.1 컴포넌트끼리 통신하기
6.1.1 입력 프로퍼티와 출력 프로퍼티
6.1.2 중개자 패턴
6.1.3 프로젝션
6.2 컴포넌트 생명주기
6.2.1 ngOnChanges( ) 함수 사용하기
6.3 변화 감지기 동작 원리
6.4 자식 컴포넌트의 API 직접 실행하기
6.5 실습 : 별점 기능 추가하기
6.5.1 StarsComponent 클래스 코드 수정하기
6.5.2 StarsComponent 템플릿 수정하기
6.5.3 ProductDetailComponent 템플릿 수정하기
6.5.4 ProductDetailComponent 클래스 코드 수정하기
6.5.5 AppModule 수정하기
6.6 정리

Chapter 07 폼 처리하기
7.1 HTML 폼
7.1.1 HTML 표준 폼
7.1.2 Angular 폼
7.2 템플릿 기반 폼
7.2.1 템플릿 기반 폼에 사용하는 디렉티브
7.2.2 HTML 폼에 적용하기
7.3 반응형 폼
7.3.1 폼 모델
7.3.2 폼 디렉티브
7.3.3 예제 폼 리팩토링
7.3.4 FormBuilder 사용하기
7.4 폼 유효성 검사
7.4.1 반응형 폼 유효성 검사
7.5 실습 : 검색 폼에 유효성 검사 추가하기
7.5.1 SearchComponent에 카테고리 목록 추가하기
7.5.2 폼 모델 만들기
7.5.3 템플릿 수정하기
7.5.4 onSearch( ) 함수 구현하기
7.5.5 애플리케이션 실행하기
7.6 정리

Chapter08 서버와 데이터 주고받기
8.1 Http 객체
8.2 Node.js와 TypeScript로 웹 서버 만들기
8.2.1 간단한 웹 서버 만들기
8.2.2 JSON 데이터 제공하기
8.2.3 TypeScript로 실시간 변환하고 로드하기
8.2.4 상품 정보를 제공하는 RESTful API 추가하기
8.3 Angular와 Node.js 연동하기
8.3.1 정적 리소스(Static resources) 제공하기
8.3.2 클라이언트 환경 설정
8.3.3 HTTP GET 요청하기
8.3.4 AsyncPipe
8.3.5 서비스에 HTTP 주입하기
8.4 웹소켓 사용하기
8.4.1 Node.js 서버에서 데이터 푸시하기
8.4.2 웹소켓을 옵저버블로 만들기
8.5 실습 : 상품 검색과 입찰 알림 구현하기
8.5.1 HTTP 서버 구현하기
8.5.2 상품 검색 기능 구현하기
8.5.3 웹소켓으로 입찰 알림 보내기
8.6 정리

Chapter09 유닛 테스트
9.1 Jasmine 프레임워크
9.1.1 무엇을 테스트할 것인가
9.1.2 Jasmine 설치하기
9.2 Angular 테스트 라이브러리
9.2.1 서비스 테스트
9.2.2 라우터 테스트
9.2.3 컴포넌트 테스트
9.3 날씨 애플리케이션 테스트
9.3.1 프로젝트 설정
9.3.2 라우터 테스트
9.3.3 서비스 테스트
9.3.4 컴포넌트 테스트
9.4 Karma 테스트 러너 실행하기
9.5 실습 : 유닛 테스트 적용하기
9.5.1 ApplicationComponent 테스트 코드
9.5.2 ProductService 테스트 코드
9.5.3 StarsComponent 테스트 코드
9.5.4 테스트 실행
9.6 정리

Chapter10 번들링, 배포
10.1 Webpack 살펴보기
10.1.1 Webpack 시작하기
10.1.2 Webpack 로더
10.1.3 Webpack 플러그인
10.2 Webpack 기본 설정
10.2.1 yarn build
10.2.2 yarn start
10.3 개발용 설정과 운영용 설정 분리하기
10.3.1 package.json 설정
10.3.2 환경변수 설정
10.3.3 Webpack 설정
10.3.4 Angular 애플리케이션에 Node.js 환경 변수 전달하기
10.3.5 실행하기
10.4 Angular CLI
10.4.1 Angular CLI로 프로젝트 생성하기
10.4.2 Angular CLI 커맨드
10.5 실습 1 : Webpack 적용하기
10.5.1 서버 수정하기
10.5.2 클라이언트 수정하기
10.5.3 Karma 테스트 설정하기
10.5.4 운영용으로 빌드하고 배포하기
10.6 실습 2 : Angular CLI로 리팩토링하기
10.6.1 프로젝트 생성하기
10.6.2 컴포넌트 생성하기
10.6.3 라우터 연결하기
10.6.4 서비스 생성하기
10.6.5 서드 파티 라이브러리 사용하기
10.6.6 테스트 스펙 수정하기
10.6.7 빌드, 배포하기
10.7 정리

appendix A ECMAScript 6
A.1 예제 코드 실행하기
A.2 템플릿 리터럴
A.3 옵션 인자와 인자 기본값
A.4 변수 스코프
A.5 화살표 함수 표현식과 this
A.6 forEach( ), for-in, for-of
A.7 클래스와 상속
A.8 프로미스로 비동기 작업 처리하기
A.9 모듈

appendix B TypeScript
B.1 Angular 애플리케이션은 왜 TypeScript로 작성할까?
B.2 트랜스파일러의 역할
B.3 TypeScript 시작하기
B.3.1 TypeScript 설치하고 실행하기
B.4 JavaScript의 상위 집합
B.5 타입 지정
B.5.1 함수
B.5.2 인자 기본값
B.5.3 옵션 인자
B.5.4 화살표 함수 표현식
B.6 클래스
B.6.1 접근 제한자
B.6.2 메소드
B.6.3 상속
B.7 제네릭(Generics)
B.8 인터페이스(Interfaces)
B.8.1 커스텀 타입으로 사용하기
B.8.2 추상 클래스로 사용하기
B.8.3 실행할 수 있는 인터페이스
B.9 클래스 메타데이터 추가하기, 어노테이션
B.10 타입 정의 파일
B.11 TypeScript & Angular 개발 단계 훑어보기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.