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

타입스크립트 실전 프로젝트(웹 프로페셔널)

 [예제 프로젝트를 통해 배우는 타입스크립트 웹 개발]
   
지은이 피터 오한론/김유성   |   출판사 에이콘  |   발행일 2021년 01월 25일
 
판매가 35,000원31,500원 10%
마일리지 5% 1,750원
발행일 2021-01-25
ISBN 9791161754888
기타정보 번역서 | 492쪽
예상출고일 1~2일 이내 (근무일기준)
배송비 무료배송
   
일반
   
 

★ 이 책에서 다루는 내용 ★

■ 타입스크립트로 일반적인 패턴을 사용해 코드를 작성하는 방법
■ 타입스크립트로 유명 프레임워크와 라이브러리를 사용하는 방법
■ 서버와 클라이언트에서 타입스크립트를 함께 사용할 때의 장점
■ 그래프QL과 텐서플로 같은 패러다임을 적용하는 방법
■ 유명 클라우드 기반 인증 서비스를 사용하는 방법
■ 타입스크립트와 C#을 결합해 ASP.NET Core 애플리케이션을 작성하는 방법

★ 이 책의 대상 독자 ★

기본적인 타입스크립트에 익숙한 사람을 대상으로 한다. 타입스크립트 컴파일러(tsc)로 설정 파일을 빌드하고 코드를 컴파일하는 방법과 타입스크립트의 타입 안정성, 함수, 클래스 등과 같은 기본 사항을 알고 있다면, 이 책에서 새로운 지식을 얻을 수 있을 것이다.
타입스크립트에 대한 고급 지식을 갖췄다면, 이전에 흥미를 느꼈지만 사용하지 않았던 기술의 다양한 면을 볼 수 있을 것이다.

★ 이 책의 구성 ★

