상세 컨텐츠

본문 제목

타입스크립트, AWS 서버리스로 들어올리다

전체 출간 도서

by 비제이퍼블릭 2019. 12. 5. 10:07

본문

타입스크립트, AWS 서버리스로 들어올리다

부제 오직 개발에만 집중할 수 있게 도와주는 실무 가이드

저자 신규하

 

출간/배본가능일 2019 12 13 

정가 38,000 

페이지 716

판형 46배판 (188 * 245)

 

ISBN 979-11-90014-59-5 (93000)

 

 

책 소개 

 

타입스크립트를 활용한 웹 애플리케이션 개발 가이드 북

 

현재 웹 애플리케이션을 개발하기 위한 많은 개발 환경과 그 환경에 맞는 다양한 방법들이 생겨나고 있다. 그래서 우리는 어떤 방법으로 개발을 시작해야 할지 선택하기를 주저하게 된다.

 

이 책에서는 실무에 적합한 플랫폼과 다양한 개발 프레임워크 및 라이브러리를 소개하고, 각 상황에 맞는 플랫폼 및 프레임워크를 선택하고 개발하는 과정을 안내한다. 이런 과정을 통해서 개발의 식견을 넓히고, 새로운 개발 방법을 학습하여 새로운 프로젝트가 생길 때 다양한 구현 방법을 검토하고 결정할 수 있도록 도와준다. 독자 여러분도 이 책만 있으면 어떤 프로젝트든지 훌륭하게 완료할 수 있을 것이다.

 

-    서버리스 및 AWS 서비스 소개

-    Typescript 기본 문법

-    VSCODE를 이용한 개발 환경 구성

-    Typescript를 사용한 AWS 람다 서비스 구성

-    Typescript를 이용한 Vue.js 개발

-    Vue.js에서 UI Framework 사용하기

-    Docker 기본 사용법

-    Typescript를 이용한 ORM 사용

-    Typescript를 이용한 GraphQL 사용

-    TDD 기본 사용법

-    AWS를 통한 배포

 

이 책의 특징 

- 가장 최신의 모던한 웹 애플리케이션 개발 과정을 제공한다.

- 플랫폼 선택부터 웹 애플리케이션 개발 과정까지 다양한 선택 과정을 배울 수 있다.

- 실무 웹 개발에 필요한 다양한 방법 및 개발 환경 구성을 배울 수 있다.

 

이 책이 필요한 독자 

- 웹 개발을 시작하시는 분

- 웹 개발 경험이 있으면서 새로운 개발 환경이 궁금하신 분

- 최신 웹 개발 트렌드에 관심이 있으신 분

 

독자대상 

초중급 

 

소스코드 다운로드 

https://github.com/bjpublic/typescript

 

저자 소개 

신규하

한신대학교 정보통신학과 대학원을 졸업하고 현재 (주)만랩에서 개발이사로 근무하고 있다.

호기심이 많아서 다양한 분야에 관심을 가졌다. 그 덕분에 웹 개발을 비롯해서 임베디드 시스템 PC용 영어 학습 게임 개발 및 iOS, Android 앱 개발 등 다양한 개발 경험을 가지고 있다.

 

- 유니모 테크놀로지에서 이동형 단속카메라 애플리케이션 개발

- 유니모 테크놀로지에서 DVR 임베디드 애플리케이션 개발

- 드리머스에서 오디션 잉글리시 클라이언트 개발 - 2009년 KGC 어워드 비즈니스 부문 대상

- 앱 스토어 암기짱 개발 - 2010년 앱 스토어 교육 카테고리 1위

- 미래기술공작소에서 CNC 금형 공정관리 시스템 개발

- 토크리시에서 토크리시 영어 학습 게임 개발

- 만랩에서 이스포츠 토너먼트 플랫폼 개발

- gyuha.tistory.com 블로그 운영

목차

Chapter 1. 서버리스(Serverless)란?

1.1 서버리스 개요

1.2 백엔드형서비스(Baas: Backend as a Service)

1.3 함수형서비스(FaaS: Function as a Service)

1.4 서버리스의 장점

1.5 서버리스의 단점

1.6 플랫폼별 서버리스 서비스

 

Chapter 2. AWS 개요

2.1 AWS 지역 및 가용영역

2.2 AWS 서비스 소개

2.3 AWS 서비스 목록

 

Chapter 3. AWS 개발 환경 설정하기

3.1 Node.js와 타입스크립트 설치하기

3.2 비주얼 스튜디오 코드(VSCODE) 설치하기

