장바구니 담기 close

장바구니에 상품을 담았습니다.

동형 자바스크립트 웹 개발

동형 자바스크립트 웹 개발 - 동형 자바스크립트 웹 개발

  • 토마스알라베스
  • |
  • 에이콘출판
  • |
  • 2018-07-31 출간
  • |
  • 280페이지
  • |
  • 188 X 235 X 16 mm
  • |
  • ISBN 9791161751931
판매가

25,000원

즉시할인가

22,500

카드할인

0원(즉시할인 0%)

적립금

1,250원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★

? 막강한 리액트를 사용한 클라이언트 구축
? 효과적인 애플리케이션 스타일링
? 리액트를 사용한 서버 측 렌더링
? 노드(Node)와 익스프레스(Express), SQL 기반의 GraphQL 서버 구현
? 애플리케이션에서 사용되는 동형 라우터 구축
? 클라우드 호스트에 애플리케이션 배포
? 견고한 토큰 기반 인증을 통한 애플리케이션 보안

★ 이 책의 대상 독자 ★

이 책은 개발자용으로, 자바스크립트 애플리케이션 스킬을 향상하고 통일된 자바스크립트 애플리케이션을 개발하고자 하는 독자를 대상으로 한다.

★ 이 책의 구성 ★

1장, ‘동형 웹 앱 시작하기’에서는 동형 앱이 무엇이고, 흔히 사용하는 기존의 SPA와는 어떤 차이가 있는지 살펴본다. 개발자가 동형 앱을 개발하는 과정에서 직면하게 될 중요한 사항들을 이해하게 된다. 소개를 마친 후에는 동형 앱 개발을 시작하기 위한 개발 환경을 설정한다.
2장, ‘리액트 웹 UI 만들기’에서는 자바스크립트와 리액트(React)를 사용해 자연스러운 웹 UI를 만드는 방법을 설명한다. 효율적인 개발을 위해 애플리케이션에서 사용할 컴포넌트를 만들고 컴포넌트 간의 데이터 흐름을 구성하는 방법을 배운다.
3장, ‘CSS와 미디어 자산으로 작업하기’에서는 UI 컴포넌트 스타일링과 CSS 및 그래픽을 컴포넌트에 번들링하는 방법을 살펴본다. 자산을 번들링하기 위해 웹팩(Webpack)을 효과적으로 구성하는 방법을 배운다.
4장, ‘브라우저싱크와 HMR로 작업하기’에서는 앱에 대한 서버 측 렌더링 설정 방법과 효과적인 SEO(검색 엔진 최적화)를 위한 최적화, 초기 페이지 로딩 속도 향상에 대해 설명한다.
5장, ‘서버에서 리액트 컴포넌트 렌더링하기’에서는 서버에서 웹 애플리케이션을 렌더링하는 것과 관련된 여러 가지 요소를 살펴본다. 클라이언트로 상태를 전달하는 방법, 리액트 컨텍스트를 사용하는 방법, 그 밖의 문제와 트러블슈팅 등을 살펴본다.
6장, ‘GraphQL 데이터 API 만들기’에서는 노드(Node)와 익스프레스(Express), SQL 기반의 GraphQL 서버를 구현하는 방법을 살펴본다. 전통적인 RESTful API 구조와 비교해 어떻게 동작하는지 이해한다. 서버에서 데이터를 수신하고 검사 및 수정하는 방법을 배운다.
7장, ‘라우팅과 내비게이션 구현하기’에서는 라우팅과 내비게이션 구현 방법에 관해 처음부터 살펴본다. 또한 기존 라이브러리를 동형 웹 앱에 맞게 통합하는 방법도 살펴본다.
8장, ‘인증 및 권한 부여’에서는 애플리케이션 보안의 복잡한 내용들을 살펴본다. 동형 애플이케이션에서 토큰 기반 인증과 접근 제어를 구현하는 방법을 배운다.
9장, ‘애플리케이션 테스트와 배포’에서는 단위 테스트와 통합 테스트를 구성하는 방법에 관해 살펴본다. 클라우드 호스팅 서비스에 앱을 배포하는 방법도 포함된다.

★ 옮긴이의 말 ★

