Top

타입스크립트 마스터 2/e [예제로 배우는 타입스크립트]

  • 원서명Mastering TypeScript - Second Edition: Build enterprise-ready, industrial-strength web applications using TypeScript and leading JavaScript frameworks (ISBN 9781786468710)
  • 지은이나단 로젠탈(Nathan Rozentals)
  • 옮긴이김유성
  • ISBN : 9791161751337
  • 40,000원
  • 2018년 03월 28일 펴냄
  • 페이퍼백 | 652쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

타입스크립트는 마이크로소프트에서 대규모 자바스크립트 개발을 위해 만든 언어로, 자바스크립트를 만들어내는 컴파일러다. 자바스크립트를 생성하기 때문에 기존 자바스크립트 라이브러리나 프레임워크를 사용하면서도 강타입을 사용한 객체지향 언어처럼 개발할 수 있다. 이 책은 타입스크립트의 기본 자료형부터 인터페이스나 클래스 같은 객체지향 기능과 데코레이터, 제네릭 같은 고급 기능까지 설명한다. 기존 자바스크립트 라이브러리를 사용하기 위한 선언 파일을 만드는 방법과 유명 라이브러리를 사용하는 데 필요한 선언 파일 사용법을 살펴보고, 앵귤러, 리액트 같은 웹 애플리케이션 프레임워크를 사용하는 다양한 예제를 살펴본다.

이 책에서 다루는 내용

■ 타입스크립트의 핵심과 고급 언어 기능에 대한 이해
■ 선언 파일로 기존 자바스크립트 라이브러리와 외부 프레임워크 통합
■ 제이쿼리, 백본, 앵귤러, 오렐리아, 리액트, 노드, 익스프레스 같은 유명 자바스크립트 프레임워크
■ 자스민, 프로트랙터, 셀레늄으로 만드는 애플리케이션 대규모 테스트 스위트
■ 모듈, AMD 로더, Requre, SystemJs로 애플리케이션 코드 구성
■ 의존성 주입을 비롯한 고급 객체지향 디자인 원칙
■ 오렐리아, 앵귤러, 리액트, 백본의 다양한 MVC 구현 이해와 비교
■ CSS 애니메이션을 포함해 사용자 경험을 향상한 완전한 단일 페이지 애플리케이션 제작

이 책의 대상 독자

타입스크립트를 배우고 싶은 자바스크립트 개발자나 기술을 향상하고 싶은 타입스크립트 경력자를 위한 책이다. 타입스크립트 언어와 컴파일러를 최대한 활용해 언어 구조, 테스트 주도 개발, 객체지향 기법을 기초부터 고급까지 배운다. 이 책은 자바스크립트 애플리케이션에 강타입, 객체지향, 디자인 모범 사례를 어떻게 도입하는지 보여준다.

이 책의 구성