3.3 VSCode 추천 확장(Extensions)

3.4 AWS-Cli 설치하기

3.5 포스트맨(PostMan) 설치

 

Chapter 4. AWS 람다로 서버리스 시작하기

4.1 AWS 계정 만들기

4.2 첫 서버리스 앱(AWS Console 사용)

4.3 그 외 람다 옵션 설정

4.4 aws-cli로 람다 함수 만들기

4.5 API 게이트웨이 연결 해주기

 

Chapter 5. 서버리스 프레임워크 비교

5.1 ClaudiaJS

5.2 자파(Zappa)

5.3 Apex

5.4 서버리스 프레임워크

 

Chapter 6. 서버리스 프레임워크로 AWS 람다 시작하기

6.1 서버리스 프레임워크 설치하기

6.2 프로젝트 시작하기

6.3 람다 배포를 위한 권한 설정하기

6.4 API 게이트웨이 연결해서 배포하기

6.5 함수만 배포하기

6.6 로그 확인하기

6.7 프로젝트 지우기

6.8 로컬 개발환경 구성하기

 

Chapter 7. 타입스크립트 시작하기

7.1 타입스크립트(typescript) 소개

7.2 타입스크립트 설치

7.3 기본 타입

7.4 타입 별칭(type alias)

7.5 Let와 Const

7.6 함수(Function)

7.7 인터페이스 (Interface)

7.8 클래스

7.9 게터(getter) / 세터(setter)

7.10 비동기화 프로그램

 

Chapter 8. 할 일 목록(ToDo List) API 서버 만들기

8.1 타입스크립트용 서버리스 세팅하기

8.2 다이나모디비(dynamodb) 로컬에 설치하기

8.3 다이나모디비 테이블 생성과 시드 만들기

8.4 http 응답 상태(status) 코드 만들기

8.5 Rest api 응답용 공용 함수 만들기

8.6 데이터베이스 연결 만들기

8.7 할 일 전체 읽기

8.8 할 일 등록하기

8.9 http 메서드(method)

8.10 id를 통해서 데이터 가져오기

8.11 할 일 수정하기

8.12 리스트에 필터를 걸어서 데이터 가져오기

8.13 할 일 데이터 삭제하기

8.14 VSCode에서 디버깅 환경 구성하기

8.15 배포하기

 

Chapter 9. Vue.js로 SPA 시작하기

9.1 SPA란

9.2 SPA 플랫폼

9.3 Vue 시작하기

9.4 웹 브라우저 개발 도구

9.5 컴포넌트 개념

9.6 템플릿 문법

9.7 조건문, 반복문, 이벤트 핸들링

9.8 싱글 파일 컴포넌트

9.9 전역(Global) 컴포넌트

9.10 컴포넌트 이름 표기법

9.11 인라인(inline) 컴포넌트

9.12 Vue 컴포넌트 라이프사이클의 이해

9.13 Vue 컴포넌트의 구성요소 정리

 

Chapter 10. 타입스크립트로 Vue 사용하기

10.1 타입스크립트로 Vue 시작하기

10.2 Vue 프로젝트 파일 설명

10.3 타입스크립트 설정

10.4 Main.ts 파일 분석

10.5 App.vue 파일

10.6 App.vue 파일을 나누기

10.7 컴포넌트 등록

10.8 props

10.9 methods와 computed

10.10 와치(watch)

10.11 폼 입력 바인딩

10.12 props 양방향 바인딩

10.13 부모 컴포넌트 접근하기

10.14 라우터(router)

10.15 Vuex

 

Chapter 11. Vue를 이용해서 할 일 목록 만들기

11.1 프로젝트 생성하기

11.2 기본 컴포넌트 만들기

11.3 할 일 컴포넌트 만들기

11.4 양방향 컴포넌트

11.5 데이터 저장하기

 

Chapter 12. Todo API에서 데이터 읽어 오기

12.1 설정 파일 만들기

12.2 dotenv를 이용한 설정 파일

12.3 API에서 데이터 읽고 쓰기

12.4 Vue 플러그인(plugin) 사용하기

12.5 할 일 시간 자동으로 업데이트 하기

 

Chapter 13. Vue UI 라이브러리 적용하기

13.1 Vue UI 프레임워크들 소개

13.2 Todo List에 UI 컴포넌트 라이브러리 적용하기

 

Chapter 14. GraphQL

14.1 GraphQL이란?

14.2 필드(Fields)

14.3 인자(Arguments)

14.4 별칭(Aliases)

