본문 바로가기

추천 검색어

실시간 인기 검색어

풀스택 리액트, 타입스크립트, 노드

리액트 18, 훅, GraphQL로 클라우드 기반 웹앱 만들기
웹 프로페셔널
데이비드 최 지음 | 양정열 옮김
에이콘출판

2024년 10월 16일 출간

국내도서 : 2022년 11월 12일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (18.42MB)
ISBN 9791161759012
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
소득공제
소장
정가 : 32,000원

쿠폰적용가 28,800

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

리액트 SPA 기반의 애플리케이션을 통해 프론트엔드 구현에서부터 백엔드 구현까지 풀스택 개발 과정을 자세히 살펴볼 수 있다. 개발 과정과 상용 환경에서 발생할 수 있는 문제를 해결하기 위한 적절한 팁을 제공한다. 상용 클라우드 환경에서 애플리케이션을 배포하고 설정하는 방법도 다룬다. 저자의 오랜 실무 경험과 노하우를 통해 플랫폼과 도구들을 경험하고 이해할 수 있으며, 더 나아가 자신의 아이디어를 구체화할 수 있는 방법을 찾을 수 있을 것이다.
1장. 타입스크립트 이해하기
__기술적 요구 사항
__타입스크립트란 무엇인가?
__왜 타입스크립트가 필요한가?
____동적 타입과 정적 타입
____객체지향 프로그래밍
__요약


2장. 타입스크립트 살펴보기
__기술적 요구 사항
__타입은 무엇인가?
____타입은 어떻게 동작하는가?
__타입스크립트의 타입 살펴보기
____any 타입
____unknown 타입
____인터섹션 타입과 유니온 타입
____리터럴 타입
____타입 별칭
____함수 반환 타입
____함수 타입
____never 타입
__클래스와 인터페이스 이해하기
____클래스
____인터페이스
__상속 이해하기
____추상 클래스
____인터페이스
__제네릭 이해하기
__최신 기능과 컴파일러 설정
____선택적 연결
____널 병합
____타입스크립트 설정
__요약


3장. ES6+로 앱 만들기
__기술적 요구 사항
__ES6 변수 타입과 자바스크립트 범위
__화살표 함수
__this 컨텍스트 변경하기
____스프레드, 구조 분해, 레스트
____스프레드와 Object.assign, Array.concat
____구조 분해
____레스트
____새로운 배열 함수
____새로운 컬렉션 타입
____async await
__요약


4장. SPA의 개념과 리액트에서 사용하는 방법
__기술적 요구 사항
__전통적인 웹사이트 개발 방법 이해하기
__SPA의 이점과 특성 이해하기
__리액트 SPA 방식 이해하기
__리액트 애플리케이션의 여러 가지 속성
__요약


5장. 훅을 사용한 리액트 개발
__기술적 요구 사항
__클래스 방식 컴포넌트의 한계와 문제점 이해하기
____상태
____라이프 사이클 메서드
__리액트 훅과 장점 이해하기
__클래스 방식과 훅 방식의 유사점과 차이점
____코드 재사용
____단순성
__요약


6장. create-react-app을 사용한 프로젝트 설정과 Jest 활용 테스트
__기술적 요구 사항
__리액트 개발 방법과 빌드 시스템 이해하기
____프로젝트 도구
____트랜스파일
____코드 저장소
__리액트 클라이언트 측 테스트 이해하기
__모킹
____jest.fn 모킹
____컴포넌트 모킹
__리액트 개발에 사용하는 일반적인 도구와 사용법
____VS Code
____프리티어
____크롬 디버거
____그 밖의 IDE
__요약


7장. 리덕스와 리액트 라우터
__기술적 요구 사항
__리덕스 상태
____리듀서와 액션
____리액트 컨텍스트
__리액트 라우터
__요약


8장. Node.js와 Express를 사용한 서버 측 개발
__기술적 요구 사항
__노드 동작 방식 이해하기
____이벤트 루프
__노드의 기능 학습하기
____노드 설치하기
____간단한 노드 서버 만들기
____Request와 Response
____라우팅
____디버깅
__Express로 노드 개발을 개선하는 방법 이해하기
__Express 기능 학습하기
__Express로 웹 API 만들기
__요약


