로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

타입스크립트 디자인 패턴

 [차세대 자바스크립트 표준으로 배우는 핵심 소프트웨어 아키텍처]
   
지은이 빌릭 베인   |   출판사 에이콘  |   발행일 2017년 04월 26일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 25,000원22,500원 10%
마일리지 5% 1,250원
발행일 2017-04-26
ISBN 8960779911 | 9788960779914
기타정보 번역서 | 308쪽 | 일반
예상출고일 1일 (근무일기준)
배송비 무료배송
   
일반
   
 

[ 요약 ]

타입스크립트는 마이크로소프트에서 개발한 자바스크립트의 상위집합(superset)으로 자바스크립트와 완벽한 호환을 보장하며 대규모 애플리케이션 개발에도 적합하다. 따라서 체계적이고 효율적인 개발은 타입스크립트에서도 중요한 문제가 아닐 수 없다. 그러므로 최적의 소프트웨어 개발에 필요한 지혜의 집합체라 할 수 있는 디자인 패턴을 타입스크립트로 설명한 이 책은 이론을 넘어 타입스크립트를 실무에 적용하고자 하는 이들에게 매우 유용할 것이다. 따라서 이 책은 단순한 개념 설명뿐만 아니라 타입스크립트 측면에서 개발에 필요한 설치부터 배포까지 전반적인 워크플로우와 프로세스에 대한 설명도 함께 포함돼 있다. 타입스크립트 개발과 관련된 핵심 요소와 유용한 디자인 패턴을 통합적으로 이해하고 싶다면 이 책이 좋은 길라잡이가 될 것이다.


[이 책에서 다루는 내용]

■ 엔터프라이즈 애플리케이션 개발의 문제점과 결과 이해
■ 애플리케이션 개발 시 필요한 도구의 설치와 구성
■ 애플리케이션 개발 시 문제점 파악
■ 테스트 접근 방식을 사용한 애플리케이션에 GoF 패턴 적용
■ 타입스크립트나 자바스크립트 애플리케이션 개발 과정에서 디자인 패턴의 사용과 활용
■ SOLID 원칙 참조
■ 타입스크립트 애플리케이션에 다양한 원칙 적용
■ 코드 품질과 개발 속도 향상


[ 이 책의 대상 독자 ]

타입스크립트 개발자라면 이 책이 많은 도움이 될 것이다. 그리고 디자인 패턴에 대한 지식이 없어도 이 책을 읽는 데 큰 지장은 없다.


[ 이 책의 구성 ]

1장, ‘도구와 프레임워크’에서는 타입스크립트 컴파일러 설치, 편집기 준비, 기본적인 워크플로우를 포함해 이 책에서 사용할 도구와 프레임워크에 대해 간략히 소개한다.
2장, ‘복잡성 증가에 대한 도전’에서는 간단한 서버와 클라이언트간의 동기화 구현으로 시작한다. 그런 다음 해당 기능을 확장하고 어떠한 것이 바람직하지 않은 복잡성을 가져올 수 있는지 알아보고 복잡성을 줄일 수 있는 방안에 대해서 고민해본다.
3장, ‘생성 디자인 패턴’에서는 팩토리 메서드, 추상 팩토리, 빌더, 프로토타입, 싱글톤 패턴과 같은 5가지 공통적인 생성 디자인 패턴에 대해 살펴본다.
4장, ‘구조 디자인 패턴’에서는 컴포지트, 데코레이터, 어댑터, 브릿지, 퍼사드, 플라이웨이트, 프록시 패턴과 같은 7가지 공통적인 구조 디자인 패턴에 대해 살펴본다.
5장, ‘행동 디자인 패턴: 1부’에서는 책임 연쇄, 명령, 메멘토, 반복자, 중재자 패턴과 같은 5가지 공통적인 행동 디자인 패턴에 대해 살펴본다.
6장, ‘행동 디자인 패턴: 2부’에서는 전략, 상태, 템플릿 메서드, 관찰자, 방문자 패턴과 같은 5가지 공통적인 행동 디자인 패턴을 추가적으로 살펴본다.
7장, ‘자바스크립트 및 타입스크립트의 패턴과 아키텍처’에서는 비동기 프로그래밍, 모듈 구성, 에러 처리, 권한 추상화 등을 포함하여 자바스크립트나 타입스크립트 같은 언어 및 해당 애플리케이션과 밀접하게 관련된 패턴과 아키텍처에 대해 살펴본다.
8장, ‘SOLID 원칙’에서는 잘 알려진 SOLID 원칙과 이 원칙들이 프로젝트에 어떻게 도움이 되는지 그리고 오랜 기간 프로젝트를 안정적으로 유지하는 방법을 설명한다.
9장, ‘엔터프라이즈 애플리케이션으로 가는 길’에서는 테스트와 지속적인 통합을 포함하여 확장 준비가 된 애플리케이션의 전체 워크플로우를 구축하도록 안내한다.


[ 지은이의 말 ]