14.5 프래그먼트(Fragments)

14.6 쿼리(Queries)와 뮤테이션(Mutations)

14.7 스칼라 타입(Scalar types)

14.8 객체 타입과 필드(Object types and fields)

14.9 변수(Variables)

14.10 GraphQL 기본적인 흐름

14.11 기초적인 서버 제작 맛보기

14.12 TypeGraphQL

 

Chapter 15. Docker로 데이터베이스 설지하기

15.1 도커(Docker) 소개

15.2 컨테이너(Container)와 가상머신(Virtual Machine)

15.3 도커의 장점

15.4 도커 에디션(Docker editions)

15.5 도커 설치하기

15.6 도커의 실행 흐름

15.7 도커 CLI

15.8 도커 이미지 만들기

15.9 도커 컴포우저(docker compose)

15.10 도커 컴포우저 주요 명령어

15.11 docker-compose.yml 기본 사용법

15.12 MySQL 설치 Compose 예제

15.13 다른 컨테이너에 접속하기

 

Chapter 16. ORM 사용하기

16.1 ORM(Object-relational mapping)이란?

16.2 ORM의 장단점

16.3 node에서 사용되는 주요 ORM 라이브러리

16.4 TypeORM

16.5 TypeORM 설치하기

16.6 docker-compose로 데이터베이스 설치

16.7 ormconfig.json

16.8 TypeORM Entity

16.9 EntityManager

16.10 Repository

16.11 Find Options

16.12 관계(Relations)

16.13 OneToMany와 ManyToOne

16.14 ManytoMany

 

Chapter 17. TDD를 이용한 테스트

17.1 TDD를 이용한 테스트 프로그램 설정

17.2 제스트 테스트 단위

17.3 제스트 매처(Jest Matcher)

17.4 VSCode Debug 환경 만들기

17.5 User와 Profile(OneToOne)테스트 파일 제작

17.6 User와 Post (OneToMany & ManyToOne) 테스트

17.7 User와 Group (ManyToMany) 테스트

 

Chapter 18. 서버리스에 GraphQL 적용하기

18.1 프로젝트 기본 설정하기

18.2 Apollo-server 설치

18.3 TypeGraphQL 설치

18.4 TypeORM 설치

18.5 데이터베이스 UML(Unified Modeling Language)

18.6 회원 가입 제작

18.7 JWT란?

18.8 전통적인 세션을 이용한 인증 방식

18.9 토큰 기반의 인증 방식

18.10 로그인 제작

18.11 인증 체크

18.12 접근 권한 상세 지정

18.13 카테고리

18.14 글쓰기

18.15 글 보기

18.16 글 목록

18.17 글 수정

18.18 댓글 달기

18.19 댓글 목록

18.20 댓글 삭제

18.21 글 보기와 댓글 보기

18.22 VSCode 디버그 환경 구성하기

18.23 AWS RDS 설정하기

18.24 배포하기

 

Chapter 19. Vue에 GraphQL 적용하기

19.1 프로젝트 만들기

19.2 VSCode 디버깅 설정

19.3 템플릿 설치

19.4 Apollo 설치

19.5 Vuex 설정하기

19.6 기본 화면 설정하기

19.7 회원 가입

19.8 로그인

19.9 글 목록

19.10 글쓰기

19.11 글 보기

19.12 글 삭제

19.13 댓글 달기

19.14 댓글 지우기

19.15 AWS의 S3를 이용한 정적 호스팅

19.16 도메인 연결하기

19.17 HTTPS 설정해 주기

 

출판사 리뷰 

서버리스는 이벤트 중심의 솔루션이다. 사용자가 정보를 요청하면 이벤트가 발생하고 트리거는 코드를 선택해서 응답을 클라우드 업체에게 알린다. 클라우드 업체를 통해 시스템을 구축하면 개발자들은 서버에 대해서 많은 걱정을 하는데 시스템이 작을 때는 큰 비용이 나가는 것을 걱정하고 시스템이 클 때는 안정성에 대해 고민하게 된다. 하지만 AWS 서버리스를 서비스에 적용하게 되면 개발자는 서비스 운영, 안정성 그리고 비용도 걱정하지 않고, 오직 개발에만 집중할 수 있다.

 

이 책에서는 서버리스 서비스로 이전하거나 관심이 있는 독자 여러분에게 실무에서 사용하는 기술들을 추려서 설명하고 있기 때문에, 공부한다면 실제 운영에 걸림돌이 느껴지지 않게 될 것이다.

관련글 더보기

댓글 영역