9장. GraphQL
__기술적 요구 사항
__GraphQL 이해하기
__GraphQL 스키마 이해하기
__typedef와 resolver 이해하기
__쿼리와 뮤테이션, 구독 이해하기
__요약


10장. 타입스크립트와 GraphQL 의존성으로 Express 프로젝트 구성하기
__기술적 요구 사항
__타입스크립트 기반 Express 프로젝트 만들기
__프로젝트에 GraphQL과 의존성 추가하기
__보조 패키지 살펴보기
__요약


11장. 온라인 포럼 애플리케이션
__포럼 애플리케이션 분석
__포럼 인증 분석
__스레드 관리 분석
__스레드 포인트 시스템 분석
__요약


12장. 온라인 포럼 애플리케이션 리액트 클라이언트 만들기
__기술적 요구 사항
__초기 버전의 리액트 애플리케이션 만들기
____CSS Grid
____에러 경계
____데이터 서비스 계층
____내비게이션 메뉴
____인증 컴포넌트
____라우팅과 화면
____홈 화면
____스레드 게시 화면
__요약


13장. Express와 Redis로 세션 상태 구성하기
__기술적 요구 사항
__세션 상태 이해하기
__Redis 이해하기
__Express와 Redis를 사용해 세션 상태 만들기
__요약


14장. TypeORM으로 저장소 계층과 Postgres 구성하기
__기술적 요구 사항
__Postgres 데이터베이스 설정하기
__TypeORM을 사용해 객체 관계 매퍼 이해하기
__TypeORM과 Postgres를 사용해 저장소 계층 만들기
__요약


15장. GraphQL 스키마 추가하기 - 1부
__기술적 요구 사항
__GraphQL 서버 측 typedefs와 리졸버 만들기
____ThreadPoint 시스템
__인증과 GraphQL 리졸버 통합하기
__Apollo GraphQL을 쿼리하기 위한 리액트 클라이언트 측 훅 만들기
____메인 화면
____인증 관련 기능
____UserProfile 화면
__요약


16장. GraphQL 스키마 추가하기 - 2부
__스레드 경로
____포인트 시스템
__요약


17장. AWS에 애플리케이션 배포하기
__기술적 요구 사항
__AWS 클라우드에서 우분투 리눅스 설정하기
__우분투에서 Redis, Postgres, 노드 설정하기
____Redis 설정
____Postgres 설정하기
____노드 설정하기
__NGINX에서 앱을 설정하고 배포하기
____super-forum-server 설정하기
____super-forum-client 설정하기
____트러블 슈팅
__요약

◈ 이 책에서 다루는 내용 ◈

◆ 타입스크립트의 핵심 기능과 코드 품질 및 유지 보수 방법
◆ 리액트 훅의 이해와 리액트 앱 구현 방법
◆ 리덕스로 리액트 앱 상태 관리
◆ 타입스크립트와 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 클라우드 서비스에 배포하는 방법을 다룬다.

작가정보

David Choi
다양한 프레임워크와 언어로 대규모 애플리케이션을 개발한 10년 이상 경력의 개발자다. 전문 개발 경험의 대부분은 JP모건과 CSFB, 프랭클린 템플턴과 같은 기업의 재무 업무와 관련이 있다. DzHaven을 창업했으며 개발자들이 서로 도울 수 있는 애플리케이션을 만들고 있다.

국내 Telco SI/SM Software 개발자로 시작해 현재는 프로젝트 매니저와 정보보호 업무를 담당하고 있으며, 자기 계발에 관심이 많다.

작가의 말