타입스크립트는 자바스크립트를 위한 훌륭한 도구임에 틀림없다. 허나 실제로 안정적이고 유지보수를 할 수 있고 재사용 가능한 코드를 작성하기 위해서는 개발자의 지적 탐구가 필요하다. 하지만 이러한 지적 탐구 부분이야말로 우리가 하는 일의 진정한 가치이지 않겠는가?
우리 모두는 이해할 수 없는 버그에 대한 단서를 찾는 데 어려움을 겪었거나 기존 코드 기반에 새로운 기능을 추가하는 방법을 심각하게 고심한 적이 있을 것이다. 일부 사람들은 몇 년간 구축한 경험과 직관력으로 나쁘지 않은 디자인을 직접 내놓을 수 있다. 하지만 이 경우 오랜 기간을 거쳐 잘 정리하고 분류한 공통적인 디자인 패턴 지식은 많은 도움이 된다. 또한 다른 사람들과 소프트웨어 디자인에 대해 논의할 때도 깊이 있는 이해가 가능하다. 경험이 많지 않을 경우 공통적인 디자인 패턴에 대한 학습은 훌륭하게 설계된 코드를 작성하는 가장 빠른 방법일 수 있다.

1장. 도구와 프레임워크
__사전 설치사항
____Node.js 설치
____타입스크립트 컴파일러 설치
__유용한 편집기 선정
____Visual Studio Code(이하 VSC)
____서브라임 텍스트 + 타입스크립트 플러그인
____다른 편집기와 IDE 선택
__워크플로우 작업
____타입스크립트 프로젝트 구성
____typings를 이용한 선언 다운로드
____선언 파일 다운로드
____모카와 이스탄불을 이용한 테스트
____카르마를 이용한 실제 브라우저에서의 테스트
____npm을 이용한 명령 통합
____기타 유용한 빌드 도구에 관해
__요약

2장. 복잡성 증가에 대한 도전
__기본사항 구현
____코드 기반 생성
____동기화 할 데이터의 초기 구조 정의
____타임스탬프를 비교하여 데이터 가져오기
____양방향 동기화
____기본 구현 과정에서 잘못된 점
__기능 추가
____여러 항목 동기화
____여러 타입의 데이터 동기화
____증분 데이터를 이용한 멀티 클라이언트 지원
____더 많은 충돌 병합 지원
____전체 구현 과정에서 잘못된 점
__문제 해결
____추상화 찾기
____전략 구현
____저장소 래핑
__요약

3장. 생성 디자인 패턴
__팩토리 메서드
__추상 팩토리
__빌더
__프로토타입
__싱글톤
____기본 구현
____조건부 싱글톤
__요약

4장. 구조 디자인 패턴
__컴포지트 패턴
__데코레이터 패턴
__어댑터 패턴
__브릿지 패턴
__퍼사드 패턴
__플라이웨이트 패턴
__프록시 패턴
__요약

5장. 행동 디자인 패턴: 1부
__책임 연쇄 패턴
__명령 패턴
__메멘토 패턴
__반복자 패턴
__중재자 패턴
__요약

6장. 행동 디자인 패턴: 2부
__전략 패턴
__상태 패턴
__템플릿 메서드 패턴
__관찰자 패턴
__방문자 패턴
__요약

7장. 자바스크립트 및 타입스크립트의 패턴과 아키텍처
__프라미스 기반 웹 아키텍쳐
____기존 모듈이나 라이브러리에 프라미스 적용하기
____익스프레스에서의 뷰와 컨트롤러
____응답의 추상화
____권한의 추상화
____예상되는 에러
__프로젝트 모듈화
__비동기 패턴
____예측 가능한 코드 작성
____비동기 생성 패턴
____비동기 미들웨어와 훅
____이벤트 기반 스트림 파서
__요약

8장. SOLID 원칙
__단일 책임 원칙
____예제
____축 선택
__개방 폐쇄 원칙
____예제
____자바스크립트와 타입스크립트에서의 추상화
____선제적 리팩토링
__리스코프 치환 원칙
____예제
____치환의 제약조건
__인터페이스 분리 원칙
____예제
____알맞은 세분화
__의존 관계 역전 원칙
____예제
____계층 분리
__요약

9장. 엔터프라이즈 애플리케이션으로 가는 길
__애플리케이션 생성
____SPA와 ‘일반’ 웹 애플리케이션 사이의 결정
____팀 협업 고려하기
__프로젝트 구축과 테스트
____웹팩을 이용한 정적 자산 패키징
____프로젝트에 TSLint 추가
____npm 스크립트로 webpack과 tslint 명령 통합
__버전 제어
____깃 플로우
____PR 기반 코드 검토
____커밋 전 테스트
__지속적인 통합
____깃허브 리파지토리와 트래비스 CI 연결
__배포 자동화
____깃 서버 측 훅을 기반으로 한 수동형 배포
____타이머나 알림을 기반으로 한 능동형 배포
__요약