1장, ‘타입스크립트 - 도구와 프레임워크 옵션’에서는 타입스크립트 개발 시작에 앞선 준비 과정을 다룬다. 타입스크립트 언어와 컴파일러를 사용할 때의 장점과 몇몇 유명한 IDE로 완전한 개발 환경을 설정하는 방법을 살펴본다.
2장, ‘타입, 변수, 함수 기법’에서는 기본 타입과 타입 어노테이션에서 시작해 변수, 함수, 고급 언어 기능으로 논의를 옮겨가며 타입스크립트 언어를 소개한다.
3장, ‘인터페이스, 클래스, 상속’에서는 2장에서 작업한 내용을 바탕으로 객체지향 개념과 인터페이스 기능, 클래스, 상속을 소개한다. 팩토리 디자인 패턴을 통해 개념을 보여준다.
4장, ‘데커레이터, 제네릭, 비동기 기능’에서는 데커레이터, 제네릭과 같은 고급 기능을 살펴보고 비동기 프로그래밍 개념을 살펴본다. 타입스크립트가 프라미스와 async, await 구조로 비동기 기능을 지원하는 방법을 살펴본다.
5장, ‘선언 파일 작성과 사용’에서는 단계별로 기존 자바스크립트 코드에서 선언 파일을 만드는 과정을 살펴보고 선언 파일을 작성할 때 흔히 쓰는 구문의 목록을 나열해본다. 목록의 구문은 선언 파일 구문에 대해 바로 훑어볼 수 있는 참조 가이드가 되도록 구성했다.
6장, ‘외부 라이브러리’에서는 개발 환경에서 DefinitelyTyped 저장소를 통해 선언 파일을 사용하는 방법을 살펴본다. 이어서 유명 자바스크립트 프레임워크인 백본, 앵귤러 1, ExtJs에 호환되는 타입스크립트 코드 작성 방법을 살펴본다.
7장, ‘타입스크립트 호환 프레임워크’에서는 타입스크립트와 전체 병합 가능한 유명 프레임워크를 살펴본다. MVC 개념을 살펴본 후 백본, 오렐리아, 앵귤러 2, 리액트에서 이 디자인 패턴을 어떻게 구현했는지 비교해본다.
8장, ‘테스트 주도 개발’에서는 테스트 주도 개발이 무엇인지 살펴보고 다양한 단위 테스트를 만드는 과정을 통해 안내한다. 자스민 라이브러리를 사용해 데이터 주도 테스트와 비동기 로직 테스트 방법을 보여준다. 테스트 러너, 테스트 보고 지속 통합 빌드 서버에 대해 살펴본다.
9장, ‘타입스크립트 호환 프레임워크 테스트’에서는 타입스크립트 호환 프레임워크별로 예제 애플리케이션을 만들어 단위 테스트, 통합 테스트, 인수 테스트 과정을 살펴본다. 테스트 가능성의 개념 및 애플리케이션 설계와 구현의 미묘한 변화가 애플리케이션 테스트 범위를 더 넓게 제공할 수 있음을 살펴본다.
10장, ‘모듈화’에서는 모듈이 무엇인지, 어떻게 사용하는지와 타입스크립트가 지원하는 모듈 생성 방식인 CommonJs와 AMD를 살펴본다. 이어서 Require와 SystemJs를 포함한 모듈 로더에서 모듈을 사용하는 방법을 보여준다. 노드에서 모듈 사용법을 자세히 살펴보고 예제 익스프레스 애플리케이션을 만들면서 마무리한다.
11장, ‘객체지향 프로그래밍’에서는 객체지향 프로그래밍 개념에 대해 살펴보고 객체지향 원칙에 맞게 애플리케이션 컴포넌트를 정리하는 방법을 보여준다. 복잡한 UI 상호작용을 상태 패턴과 중재자 패턴으로 구현하는 객체지향 모범 사례도 자세히 살펴본다.
12장, ‘의존성 주입’에서는 서비스 로케이션과 의존성 주입 개념 그리고 어떻게 일반적인 애플리케이션 설계 문제를 해결하는지 살펴본다. 데커레이터로 간단한 의존성 주입 프레임워크를 구현하는 방법을 보여준다.
13장, ‘애플리케이션 만들기’에서는 노드와 익스프레스에서 생성한 HTML, REST 목적지 작성 및 사용, 데이터 연동을 포함한 웹 애플리케이션 개발의 핵심 부품을 만든다. 오렐리아, 앵귤러 2, 리액트에 익스프레스 서버, REST 목적지, 데이터 연동을 통합하는 방법을 보여준다.
14장, ‘손에 흙 묻히기’에서는 책 전체를 통해 익힌 개념과 만들었던 컴포넌트를 조합해 앵귤러 2와 익스프레스 단일 페이지 애플리케이션을 만든다. 애플리케이션에는 테스트 주도개발, 상태 패턴과 중재자 패턴, 익스프레스 REST 목적지, 객체지향 원칙, 모듈화, CSS 애니메이션 개념이 포함된다.

저자/역자 소개

지은이의 말