오픈소스 소프트웨어의 최대 저장소 깃허브의 발표에 따르면 자바스크립트는 여전히 세계적으로 가장 인기 있는 프로그래밍 언어다. 많은 프로젝트가 자바스크립트로 작성된다. 머신러닝이나 암호 화폐와 같은 웹과 관련이 없는 일반적인 프로젝트조차도 자바스크립트를 사용한다.
자바스크립트 프로그래밍 언어는 굉장히 강력하고 기능이 좋은데, 언어의 기능을 확장하는 리액트와 노드를 포함해 이 언어를 더욱 좋게 만들어주는 프레임워크가 존재한다. 또한 타입스크립트는 대규모 자바스크립트 프로젝트를 수행하기 위한 표준으로 자리 잡았다. 타입스크립트가 자바스크립트 코드를 생산적으로 만들고 대규모 애플리케이션에 적합한 언어적인 기능을 제공하는 것이다.
웹 개발은 여러 해 동안 엄청나게 발전했다. 클라이언트 코드란 과거에는 정적인 HTML과 CSS에 약간의 자바스크립트가 포함되는 것을 의미했다. 백엔드는 PHP나 CGI 스크립트와 같은 전혀 다른 언어로 작성됐다. 하지만 이제는 클라이언트에서 서버까지 전체 애플리케이션을 자바스크립트와 자바스크립트 관련 프레임워크만 사용해 작성하는 것이 일반적이다. 이렇게 단일 언어만 사용해 애플리케이션을 작성할 수 있는 능력은 개발 과정에서 엄청난 이점을 제공한다. 더욱이 여러 가지 활용 가능한 강력하고 성숙된 프레임워크는 모든 다른 플랫폼에 비해 자바스크립트 풀스택 프로그래밍이 경쟁력을 가지게 만들어준다.
이 책에서는 풀스택 웹 애플리케이션을 만들기 위해 자바스크립트의 강력함을 사용하는 방법을 배운다. 강력한 언어 상위 열 번째 안에 드는 언어인 타입스크립트를 사용해 자바스크립트의 강력함을 강화한다. 그리고 리액트와 리덕스, 노드, Express, GraphQL과 같은 프레임워크를 사용해 현실적이고 완벽한 기능을 갖춘 모범 사례가 될 수 있는 웹 애플리케이션을 만든다. 이 애플리케이션을 통해 최신 풀스택 웹 애플리케이션을 만들기 위해 필요한 모든 지식을 얻게 된다. 그리고 애플리케이션이 완성되면 가장 인기 있고 다양한 기능을 가진 CSP(클라우드 서비스 제공자)인 AWS 클라우드 서비스에 애플리케이션을 배포할 수 있을 것이다.
- 저자 데이비드 최

풀스택 개발자나 풀스택 개발이라는 말이 흔한 만큼 이들이 수요가 있을 것이라고 짐작할 수 있다. 인터넷을 검색해보면 풀스택 개발자의 정의도 다양하고 풀스택에 관한 여러 가지 주장도 확인된다. 풀스택 개발에 사용되는 기술을 모두 다 잘 알거나 골고루 잘할 수는 없으므로 풀스택 개발자는 존재하지 않는 허상이라고 주장하는 사람도 있다.
책 제목에서도 알 수 있듯이, 풀스택 개발은 어떤 정의처럼 거창한 내용이 아니라 프론트엔드와 백엔드를 모두 포함한 아주 단순한 웹 개발을 의미한다. 누군가의 주장처럼 프론트엔드와 백엔드를 모두 완벽하게 잘 아는 것은 불가능할지도 모르겠다. 하지만 각 영역에서 어떤 기술이 사용돼야 하는지 알고 기본적인 구현과 동작 방식을 이해해야 하는 것은 풀스택 개발자만의 소양은 아닐 것이다.
이 책에서는 리액트와 타입스크립트, GraphQL 그리고 노드를 사용한 풀스택 웹 개발을 다룬다. 웹 애플리케이션을 만들어보고, 클라우드 서비스에 개발한 웹 애플리케이션을 배포하고 운영하는 방법을 살펴본다. 그 밖에도 개발에 도움이 되는 여러 가지 도구와 정보를 제공한다. 또한 저자의 경험에서 나오는 다양한 오류 해결 방법도 제시한다. 깃허브에 예제와 최신 버전의 소스 코드가 제공된다.
예제를 따라 학습하다 보면 기본적인 내용뿐만 아니라 전반적인 웹 개발을 이해할 수 있게 될 것이다. 더불어 자신의 아이디어를 추가해 확장시키다 보면 보다 더 많은 내용을 습득하고 경험할 수 있을 것이다. 이 책으로 풀스택 개발을 경험하고 더 나은 개발자로 성장할 수 있기를 바란다.
- 역자 양정열

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    풀스택 리액트, 타입스크립트, 노드 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    풀스택 리액트, 타입스크립트, 노드 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    풀스택 리액트, 타입스크립트, 노드
    리액트 18, 훅, GraphQL로 클라우드 기반 웹앱 만들기
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)