과거에는 자바스크립트를 단순히 클라이언트에서 동적인 효과를 주는 데 주로 사용했다. 그러다가 Ajax가 등장했으며, 이를 시작으로 jQuery 등 수많은 자바스크립트 라이브러리가 나왔고, 이러한 자바스크립트 라이브러리를 사용하지 않는 페이지를 찾아보기 힘든 자바스크립트 시대가 도래했다. 그 이후로도 백본(Backbone), 머스터치(Mustach) 등 화면에 표현해주기 위한 다양한 방법이 계속해서 등장하고 있으며, 이러한 플러그인과 템플릿, 프레임워크는 앵귤러(Angular)에서 정점을 찍게 된다. 하지만 초기 페이지 로딩 속도, 검색 엔진 최적화(SEO), 페이지 깜빡임(FOUC, flash of unstyled content) 이슈 등은 여전히 남아 있었다. 이 시점에 리액트(React)가 등장하면서 서버 측 렌더링을 통해 앞서 언급한 대부분의 이슈를 해결했고, 페이스북을 비롯해 인스타그램(Instagram), 에어비앤비(AirBnb), 넷플릭스(Netflix), 플립보드(Flipboard), 드롭박스(Dropbox) 등 여러 대규모 사이트에 적용하고 있다.
이 책에서는 리액트와 Node.js, 그 밖의 다양한 플러그인을 활용해, 서버와 클라이언트에서 동일한 코드를 사용할 수 있는 동형(Isomorphic) 웹 앱을 구현하는 기법을 소개한다. 적절한 예제를 따라 하면서 자연스럽게 습득할 수 있으며, 개발 경험이 많지 않더라도 기본적인 웹 개발 지식과 Node.js 사용 경험이 있으면 쉽게 이해할 수 있다. 만약 관련 경험이 전혀 없다면, 책을 잠시 덮어두고 Hello World나 튜토리얼을 먼저 확인하고 돌아와서 보면 된다. 출판사의 링크를 통해 내려 받을 수 있는 예제의 동작하는 코드를 확인하려면 package.json 파일에 포함돼 있는 라이브러리를 모두 직접 설치해야 한다. 자, 그럼 즐거운 배움의 시간이 되길 바란다.


목차


1장. 동형 웹 앱 시작하기

__동형 앱이란 무엇인가?
__동형 자바스크립트 코드는 어떻게 작성하는가?
__React.js 소개
__예제 앱 설명
__시작하기 위해 필요한 것
__프로젝트 의존성 설치하기
__기본 프로젝트 구조
__첫 번째 리액트 컴포넌트 만들기
__클라이언트와 서버에서 리액트 앱 렌더링하기
__앱을 로컬에서 실행하고 테스트하기
__요약

2장. 리액트 웹 UI 만들기

__컴포넌트 기반 UI 개발
__상태저장과 상태비저장 리액트 컴포넌트
__프로젝트에서 UI 컴포넌트 그룹화
__UI를 컴포넌트 계층구조로 분해하기
__리액트로 정적 버전 만들기
__기본 동형 라우터 구현하기
__요약

3장. CSS와 미디어 자산으로 작업하기

__리액트 컴포넌트의 인라인 스타일
__CSS Modules 시작하기
__PostCSS 시작하기
__웹팩 로더 시작하기
__이미지와 CSS용 웹팩 설정하기
__여러 CSS 파일에서 공통 설정 공유하기
__요약

4장. 브라우저싱크와 HMR로 작업하기

__브라우저싱크 시작하기
____설치 방법
__HMR 시작하기
__요약

5장. 서버에서 리액트 컴포넌트 렌더링하기

__서버 측 렌더링의 핵심 개념
__트러블슈팅
__서버에서 클라이언트로 컴포넌트 상태 전달하기
__리액트 컨텍스트로 작업하기
__페이지 타이틀과 메타 태그 설정 방법
__타사 라이브러리로 작업하기
__서버 데이터 가져오기
__요약

6장. GraphQL 데이터 API 만들기

__GraphQL의 기초
__GraphQL 쿼리
__GraphQL 타입 체계
__Node.js로 GraphQL 서버 구현하기
__GraphQL 서버에서 SQL 데이터 저장소 사용하기
__배치와 캐시하기
__요약

7장. 라우팅과 내비게이션 구현하기

__서버 라우팅
____익스프레스 라우팅
__클라이언트 라우팅
____해시와 히스토리 API
____리액트 라우팅
__리액트 서버 렌더링
____뷰 렌더링
____애플리케이션에 상태 전달하기
________초기 상태
________react-router-config 사용하기
________Redux 사용하기
__요약


8장. 인증 및 권한 부여

__토큰 기반 인증과 쿠키
____쿠키
____토큰 기반 인증
__JWT
____jwt-simple 사용하기
__서버 인증
____가입하기
________JWT 토큰 클레임
________JWT 토큰 암호
____로그인
____라우팅 리다이렉션
________상위 컴포넌트(HoC) 인증하기
________서버측 인증 확인
____로그아웃
__요약

9장. 애플리케이션 테스트와 배포

__테스트와 배포
____테스트
____Mocha, Sinon, Chai, jsdom, Enzyme으로 리액트 단위 테스트하기
________Mocha
________Chai
________Sinon
________테스트
________Enzyme
____Nightwatch로 통합 테스트하기
__배포
____상용 환경의 모범 사례
________코드에서 해야 할 작업
________환경/설정에서 할 작업
____클라우드 플랫폼에 배포하기
________헤로쿠
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.