빌릭 베인(Vilic Vane)
8년 이상의 웹 개발 경력을 보유한 자바스크립트 엔지니어다. 타입스크립트가 출시된 이후 타입스크립트 프로젝트를 시작했으며, 프로젝트의 컨트리뷰터(contributor)기도 하다. 현재 임베디드 기기에서 자바스크립트를 실행하도록 IoT 플랫폼을 구축하는 스타트업 러프(Ruff)에서 근무하고 있다.


★ 옮긴이의 말 ★

자바스크립트는 더 이상 스크립트라는 단어가 어울리지 않을 정도로 단순한 웹 스크립트 언어를 넘어 프론트엔드부터 백엔드까지 넘나드는 전천후 언어가 된 지 오래다. 따라서 문제는 자바스크립트를 어떻게 더 효율적이고 유연하게 활용할 수 있느냐에 달렸다. 타입스크립트는 이러한 시대적 요구와 필요에 의해 탄생했다. 타입스크립트를 통해 언어 춘추 전국 시대에 언어 종속성을 넘어 개발의 자유로움 제공하며 새롭고 혁신적인 기능을 유연하게 추가할 수도 있다. 여기에 더해 타입스크립트는 자바스크립트와 완벽하게 호환되므로 기존 개발자들의 진입 장벽도 높지 않다. 또한 타입스크립트를 지원하는 다양한 IDE나 편집기가 존재하므로 높은 개발 생산성도 유지할 수 있다. 이미 앵귤러(Angular) 2는 메인 코드로 타입스크립트를 채택했으며 향후 타입스크립트를 채택한 프레임워크가 지속적으로 증가할 것으로 예상된다.
디자인 패턴은 안정적이고 효율적인 프로그래밍을 원한다면 반드시 알아야 할 소프트웨어 공학의 핵심 요소로 그 이유는 부차적인 설명이 필요하지 않을 듯하다. GoF가 C++로 디자인 패턴을 설명한 이래로 자바를 비롯한 다양한 언어로 디자인 패턴의 개념을 설명한 수많은 자료나 책이 존재하고 있다. 이처럼 디자인 패턴은 그야말로 시대와 언어를 뛰어넘는 프로그래밍 분야의 지혜의 산물이라 할 수 있다.
이처럼 타입스크립트와 디자인 패턴은 언어 자체와 설계 방식이라는 측면에서 각각 가장 효과적이고 범용적인 해법에 대한 고민 끝에 탄생했다는 점에서 그 목적이 서로 맞닿아 있다. 그리고 이 책에서는 차세대 타입스크립트와 전설적인 디자인 패턴의 만남을 통해 타입스크립트에 대한 이해와 더불어 최적의 설계 방식도 함께 고려하도록 한다. 따라서 책 내용에는 타입스크립트와 관련된 설치부터 배포까지 전반적인 워크플로우와 개발 프로세스에 대한 설명도 함께 포함돼 있다.
이 책의 독자는 분명 새로운 세계에 대한 호기심과 열정으로 가득 차 있음에 틀림없을 것이다. 그렇지 않다면 타입스크립트라는 새로운 언어와 디자인 패턴이라는 지혜를 배우려고 하지 않았을 테니까 말이다. 아무쪼록 그 호기심과 열정에 이 책이 마중물이 되기 바라며, 이 책의 모든 독자 분들이 자바스크립트 세상에서 과거와 현재 그리고 미래를 연결하는 주역이 되길 바란다.
우리 모두 자바스크립트의 미래, 타입스크립트에서 만나자!


★ 옮긴이 소개 ★

홍영표
카이스트 경영대학에서 정보경영 석사과정을 졸업했다(최우등 졸업). 현재 금융 회사에서 IT 전략기획과 아키텍처 업무를 담당하고 있다. 저서로는 『기술, 경영을 만나다: 기술의 가치를 높이는 경영의 정석』(에이콘, 2016)이 있으며, 옮긴 책으로는 에이콘출판사에서 출간한 『아이폰&아이패드 인 액션』(2011), 『Professional iPhone and iPad Database Application Programming 한국어판』(2012), 『HTML5+CSS3+자바스크립트의 정석』(2012), 『HTML & CSS』(2012), 『The Modern Web』(2014)과 『스프링 인 액션 제3판』(제이펍, 2012), 『제이콥 닐슨의 모바일 사용성 컨설팅 보고서』(제이펍, 2013) 등이 있다.

등록된 서평이 없습니다.
소품 사진 촬영 BOOK (찰칵찰칵 가볍게 배우는 사진 이야기 2)...
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
SDN과 NFV...
SDN/NFV포럼
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
유니티 5.x 게임 개발의 시작
존 도란 저
27,000원
(10%↓+5%)
 
데이터 시각화 원리
조르즈 카몽이스 저
31,500원
(10%↓+5%)
 
가상 환경 구축으로 알아보는 고급 모의 해킹
케빈 카드웰 저
36,000원
(10%↓+5%)
 
유니티 게임 개발을 위한 절차적 콘텐트 생성
라이언 왓킨스 저
27,000원
(10%↓+5%)
 
Security in Computing
찰스 플리거, 샤리 로렌스 플리거, 조나단 매굴리스 저
45,000원
(10%↓+5%)
 
이메일주소수집거부