1장, ‘타입스크립트 고급 기능’에서는 공용체(union) 타입, 교차(intersection) 타입, 사용자 선언 타입, 데코레이터(decorator)를 사용한 관점지향 프로그래밍(AOP, Aspect-Oriented Programming)과 같이 이전까지 만나보지 못했던 타입스크립트의 기능을 소개한다. 1장을 통해 프로 코더로서 매일 사용하는 다양한 타입스크립트 기술에 익숙해질 수 있다.
2장, ‘타입스크립트로 마크다운 에디터 만들기’에서는 간단한 마크다운 에디터로 실제 프로젝트를 처음 작성해본다. 웹 페이지의 텍스트 블록에 연결하는 간단한 파서를 만들고 사용자가 마크다운 태그를 입력하면 파서를 사용해 태그를 식별하고 미리보기 영역에 반영한다. 코드를 작성하면서 디자인 패턴을 사용해 타입스크립트로 견고한 솔루션을 만드는 방법을 살펴본다.
3장, ‘리액트 부트스트랩으로 개인 주소록 만들기’에서는 유명한 리액트 라이브러리로 개인 주소록 관리 프로그램을 만든다. 애플리케이션을 작성하면서 리액트가 특별한 TSX 파일로 타입스크립트와 HTML 파일을 한데 섞어 사용자 컴포넌트를 만드는 방법을 살펴본다. 또한 state와 바인딩을 사용해 사용자가 값을 바꾸면 리액트가 데이터 모델을 업데이트하는 방법도 살펴본다. 브라우저 자체의 IndexedDB를 데이터베이스로 사용해 정보의 입력, 저장, 조회가 가능한 UI를 만들고 컴포넌트가 입력값이 올바른지 확인하는 검증 절차를 적용하는 방법을 살펴보는 것이다.
4장, ‘MEAN 스택으로 사진 갤러리 만들기’에서는 사진 갤러리를 만들면서 처음으로 MEAN 스택(MEAN stack)을 다룬다. MEAN 스택은 클라이언트와 서버 양쪽에서 실행하는 애플리케이션을 만드는 데 협력하는 몇몇 기술을 설명하는 용어다. MEAN 스택으로 사진 갤러리 애플리케이션을 작성하고 UI로는 앵귤러, 사용자가 업로드한 사진을 저장하는 데는 몽고DB(MongoDB)를 사용한다. 애플리케이션을 만들 때는 앵귤러의 힘을 빌려 서비스와 컴포넌트를 만든다. 동시에 앵귤러 머티리얼을 사용해 매력적인 UI를 만드는 방법도 살펴본다.
5장, ‘그래프QL과 아폴로로 만드는 앵귤러 할 일 관리 애플리케이션’에서는 클라이언트와 서버 간 통신에 꼭 REST를 사용하지 않아도 된다는 아이디어를 소개한다. 많은 관심을 얻고 있는 그래프QL을 사용해 그래프QL 서버와 클라이언트를 통해 여러 지점에서 데이터를 소비하고 갱신하는 애플리케이션을 만든다. 5장에서 만드는 앵귤러 애플리케이션은 사용자의 할 일 관리 목록(list of to-do items)을 관리하고 템플릿(template)을 사용해 읽기 전용-편집 상태를 교체하는 것 같은 앵귤러 기능을 보여준다. 더불어 앵귤러가 제공하는 탁월한 사용자 입력 검증 기능도 살펴본다.
6장, ‘Socket.IO를 사용한 채팅방 만들기’에서는 REST 통신에 의존하지 않는 방법을 더 깊이 살펴본다. 앵귤러 애플리케이션에서 클라이언트/서버 간의 장기간 접속을 유지하는 방법을 다룬다. 클라이언트와 서버 간 접속이 영구적으로 열려 있는 것처럼 보이므로 메시지를 서로 주고받을 수 있다. Socket.IO를 사용해 채팅방 애플리케이션을 작성한다. 외부 인증 제공 서비스로 애플리케이션 보안을 강화해 암호를 일반 텍스트로 저장하는 것 같은 부끄러운 인증 실패를 피할 수 있다.
7장, ‘파이어베이스를 사용한 클라우드 기반 앵귤러 지도’에서는 두 가지 클라우드 기반 서비스를 사용해 마지막 앵귤러 애플리케이션을 작성한다. 하나는 Bing 지도로, 지도 서비스에 서드파티로 가입하는 방법을 살펴보고 애플리케이션에 클라우드 기반 지도를 통합한다. 이 서비스의 규모에 의한 비용 효과도 살펴본다. 지도를 표시하고 사용자는 관심 지역을 저장할 수 있다. 데이터는 구글의 파이어베이스(Firebase) 클라우드 플랫폼에 별도로 저장한다.
8장, ‘리액트와 마이크로서비스로 CRM 만들기’에서는 리액트와 MEAN 스택 경험을 기반으로 리액트 기반 스택으로 작업하는 방법을 소개한다. MEAN을 처음 만났을 때 단일 애플리케이션의 엔드포인트에 대해 이야기하고자 REST를 사용했다. 8장의 애플리케이션에서는 여러 개의 마이크로서비스로 단순화한 리액트 기반 CRM 시스템을 만드는 방법을 이야기한다. 마이크로서비스가 무엇인지, 언제 사용하는지를 살펴보고 추가로 스웨거(Swagger)로 REST API를 설계하고 문서화하는 방법을 살펴본다. 8장의 가장 중요한 부분은 도커(Docker)를 소개하고 컨테이너 내부에서 서비스를 실행하는 방법을 보여주는 것이다. 현재 컨테이너는 애플리케이션 배포를 단순화하는 방법으로 애플리케이션을 개발할 때 개발자들 사이에서 가장 선호하는 주제이면서 사용하기에도 어렵지 않다.
9장, ‘Vue.js와 TensorFlow.js로 만드는 이미지 인식’에서는 웹 브라우저에서 TensorFlow.js를 사용해 머신러닝을 사용하는 방법을 소개한다. Vue.js 프레임워크와 사전 훈련된 모델을 사용해 이미지를 식별하는 애플리케이션을 작성한다. 스포츠 분야에서 코칭할 때 활용할 수 있도록 웹 카메라로 어떤 자세를 취하는지 감지하고 자세를 추적하도록 확장할 수 있는 자세 감지 애플리케이션을 만드는 방법을 살펴본다.
10장, ‘ASP.NET Core로 음악 라이브러리 만들기에서는 UI를 만드는 데 타입스크립트를 주력 언어로 사용해 다수의 애플리케이션을 작성한다. ASP.NET Core를 써서 아티스트 이름을 입력해 Discogs 음악 API를 통해 곡에 대한 상세 정보를 검색하는 음악 라이브러리 애플리케이션을 작성한다. C#과 타입스크립트를 조합해 Discog에 쿼리(query)를 실행하고 UI를 만든다.