타입스크립트 언어, 컴파일러, 오픈소스 개발 도구는 자바스크립트 개발을 엔터프라이즈 레벨로 끌어 올렸다. 타입스크립트는 오늘날의 ES5, ES6, ES7 자바스크립트 기능을 비롯해 클래스, 인터페이스, 제네릭, 모듈 등을 사용할 수 있다. 간단한 타입 구문으로 객체지향 기법과 업계 표준 디자인 원칙으로 견고한 대형 애플리케이션을 만들 수 있다.
실용적인 실제 예제로 가득한 이 책은 자바스크립트 개발 영역에 강타입의 장점, 객체지향 프로그래밍, 디자인 원칙을 가져오는 방법을 안내해준다. 언어 핵심 기능부터 제네릭이나 비동기 프로그래밍 같은 고급 주제를 통해 타입스크립트로 자바스크립트를 개발할 때 얻을 수 있는 장점을 극대화하는 방법을 배우게 된다. 테스트 주도 개발에 집중하고 유명하고 인기있는 자바스크립트 프레임워크를 다루면서, 타입스크립트 지식을 빠르게 전문가 수준으로 만들 수 있다. 책의 끝에서는 앵귤러, 오렐리아, 리액트, 백본, 노드 또는 다른 어떤 자바스크립트 프레임워크라도 자신있게 타입스크립트 애플리케이션을 만들 수 있게 된다.

지은이 소개

나단 로젠탈(Nathan Rozentals)

26년간 상용 소프트웨어를 만들고 그 이상으로 프로그래밍해왔다. 인터넷이 주류가 되기 전에는 메인 프레임에서 통계 분석 프로그램을 만들었다. 그 당시의 많은 프로그래머처럼 2k 문제에서 세상을 구했다.
C 언어에서 객체지향 기법을 구현하는 것으로 시작해서 많은 많은 객체지향 언어로 작업하고 수련했다. 수년간 C++로 작업하면서 스레드 락킹 문제와 재귀 루틴이 발생시키는 메모리 누수를 추적하고 삶을 단순하게 하기 위해 자동 가비지 컬렉팅이 있는 자바와 C#을 받아들였다.
세계가 씬클라이언트와 n-계층 웹 기술로 옮겨가면서 현대 웹 프로그래밍과 자바스크립트로 방향을 돌렸다. 타입스크립트에서 수년간 배운 객체지향 디자인 패턴을 자바스크립트에서 가져올 수 있는 언어를 찾았다.
익스트림 프로그래밍 기술, 애자일 전달, 테스트 주도 개발, 지속적인 통합이 없었다면 정신이 나갔을 것이다.
프로그래밍을 하지 않을 때는 프로그래밍에 대해 생각한다. 프로그래밍에 대한 생각을 멈추기 위해 윈드서핑, 축구, 프로축구 경기를 관람한다. 그러면 훨씬 나아진다.

옮긴이의 말

자바스크립트 생태계는 나날이 발전하고 있고, 자바스크립트가 담당하던 영역은 브라우저를 벗어나 백엔드를 비롯해 다양한 환경을 담당하고 있다.
큰 규모의 자바스크립트 프로젝트도 많아져서 이제는 자바스크립트 개발만 담당하는 별도의 팀도 흔히 볼 수 있다. 언어의 인기만큼이나 만드는 제품의 크기도 커지고 복잡도도 올라가고 있다.
대부분의 스크립트 언어가 가진 장점은 쉽고 빠르게 개발할 수 있다는 점이고, 단점은 쉽게 만들 수 있는 만큼 실수하기도 쉽다는 점이다. 컴파일 타임이나 타입 검사가 없어 빠르게 개발할 수 있지만, 런타임에서 오류를 만나거나 예상치 못한 곳에서 오류가 발생하는 일이 잦다. 게다가 프로젝트 규모가 커지고 프로젝트를 진행하는 개발자가 많아질수록 실수의 여지가 많아지고 관리하기도 어려워진다.
타입스크립트는 마이크로소프트에서 대규모 자바스크립트 개발을 위해 만든 언어로 자바스크립트를 만들어내는 컴파일러다. 자바스크립트를 생성하기 때문에 기존 자바스크립트 라이브러리나 프레임워크를 사용하면서도 강타입을 이용해 객체지향 언어처럼 개발할 수 있다.
새로운 언어나 도구를 도입하려면 지식의 전파가 필요하다. 새로운 프로젝트가 아닌 기존 프로젝트에 변화를 주려면 타입스크립트를 처음 접하는 것으로 시작해서 상당한 학습 비용이 들어가게 된다. 아무쪼록 이 책이 타입스크립트를 도입하는 데 도움이 됐으면 한다.

