이미 소장하고 있다면 판매해 보세요.
|
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 연결 __배포 자동화 ____깃 서버 측 훅을 기반으로 한 수동형 배포 ____타이머나 알림을 기반으로 한 능동형 배포 __요약 |
|
★ 이 책에서 다루는 내용 ★
■ 엔터프라이즈 애플리케이션 개발의 문제점과 결과 이해 ■ 애플리케이션 개발 시 필요한 도구의 설치와 구성 ■ 애플리케이션 개발 시 문제점 파악 ■ 테스트 접근 방식을 사용한 애플리케이션에 GoF 패턴 적용 ■ 타입스크립트나 자바스크립트 애플리케이션 개발 과정에서 디자인 패턴의 사용과 활용 ■ SOLID 원칙 참조 ■ 타입스크립트 애플리케이션에 다양한 원칙 적용 ■ 코드 품질과 개발 속도 향상 ★ 이 책의 대상 독자 ★ 타입스크립트 개발자라면 이 책이 많은 도움이 될 것이다. 그리고 디자인 패턴에 대한 지식이 없어도 이 책을 읽는 데 큰 지장은 없다. ★ 이 책의 구성 ★ 1장, ‘도구와 프레임워크’에서는 타입스크립트 컴파일러 설치, 편집기 준비, 기본적인 워크플로우를 포함해 이 책에서 사용할 도구와 프레임워크에 대해 간략히 소개한다. 2장, ‘복잡성 증가에 대한 도전’에서는 간단한 서버와 클라이언트간의 동기화 구현으로 시작한다. 그런 다음 해당 기능을 확장하고 어떠한 것이 바람직하지 않은 복잡성을 가져올 수 있는지 알아보고 복잡성을 줄일 수 있는 방안에 대해서 고민해본다. 3장, ‘생성 디자인 패턴’에서는 팩토리 메서드, 추상 팩토리, 빌더, 프로토타입, 싱글톤 패턴과 같은 5가지 공통적인 생성 디자인 패턴에 대해 살펴본다. 4장, ‘구조 디자인 패턴’에서는 컴포지트, 데코레이터, 어댑터, 브릿지, 퍼사드, 플라이웨이트, 프록시 패턴과 같은 7가지 공통적인 구조 디자인 패턴에 대해 살펴본다. 5장, ‘행동 디자인 패턴: 1부’에서는 책임 연쇄, 명령, 메멘토, 반복자, 중재자 패턴과 같은 5가지 공통적인 행동 디자인 패턴에 대해 살펴본다. 6장, ‘행동 디자인 패턴: 2부’에서는 전략, 상태, 템플릿 메서드, 관찰자, 방문자 패턴과 같은 5가지 공통적인 행동 디자인 패턴을 추가적으로 살펴본다. 7장, ‘자바스크립트 및 타입스크립트의 패턴과 아키텍처’에서는 비동기 프로그래밍, 모듈 구성, 에러 처리, 권한 추상화 등을 포함하여 자바스크립트나 타입스크립트 같은 언어 및 해당 애플리케이션과 밀접하게 관련된 패턴과 아키텍처에 대해 살펴본다. 8장, ‘SOLID 원칙’에서는 잘 알려진 SOLID 원칙과 이 원칙들이 프로젝트에 어떻게 도움이 되는지 그리고 오랜 기간 프로젝트를 안정적으로 유지하는 방법을 설명한다. 9장, ‘엔터프라이즈 애플리케이션으로 가는 길’에서는 테스트와 지속적인 통합을 포함하여 확장 준비가 된 애플리케이션의 전체 워크플로우를 구축하도록 안내한다. ★ 지은이의 말 ★ 타입스크립트는 자바스크립트를 위한 훌륭한 도구임에 틀림없다. 허나 실제로 안정적이고 유지보수를 할 수 있고 재사용 가능한 코드를 작성하기 위해서는 개발자의 지적 탐구가 필요하다. 하지만 이러한 지적 탐구 부분이야말로 우리가 하는 일의 진정한 가치이지 않겠는가? 우리 모두는 이해할 수 없는 버그에 대한 단서를 찾는 데 어려움을 겪었거나 기존 코드 기반에 새로운 기능을 추가하는 방법을 심각하게 고심한 적이 있을 것이다. 일부 사람들은 몇 년간 구축한 경험과 직관력으로 나쁘지 않은 디자인을 직접 내놓을 수 있다. 하지만 이 경우 오랜 기간을 거쳐 잘 정리하고 분류한 공통적인 디자인 패턴 지식은 많은 도움이 된다. 또한 다른 사람들과 소프트웨어 디자인에 대해 논의할 때도 깊이 있는 이해가 가능하다. 경험이 많지 않을 경우 공통적인 디자인 패턴에 대한 학습은 훌륭하게 설계된 코드를 작성하는 가장 빠른 방법일 수 있다. ★ 옮긴이의 말 ★ 자바스크립트는 더 이상 스크립트라는 단어가 어울리지 않을 정도로 단순한 웹 스크립트 언어를 넘어 프론트엔드부터 백엔드까지 넘나드는 전천후 언어가 된 지 오래다. 따라서 문제는 자바스크립트를 어떻게 더 효율적이고 유연하게 활용할 수 있느냐에 달렸다. 타입스크립트는 이러한 시대적 요구와 필요에 의해 탄생했다. 타입스크립트를 통해 언어 춘추 전국 시대에 언어 종속성을 넘어 개발의 자유로움 제공하며 새롭고 혁신적인 기능을 유연하게 추가할 수도 있다. 여기에 더해 타입스크립트는 자바스크립트와 완벽하게 호환되므로 기존 개발자들의 진입 장벽도 높지 않다. 또한 타입스크립트를 지원하는 다양한 IDE나 편집기가 존재하므로 높은 개발 생산성도 유지할 수 있다. 이미 앵귤러(Angular) 2는 메인 코드로 타입스크립트를 채택했으며 향후 타입스크립트를 채택한 프레임워크가 지속적으로 증가할 것으로 예상된다. 디자인 패턴은 안정적이고 효율적인 프로그래밍을 원한다면 반드시 알아야 할 소프트웨어 공학의 핵심 요소로 그 이유는 부차적인 설명이 필요하지 않을 듯하다. GoF가 C++로 디자인 패턴을 설명한 이래로 자바를 비롯한 다양한 언어로 디자인 패턴의 개념을 설명한 수많은 자료나 책이 존재하고 있다. 이처럼 디자인 패턴은 그야말로 시대와 언어를 뛰어넘는 프로그래밍 분야의 지혜의 산물이라 할 수 있다. 이처럼 타입스크립트와 디자인 패턴은 언어 자체와 설계 방식이라는 측면에서 각각 가장 효과적이고 범용적인 해법에 대한 고민 끝에 탄생했다는 점에서 그 목적이 서로 맞닿아 있다. 그리고 이 책에서는 차세대 타입스크립트와 전설적인 디자인 패턴의 만남을 통해 타입스크립트에 대한 이해와 더불어 최적의 설계 방식도 함께 고려하도록 한다. 따라서 책 내용에는 타입스크립트와 관련된 설치부터 배포까지 전반적인 워크플로우와 개발 프로세스에 대한 설명도 함께 포함돼 있다. 이 책의 독자는 분명 새로운 세계에 대한 호기심과 열정으로 가득 차 있음에 틀림없을 것이다. 그렇지 않다면 타입스크립트라는 새로운 언어와 디자인 패턴이라는 지혜를 배우려고 하지 않았을 테니까 말이다. 아무쪼록 그 호기심과 열정에 이 책이 마중물이 되기 바라며, 이 책의 모든 독자 분들이 자바스크립트 세상에서 과거와 현재 그리고 미래를 연결하는 주역이 되길 바란다. 우리 모두 자바스크립트의 미래, 타입스크립트에서 만나자! |