★ 옮긴이의 말 ★

백문(百聞)이 불여일타(不如一打).
어떤 기술을 배울 때, 동작하는 예제를 직접 만들어보는 노력은 학습의 지름길이 된다. 이 책은 다양한 예제 프로젝트를 통해 타입스크립트 객체지향 프로그래밍을 비롯해 부트스트랩, 리액트, Vue, 앵귤러와 같은 인기 있는 UI 프레임워크의 사용법과 그래프QL, MEAN 스택을 이용한 서버 개발, 도커를 통한 서버 배포, Socket.IO를 사용한 웹소켓, 파이어베이스와 같은 매니지드 클라우드 서비스의 사용법, TensorFlow.js 등의 다양한 기술을 살펴본다.
이제 웹 서비스를 만드는 일은 단순히 웹 페이지에만 해당되는 이야기가 아니며, 사용자와 상호작용하는 UI를 비롯해 데이터나 API를 제공하는 백엔드 기술을 포함하는 넓은 분야의 개발을 지칭하는 개념으로 자리매김했다.
꾸준히 등장하는 새로운 기술의 동향을 파악하고 기술 도입을 검토해보는 노력은 언제나 필요하며, 대상 분야도 점점 넓어지고 있다. 웹 서비스를 만든다면 인프라를 비롯한 클라우드 서비스 관련 지식도 필요하고 컨테이너를 통한 배포 방법도 살펴봐야 한다. 경우에 따라 그래프QL이나 머신러닝 같은 기술을 사용해야 할 수도 있다. 이 책이 다양한 기술을 살펴보고 적재적소에 사용하는 데 도움이 되길 바란다.
1장. 타입스크립트 고급 기능
__필요 기술
__TSCONFIG로 미래에 대비하는 타입스크립트 빌드
__타입스크립트 고급 기능 소개
____공용체에 서로 다른 타입 사용하기
____교차 타입으로 타입 조합
____타입 별칭으로 타입 선언 단순화
____객체 전개 구문으로 비구조화 할당
____나머지 속성으로 객체 구조 분해
____나머지 연산자로 여러 개의 파라미터를 변수에 복사
____데코레이터로 AOP 구현
____믹스인을 통한 타입 합성
____차별 타입과 제네릭으로 동일한 코드 사용
____맵을 이용한 값 연결
____프로미스와 ASYNC/AWAIT으로 비동기 코드 만들기
____부트스트랩으로 UI 만들기
__요약
__질문
2장. 타입스크립트로 마크다운 에디터 만들기
__기술적 요구 사항
__프로젝트 개요
__간단한 HTML 프로젝트로 시작
__간단한 마크다운 파서 작성
____부트스트랩 UI 만들기
____마크다운 태그를 HTML 태그에 매핑
____마크다운 문서로 변환된 마크다운 표현하기
____방문자 패턴으로 마크다운 문서를 업데이트
____방문자 패턴이란
____방문자 패턴 적용
____책임 연쇄 패턴으로 적용할 태그 결정
____하나로 모으기
__요약
__질문
__더보기
3장. 리액트 부트스트랩으로 개인 주소록 만들기
__기술적 요구 사항
__프로젝트 개요
__컴포넌트 시작
__타입스크립트를 지원하는 리액트 부트스트랩 프로젝트 만들기
__가상 레이아웃 만들기
____애플리케이션 만들기
____TSLINT로 코드 포매팅
____부트스트랩 추가
__리액트에서 TSX 컴포넌트 사용
____리액트가 가상 DOM에 대응하는 방법
____리액트 APP 컴포넌트
__상세 정보 표시 인터페이스
____값 바인딩으로 업데이트 단순화
__사용자 입력 검증과 검증자 사용법
____주소 검증
____이름 검증
____전화번호 검증
__검증 작업을 리액트 컴포넌트에 연결
__INDEXEDDB 데이터베이스를 생성해 데이터 전송
____STATE에 액티브 레코드 추가
____데이터베이스에서 상세 주소 가져오기
__개선
__요약
__질문
__더 읽을거리
4장. MEAN 스택으로 사진 갤러리 만들기
__기술적 요구 사항
__MEAN 스택
__프로젝트 개요
__시작하기
__MEAN 스택으로 앵귤러 사진 갤러리 만들기
____앵귤러 이해하기
____애플리케이션 만들기
____앵귤러 머티리얼로 UI 만들기
____머티리얼로 내비게이션 추가
____첫 번째 컴포넌트 만들기 - 파일 업로드 컴포넌트
____익스프레스 도입
____라우팅 지원
____이미지 표시
____보이는 다이얼로그 감싸기
__요약
__질문
__더 읽을거리
5장. 그래프QL과 아폴로로 만드는 앵귤러 할 일 관리 애플리케이션
__기술적 요구 사항
__그래프QL과 REST 사이의 관계
__프로젝트 개요
__시작하기
__그래프QL과 앵귤러로 할 일 관리 애플리케이션 만들기
____애플리케이션 만들기
____그래프QL 스키마 생성
____그래프QL 스키마 리졸버 만들기
____아폴로 서버 사용
____그래프QL 앵귤러 클라이언트
____페이지 컴포넌트에 내용 추가
__요약
__질문
__더 읽을거리
6장. SOCKET.IO를 사용한 채팅방 만들기
__기술적 요구 사항
__SOCKET.IO를 사용한 클라이언트/서버 간 장기 접속 커뮤니케이션
__프로젝트 개요
__SOCKET.IO와 앵귤러 시작
__SOCKET.IO, 앵귤러, AUTH0를 사용한 채팅방 애플리케이션 만들기
____애플리케이션 만들기
____서버에 SOCKET.IO 지원 추가
____채팅방 클라이언트 만들기
____AUTH0을 사용한 인증과 인가
____보안 라우팅 사용
____클라이언트에 채팅 기능 추가
____GENERALCHATCOMPONENT로 애플리케이션 종료
__요약
__질문
__더 읽을거리
7장. 파이어베이스를 사용한 클라우드 기반 앵귤러 지도
__기술적 요구 사항
__모던 애플리케이션과 클라우드 서비스로의 이동
__프로젝트 개요
__앵귤러에서 BING 지도로 시작하기
____BING 지도 가입
____파이어베이스 가입
__앵귤러와 파이어베이스로 BING 지도 애플리케이션 만들기
____지도 컴포넌트 추가
____관심 지점
____맵에 핀 표시
____지도 검색으로 관심 사항 탐색
____화면에 BING 맵 추가
____지도 이벤트와 핀 설정
____데이터베이스 보안
__요약
__질문
8장. 리액트와 마이크로서비스로 CRM 만들기
__기술적 요구 사항
__도커와 컨테이너 이해하기
____도커 용어
____마이크로서비스
____스웨거로 REST API 설계
__도커로 마이크로서비스 애플리케이션 만들기
____도커로 마이크로서비스 서비스 애플리케이션 만들기 시작
____서버 측 라우팅 지원 추가
____도커로 서비스 실행
____리액트 사용자 인터페이스 만들기
____내비게이션 추가
__요약
__질문
__더 읽을거리
9장. VUE.JS와 TENSORFLOW.JS로 만드는 이미지 인식
__기술적 요구 사항
__머신러닝이란 무엇이며 텐서플로는 어떻게 어울리는가?
____머신러닝이란 무엇인가?
____텐서플로란 무엇이며 머신러닝과 어떤 관계인가?
__프로젝트 개요
__VUE에서 텐서플로 시작하기
____VUE 기반 애플리케이션 만들기
____VUE 템플릿으로 홈페이지 만들기
____이미지 분류를 지원하도록 HELLOWORLD 컴포넌트 수정
____VUE 애플리케이션 진입점
____자세 감지 기능 추가
__요약
__질문
__더 읽을거리
10장. ASP.NET CORE로 음악 라이브러리 만들기
__기술적 요구 사항
__ASP.NET CORE MVC 도입
__프로젝트 개요
__ASP.NET CORE, C#, 타입스크립트로 음악 라이브러리 만들기
____비주얼 스튜디오로 ASP.NET CORE 애플리케이션 생성
____애플리케이션 구조 이해
____DISCOGS 모델 생성
____컨트롤러 연결
____INDEX 뷰 추가
____애플리케이션에 타입스크립트 추가
____ASP.NET에서 타입스크립트 기능 호출
__요약
__질문
__더 읽을거리
연습 문제
저자 : 피터 오한론
PETER O’HANLON