옮긴이 소개

김유성

잉여력 확보를 위해 자동화 기술과 실수를 줄이는 방법에 관심을 가지고 있다. 사이냅소프트에서 웹 애플리케이션을 개발하고 있다. 옮긴 책으로는 에이콘출판사에서 펴낸 『Selenium 웹드라이버 테스트 자동화』(2014), 『Selenium WebDriver 길들이기』(2016)가 있다.

목차

목차
  • 1장. 타입스크립트-도구와 프레임워크 옵션
    • 타입스크립트 소개
      • ECMA 스크립트 표준
      • 타입스크립트의 장점
        • 컴파일
        • 강타입
        • 자바스크립트와 타입스크립트의 정의
        • 캡슐화
        • 퍼블릿, 프라이빗 접근자
    • TypeScript IDEs
      • 노드 기반 컴파일
        • tsconfig
      • 비주얼 스튜디오
        • 비주얼 스튜디오 프로젝트 만들기
        • 기본 프로젝트 설정
        • 비주얼 스튜디오 디버깅
      • 웹스톰
        • 웹스톰 프로젝트 생성
        • 기본 파일
        • 간단한 HTML 애플리케이션 만들기
        • 크롬에서 웹 페이지 실행
        • 크롬에서 디버깅
      • 비주얼 스튜디오 코드
        • 비주얼 스튜디오 코드 설치
        • 비주얼 스튜디오 코드 둘러보기
      • 그 외의 편집기
        • 그런트
    • 요약

  • 2장. 타입, 변수, 함수 기법
    • 기본 타입
      • 자바스크립트 타이핑
      • 타입스크립트 타이핑
      • 타입 구문
      • 타입 추론
      • 덕 타이핑
      • 템플릿 문자열
      • 배열
      • for
      • any 타입
      • 명시적 형 변환
      • 열거형
      • 상수 열거형(Const enums)
      • 상수값
      • let 키워드
    • 함수
      • 함수 반환 타입
      • 익명 함수
      • 선택적 인자(Optional Parameters)
      • 기본 인자(Default parameters)
      • 나머지 인자(Rest parameters)
      • 함수 콜백
      • 함수 시그니처
      • 함수 오버로드
    • 고급 타입
      • 공용체(Union)
      • 타입가드
      • 타입 별명
      • Null과 undefined
      • 객체 나머지, 전개(Object rest and spread)
    • 요약

  • 3장. 인터페이스, 클래스, 상속
    • 인터페이스
      • 선택적 속성
      • 인터페이스 컴파일
    • 클래스
      • 클래스 속성
      • 인터페이스 구현
      • 클래스 생성자
      • 클래스 함수
      • 인터페이스 함수 정의
      • 클래스 수정자
      • 생성자 접근 제어자
      • 읽기 전용 속성
      • 클래스 속성 접근자
      • 정적 함수
      • 정적 속성
      • 네임스페이스
    • 상속
      • 인터페이스 상속
      • 클래스 상속
      • super 키워드
      • 함수 오버로딩
      • protected 클래스 멤버
      • 추상 클래스
      • 자바스크립트 클로저
    • 인터페이스, 클래스, 상속 - 팩토리 패턴
      • 비즈니스 요구사항
      • 팩토리 패턴이 하는 일
        • IPerson 인터페이스
        • 특별 클래스
        • 팩토리 클래스
        • 팩토리 클래스 사용
    • 요약
    • 데커레이터

  • 4장. 데커레이터, 제네릭, 비동기 기능
    • 데커레이터
    • 데커레이터 구문
    • 다중 데커레이터
    • 데커레이터 팩토리
    • 클래스 데커레이터 인자
    • 속성 데커레이터
    • 정적 속성 데커레이터
    • 메서드 데커레이터
    • 메서드 데커레이터 사용
    • 인자 데커레이터
    • 데커레이터 메타데이터
    • 데커레이터 메타 데이터 사용
  • 제네릭
    • 제네릭 구문
    • 제네릭 클래스 인스턴스화
    • T 타입 사용
    • T 타입 제한
    • 제네릭 인터페이스
    • 제네릭으로 새 객체 만들기
  • 비동기 언어 기능
    • 프라미스
    • 프라미스 구문
    • 프라미스 사용
    • 콜백 대 프라미스
    • 프라미스에서 값 반환
    • async와 await
    • await 오류
    • 프라미스 대 await 구문
    • await 메시지
  • 요약

  • 5장. 선언 파일 사용 및 작성
    • 전역 변수
    • HTML에서 자바스크립트 사용
      • 구조화된 데이터
    • 선언 파일 작성
      • 모듈 키워드
      • 인터페이스
      • 공용체 타입
      • 모듈 병합
    • 선언 구문 참조
      • 함수 오버라이드
        • 자바스크립트 구문
        • 선언 파일 구문
      • 중첩 네임스페이스
        • 자바스크립트 구문
        • 선언 파일 구문
      • 클래스
        • 자바스크립트 구문
        • 선언 파일 구문
      • 클래스 네임스페이스
        • 자바스크립트 구문
        • 선언 파일 구문
      • 클래스 생성자 오버로드
        • 자바스크립트 구문
        • 선언 파일 구문
      • 클래스 속성
        • 자바스크립트 구문
        • 선언 파일 구문
      • 클래스 함수
        • 자바스크립트 구문
        • 선언 파일 구문
      • 정적 속성, 함수
        • 자바스크립트 구문
        • 선언 파일 구문
      • 전역 함수
        • 자바스크립트 구문
        • 선언 파일 구문
      • 함수 시그니처
        • 자바스크립트 구문
        • 선언 파일 구문
      • 선택적 속성
        • 자바스크립트 구문
        • 선언 파일 구문
      • 함수와 모듈 병합
        • 자바스크립트 구문
        • 선언 파일 구문
    • 요약

  • 6장. 외부 라이브러리
    • 선언 파일 다운로드
    • NuGet 사용
      • 확장 프로그램 관리자 사용
      • 선언 파일 설치
      • 콘솔에서 패키지 매니저 사용
        • 패키지 설치
        • 패키지명 검색
        • 특정 버전 설치
    • typings 사용
      • 패키지 검색
      • typings 초기화
      • 선언 파일 설치
      • 특정 버전 설치
      • 선언 파일 재설치
    • Bower 사용
    • npm과 @types 사용
    • 외부 라이브러리 사용
      • 자바스크립트 프레임워크 선정
    • 백본
      • 백본 상속 사용
      • 인터페이스 사용
      • 제네릭 구문 사용
      • ECMAScript 5 사용
      • 백본 타입스크립트 호환성
    • 앵귤러
      • 앵귤러 클래스와 $scope
      • 앵귤러 타입스크립트 호환성
    • 상속 - 앵귤러 vs 백본
    • ExtJS
      • ExtJS 클래스 생성
      • 형 변환 사용
      • ExtJS 특화 타입스크립트 컴파일러
    • 요약

  • 7장. 타입스크립트 호환 프레임워크
    • MVC란?
      • 모델
      • 컨트롤러
      • MVC 요약
      • MVC 사용의 장점
      • 예제 애플리케이션 윤곽?
    • 백본
      • 렌더링 성능
      • 백본 설정
      • 백본 모델
      • 백본 ItemView
      • 백본 CollectionView
      • 백본 애플리케이션
    • 오렐리아 사용
      • 오렐리아 설정
      • 개발 고려사항
      • 오렐리아 성능
      • 오렐리아 모델
      • 오렐리아 뷰
      • 오렐리아 부트스트랩
      • 오렐리아 이벤트
    • 앵귤러 2
      • 앵귤러 2 설정
      • 앵귤러 2 모델
      • 앵귤러 2 뷰
      • 앵귤러 2 성능
      • 앵귤러 2 이벤트
    • 리액트
      • 리액트 설정
      • 리액트 뷰
      • 리액트 부트스트랩
      • 리액트 이벤트
    • 요약

  • 8장. 테스트 주도 개발
    • 테스트 주도 개발
    • 단위 테스트, 통합 테스트, 인수 테스트
      • 단위 테스트
      • 통합 테스트
      • 인수 테스트
    • 단위 테스트 프레임워크
    • 자스민
      • 간단한 자스민 테스트
      • 자스민 스펙러너
      • Matchers
      • 테스트 startup과 teardown
      • 데이터 주도 테스트
      • 스파이 사용
      • 콜백에 스파이 사용
      • 가짜로 스파이를 사용하기
      • 비동기 테스트
      • done() 사용
      • 자스민 픽스처
      • DOM 이벤트
    • 자스민 러너
      • 테스템
      • 카르마
      • Protractor
        • 셀레늄 사용
    • 지속적 통합
      • CI 사용의 장점
      • 빌드 서버 선택
        • 팀 파운데이션 서버
        • 젠킨스
        • 팀시티
      • 통합 테스트 결과서
    • 요약

  • 9장. 타입스크립트 호환 프레임워크 테스트
    • 예제 애플리케이션 테스트
    • 테스트 가능하도록 예제 수정
    • 백본 테스트
      • 복합 모델
      • 뷰 업데이트
      • DOM 이벤트 업데이트
      • 모델 테스트
      • 복합 모델 테스트
      • 렌더링 테스트
      • DOM 이벤트 테스트
      • 백본 테스트 요약
    • 오렐리아 테스트
      • 오렐리아 컴포넌트
      • 오렐리아 컴포넌트 뷰-모델
      • 오렐리아 컴포넌트 뷰
      • 컴포넌트 렌더링
      • 오렐리아 이름 규칙
      • 오렐리아 테스트 설정
      • 오렐리아 단위 테스트
      • 렌더링 테스트
      • 오렐리아 종단간 테스트
      • 오렐리아 테스트 요약
    • 앵귤러 2 테스트
      • 애플리케이션 업데이트
      • 앵귤러 2 테스트 설정
      • 앵귤러 2 모델 테스트
      • 앵귤러 2 렌더링 테스트
      • 앵귤러 2 DOM 테스트
      • 앵귤러 2 테스트 요약
    • 리액트 테스트
      • 다중 진입점
      • 리액트 수정
      • 리액트 컴포넌트 단위 테스트
      • 리액트 모델과 뷰 테스트
      • 리액트 DOM 이벤트 테스트
    • 요약

  • 10장. 모듈화
    • 모듈 기초
      • 모듈 익스포트
      • 모듈 임포트
      • 모듈 이름 변경
      • 기본 익스포트
      • 변수 익스포트
    • AMD 모듈 로딩
      • AMD 컴파일
      • AMD 모듈 설정
      • Require 설정
      • AMD 브라우저 설정
      • AMD 모듈 의존성
      • Require 부트스트랩
      • Require 설정 오류 수정
        • 잘못된 의존성
        • 404 오류
    • SystemJs 모듈 로딩
      • SystemJs 설치
      • SystemJs 브라우저 설정
      • SystemJs 모듈 의존성
      • 자스민 부트스트랩
    • 노드와 익스프레스 사용
      • 익스프레스 설정
      • 익스프레스에서 모듈사용
      • 익스프레스 라우팅
      • 익스프레스 템플릿
      • Handlebars 사용
      • 익스프레스 POST 이벤트
      • HTTP 요청 리다이렉트
      • 노드와 익스프레스 요약
    • 요약

  • 11장. 객체지향 프로그래밍
    • 객체지향 원칙
      • 인터페이스 프로그래밍
      • SOLID 원칙
        • 단일 책임 원칙
        • 개방 폐쇄 원칙
        • 리스코프 치환 원칙
        • 인터페이스 분리 원칙
        • 의존 관계 역전 원칙
    • 사용자 인터페이스 디자인
      • 콘셉트 디자인
      • 앵귤러 2 설정
      • 부트스트랩 사용
      • 사이드 패널 생성
      • 오버레이 생성
      • 전환효과 조정
    • 상태 패턴
      • 상태 인터페이스
      • 구체적인 상태
    • 중재자 패턴
    • 모듈화 코드
      • navbar 컴포넌트
      • sidenav 컴포넌트
      • RightScreen 컴포넌트
      • 자식 컴포넌트
      • 중재자 인터페이스 구현
      • 중재자 클래스
      • 중재자 사용
      • DOM 이벤트 대응
    • 요약

  • 12장. 의존성 주입
    • 메일 보내기
      • nodemailer 사용
      • 환경 설정
      • 로컬 SMTP 서버 사용
      • 객체 의존성
      • 서비스 로케이션
      • 서비스 로케이션 안티패턴
      • 의존성 주입
    • 의존성 주입기 만들기
      • 인터페이스 채택
      • 열거형 채택
      • 클래스 채택
      • 생성자 주입
    • 데커레이터 주입
      • 클래스 정의 사용
      • 생성자 인자 파싱
      • 인자 타입 찾기
      • 속성 주입
      • 의존성 주입 사용
      • 재귀 주입
    • 요약

  • 13장. 애플리케이션 제작
    • UI 경험
      • 브라켓 사용
      • Emmet 사용
      • 로그인 패널 만들기
    • 오렐리아 웹 사이트
      • 노드와 오렐리아 호환
      • 오렐리아 애플리케이션 서비스
      • 오렐리아 노드 페이지
      • 오렐리아 컴포넌트
      • JSON 처리
      • 오렐리아 폼
      • 데이터 전송
      • 오렐리아 메시지
    • 앵귤러 2 웹 사이트
      • 앵귤러 설정
      • 앵귤러 2 페이지 서빙
      • 앵귤러 2 컴포넌트
      • JSON 처리
      • 데이터 전송
    • 익스프레스 리액트 웹 사이트
      • 익스프레스와 리액트
      • 리액트 애플리케이션 서비스
      • 다중 package
      • 리액트 컴포넌트
      • REST 사용
      • 로그인 패널 컴포넌트
      • 리액트 데이터 바인딩
      • JSON 데이터
    • 요약

  • 14장. 손에 흙 묻히기
    • Board Sales 애플리케이션
    • 앵귤러 2 기반 애플리케이션
      • 단위 테스트
      • 상태 중재자 테스트
      • 로그인 화면 상태
      • 패널 통합
      • JSON 데이터 구조
      • BoardList 컴포넌트
      • HTTP 요청 테스트
        • 앵귤러의 가상 Http 모듈
        • 가상 Http 모듈 사용
      • 보드 목록 렌더링
      • UI 이벤트 테스트
      • 보드 상세 보기
      • 필터 적용
      • 로그인 패널
      • 애플리케이션 구조
  • 도서 오류 신고

    도서 오류 신고

    에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

    오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

    (예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

    정오표

    정오표

    [본문]
    데커레이터
    ->
    데코레이터

    [코드 내 표기]
    >
    ->
    |
    [p.112 : 공용체Union]
    var unionType : string > number;
    ->
    var unionType : string | number;

    [p.112 : 타입가드]
    arg1 : string > number,
    arg2 : string > number
    ->
    arg1 : string | number,
    arg2 : string | number

    [p.113 : 오류 메시지]
    'string > number'
    ->
    'string | number'

    [p.113 : 예제 코드]
    arg1 : string > number,
    arg2 : string > number
    ) : string > number {
    ->
    arg1 : string | number,
    arg2 : string | number
    ) : string | number {

    [p.115 : 예제 코드]
    string > number;
    ->
    string | number;

    [p.117 : 예제 코드]
    (test : null > number)
    ->
    test : null | number)

    [p.118 : 예제 코드, 오류 메시지]
    number > undefined
    ->
    number | undefined

    [p.50 : 4행]
    onImplicitAny 옵션
    ->
    noImplicitAny 옵션

    [p.182 : 본문 1행]
    ClassWithMetaData 클래스가 대한
    ->
    ClassWithMetaData 클래스에 대한

    [p.207 : 코드]
    interface IPromiseMessage {
    message: string;
    id: number;
    }
    ->
    중복 단락 삭제

    [p.230 : 예제 코드]
    boolean > string;
    ->
    boolean | string;

    [p.232 :선언 파일 구문]
    arg: string > number > boolean
    ->
    arg: string | number | boolean