◈ 이 책에서 다루는 내용 ◈
◆ 타입스크립트의 핵심 기능과 코드 품질 및 유지 보수 방법
◆ 리액트 훅의 이해와 리액트 앱 구현 방법
◆ 리덕스로 리액트 앱 상태 관리
◆ 타입스크립트와 GraphQL을 사용한 Express 프로젝트 설정 기초
◆ 리액트와 GraphQL으로 온라인 포럼 앱 구현
◆ Redis로 웹 앱 인증 구현
◆ TypeORM으로 Postgres 데이터베이스 데이터 저장 및 검색
◆ AWS 클라우드에 NGINX 구성 및 앱 배포
◈ 이 책의 대상 독자 ◈
여러 가지 최신 웹 기술과 그 기술을 함께 사용하는 방법을 배움으로써 프론트엔드를 넘어 풀스택 웹 개발의 세계로 들어가려는 웹 개발자를 대상으로 한다. 이 책을 시작하려면 먼저 자바스크립트 프로그래밍에 대한 이해가 있어야 한다.
◈ 이 책의 구성 ◈
1장, ‘타입스크립트 이해하기’에서는 타입스크립트가 무엇이며 대규모 애플리케이션 개발에 사용하면 좋은 이유를 살펴본다.
2장, ‘타입스크립트 살펴보기’에서는 타입스크립트를 좀 더 자세히 살펴본다. 정적 타입을 포함한 여러 가지 타입스크립트의 기능을 알아보고 이러한 기능이 자바스크립트보다 개선된 이유를 살핀다.
3장, ‘ES6+로 앱 만들기’는 모든 개발자가 알아야 하는 자바스크립트의 중요 기능을 다룬다. ES6 이상 버전에 추가된 최신 기능을 중심으로 알아본다.
4장, ‘SPA의 개념과 리액트에서 사용하는 방법’에서는 SPA(Single-Page Application) 스타일의 앱에 초점을 둔 웹사이트 개발 방법을 배운다. 그리고 리액트를 소개하고 SPA를 만드는 데 리액트를 사용하는 방법을 알아본다.
5장, ‘훅을 사용한 리액트 개발’에서는 리액트를 더 자세히 관찰한다. 리액트 애플리케이션을 과거의 클래스 스타일로 작성하는 방식의 한계를 알아본다.
6장, ‘create-react-app을 사용한 프로젝트 설정과 Jest 활용 테스트’는 리액트 애플리케이션 개발에 사용되는 최신 기법을 설명한다. 이러한 기법에는 리액트 프로젝트를 만드는 표준인 create-react-app 그리고 Jest나 testing-library를 사용한 클라이언트 측 테스트가 포함된다.
7장, ‘리덕스와 리액트 라우터’에서는 리액트 애플리케이션을 만드는 데 도움이 되는 리덕스와 리액트 라우터를 다룬다.
8장, ‘Node.js와 Express를 사용한 서버 측 개발’은 노드와 Express를 다룬다.
9장, ‘GraphQL’에서는 GraphQL이 무엇인지 살펴보고 데이터 스키마를 사용해 웹 API를 만드는 방법을 알아본다.
10장, ‘타입스크립트와 GraphQL 의존성으로 Express 프로젝트 구성하기’에서는 타입스크립트와 Express, GraphQL 그리고 테스트를 위한 Jest를 사용해 상용 품질의 서버 측 프로젝트를 만드는 방법을 설명한다.
11장, ‘온라인 포럼 애플리케이션’에서는 만들어보게 될 애플리케이션을 설명한다. 애플리케이션의 기능과 앱을 만들어보는 것이 어떻게 웹 개발을 더 자세히 배우는 데 도움이 되는지 살펴본다.
12장, ‘온라인 포럼 애플리케이션 리액트 클라이언트 만들기’에서는 리액트를 사용해 클라이언트측 애플리케이션을 작성하는 방법을 설명한다.
13장, ‘Express와 Redis로 세션 상태 구성하기’에서는 세션 상태가 무엇인지 살펴보고, 가장 강력한 인메모리 데이터 저장소인 Redis를 사용해 서버용 세션을 만드는 방법을 알아본다.
14장, ‘TypeORM으로 저장소 계층과 Postgres 구성하기’에서는 Postgres를 사용해 애플리케이션에서 사용할 데이터베이스를 만드는 방법을 설명한다.
15장, ‘GraphQL 스키마 추가하기 - 1부’에서는 애플리케이션에 GraphQL을 통합하는 방법을 배운다. 스키마를 만들고 쿼리와 뮤테이션을 추가하고 GraphQL 훅을 리액트 프론트엔드에 추가한다.
16장, ‘GraphQL 스키마 추가하기 - 2부’에서는 GraphQL을 클라이언트와 서버에 통합하는 작업을 끝으로 애플리케이션을 완성한다.
17장, ‘AWS에 애플리케이션 배포하기’에서는 완성된 애플리케이션을 AWS 클라우드 서비스에 배포하는 방법을 다룬다.