30년 가까운 경력을 쌓은 전문 개발자다. 현재는 종류와 크기를 가리지 않는 데스크톱 및 웹 애플리케이션을 개발하고 있다. C, C++, 베이직, 파스칼, 자바스크립트를 이용한 개발 경험이 있으며, 지난 18년간은 C# WPF, 자바스크립트, 타입스크립트에 집중하고 있다. 수년간 인텔 이노베이터(INTEL INNOVATOR) 프로그램의 회원이면서 인텔 얼티메이트 코더 2(INTEL ULTIMATE CODER 2) 콘테스트에 참가한 코드 프로젝트(CODE PROJECT)의 MVP였다. 증강/혼합 현실, 컴퓨터 영상, 인공지능, 동작 인식 같은 기술에 적극적으로 참여하게 만드는 새로운 기술과 언어를 받아들이는 것을 항상 열망한다.

역자 : 김유성
자동화 기술과 실수를 줄이는 방법에 관심이 많다. 꾸준히 무언가를 만드는 사람이 되길 원하며, 현재 사이냅소프트에서 웹오피스와 문서 뷰어 등과 같은 다양한 웹 애플리케이션을 개발하고 있다. 역서로는 에이콘출판사에서 출간한 『SELENIUM 웹드라이버 테스트 자동화』(2014), 『SELENIUM WEBDRIVER 길들이기』(2016), 『타입스크립트 마스터 2/E』(2018)가 있다.
등록된 서평이 없습니다.
환경인을 위한 환경화학...
김세진, 김동욱, 신현상, 안준수, 이규성
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
무지개 물고기...
마르쿠스 피스터
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
마르쿠스 피...
 
전체평균(0)
회원평점   회원서평수 0
김유성 의 최근 저서
 
응급처치 Bible
23,750원
(5%↓+0%)
 
생명력 개념으로의 기
25,200원
(10%↓+0%)
 
에이콘 출판사의 신간
자산운용을 위한 금융 머신러닝
이기홍 저
18,000원
(10%↓+5%)
 
프레임워크 없는 프론트엔드 개발
류영선/류영선 저
22,500원
(10%↓+5%)
 
Programming in Scala 4/e(프로그래밍 언어)
마틴 오더스키/오현석 저
45,000원
(10%↓+5%)
 
예제로 배우는 도커 2/e
김용환/김용환 저
32,400원
(10%↓+5%)
 
AWS 클라우드 머신러닝
아비섹 미쉬라/박정현 저
31,500원
(10%↓+5%)
 
이메일주소수집거부