Top

React 16 핵심 정리 2/e [확장 가능하고 유지보수가 쉬운 웹 애플리케이션 제작]

  • 원서명React 16 Essentials - Second Edition: A fast-paced, hands-on guide to designing and building scalable and maintainable web apps with React 16 (ISBN 9781787126046)
  • 지은이아르테미 페도세예프(Artemij Fedosejev), 아담 보두치(Adam Boduch)
  • 옮긴이이승준
  • ISBN : 9791161751375
  • 25,000원
  • 2018년 03월 30일 펴냄
  • 페이퍼백 | 320쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

React는 페이스북과 인스타그램의 UI를 위해 만들어진 자바스크립트 라이브러리이지만, 이제 웹 개발에 갖춰야 할 기술로 확대되고 있다. 특히 React 16은 저작권 문제를 해결해, 사용자층이 더욱 확대될 것이다. 이 책은 React 16의 새로운 사항부터 시작해 간단한 컴포넌트에서 다소 복잡한 컴포넌트에 이르기까지 함께 만들어 보며 기본적인 React 16 활용 지식을 익힌다. 그리고 애플리케이션 아키텍처인 Flux를 활용하고 Redux로 세련되게 만드는 방법까지 자세히 설명한다.

이 책에서 다루는 내용

■ 실습 예제와 명확한 튜토리얼을 통한 React 16 코딩 학습
■ 강력한 React 16 도구를 설치해 훨씬 효율적인 개발
■ 웹 개발의 미래로서 React Fiber에 대한 영향을 이해하기
■ React 컴포넌트를 사용해 Redux 애플리케이션 아키텍처 활용
■ 프로퍼티와 자식을 가진 React 16 엘리먼트 생성
■ 상태 없음 및 상태 기반 React 16 컴포넌트 시작하기
■ JSX를 사용해 React 16 개발 과정 속도 향상하기
■ 생명주기 메서드로 React 16 컴포넌트에 대한 반응성 추가
■ Jest 테스트 프레임워크로 React 16 컴포넌트를 테스트

이 책의 대상 독자

규모 확장 가능하고 유지 보수 가능한 웹 사용자 인터페이스를 개발하고자 하는 프론트엔드 개발자들을 위한 책이다. 자바스크립트, HTML, CSS의 핵심 지식 일부만 알아도 React.js가 웹 개발 세계에 가져온 혁신적인 아이디어의 이점을 활용하는 데 충분하다. 제이쿼리나 Angular.js를 다뤄본 경험이 있다면 React.js가 어떻게 다른지, 그리고 여러 가지 라이브러리와 통합시켜서 어떻게 이용할지 이해하는 데 큰 도움이 될 것이다.

이 책의 구성

1장, 'React 16에서 새로운 점'에서는 React 16의 주요 변경 사항을 소개한다. 여기서는 렌더링 및 조정이 어떻게 작동하는지에 대한 근본적인 변경 사항과 API를 통해 노출되는 새로운 기능을 알려준다.
2장, '프로젝트를 위한 강력한 도구 설치'에서는 이 책의 목표를 언급하고 React 애플리케이션을 효율적으로 구축하기 위해 설치해야 하는 최신 도구를 설명한다. 각 도구를 소개하고 각 도구를 설치하는 방법에 대한 단계별 지침을 제공한다. 그러고 나서 이 책에서 제작할 프로젝트의 구조를 만든다.
3장, 'React 엘리먼트 생성'에서는 React 설치 방법을 설명하고 가상 DOM을 소개한다. 그러고 나서 React 엘리먼트가 무엇인지, 네이티브 자바스크립트 구문을 사용해 어떻게 React 엘리먼트를 만들고 렌더링하는지 설명한다. 마지막으로 JSX 구문을 소개하고, JSX를 사용해 React 엘리먼트를 어떻게 만드는지 보여준다.
4장, '첫 번째 React 컴포넌트 생성'에서는 React 컴포넌트를 소개한다. 상태 없음과 상태 기반 React 컴포넌트 간의 차이점과 어느 컴포넌트를 사용할지 결정하는 방법을 설명한다. 그런 다음 두 유형을 만드는 과정을 안내한다.
5장, 'React 컴포넌트에 반응성 추가'에서는 문제를 React로 해결하는 방법을 설명하고 React 애플리케이션을 계획하는 과정을 단계별로 알아본다. 이 책에서 제작하는 React 애플리케이션 전체를 캡슐화하는 React 컴포넌트를 만든다. 부모 React 컴포넌트와 자식 React 컴포넌트 사이의 관계를 설명한다.
6장, '다른 라이브러리와 함께 React 컴포넌트 사용'에서는 서드파티 자바스크립트 라이브러리와 함께 React 컴포넌트를 사용하는 방법을 살펴본다. React 컴포넌트의 생명주기를 소개하고 마운트 메소드를 사용하는 방법을 설명하며, 이 책의 프로젝트를 위한 새로운 React 컴포넌트를 어떻게 만드는지 보여준다.
7장, 'React 컴포넌트 업데이트'에서는 React 컴포넌트 생명주기의 업데이트 메소드를 소개한다. 자바스크립트에서 CSS 스타일을 사용하는 방법을 알아보고, 기본 컴포넌트의 프로퍼티를 검사하고 설정하는 방법을 설명한다.
8장, '복잡한 React 컴포넌트 생성'에서는 좀 더 복잡한 React 컴포넌트를 개발하는 방법에 초점을 맞춘다. 여러 가지의 React 컴포넌트를 구현하는 방법과 해당 컴포넌트들을 하나로 결합하면서도 제대로 작동되는 React 애플리케이션으로 만드는 방법을 자세히 살펴본다.
9장, 'Jest를 사용한 React 애플리케이션 테스트'에서는 단위 테스트 개념과 Jest를 이용해서 단위 테스트를 작성하고 실행하는 방법을 설명한다. 또한 React 컴포넌트를 테스트하는 방법도 보여준다. 테스트 스위트, 스펙, 예상 값, 부합기matcher에 대해서도 알아본다.
10장, 'Flux를 사용한 React 아키텍처 향상'에서는 React 애플리케이션 아키텍처를 향상시키는 방법을 알아본다. Flux 아키텍처를 소개하고 디스패처, 스토어, 액션 생성기에 대해 설명한다.
11장, 'Flux를 사용한 React 애플리케이션의 유지 보수 준비'에서는 Flux를 이용해서 React 애플리케이션에 대한 관심사들을 분리하는 방법을 설명한다. 장차 유지 보수가 어렵지 않게 React 애플리케이션을 리팩토링한다.
12장, 'Redux를 사용해 Flux 앱을 세련되게 만들기'에서는 Flux 라이브러리의 주요 기능을 살펴본 후 애플리케이션을 완전히 리팩토링해 상태 제어를 위한 주 메커니즘으로 Redux를 사용한다.

저자/역자 소개

지은이의 말

『React.js 핵심정리』(에이콘, 2016)의 초판 이후로 React 생태계에는 많은 변화가 있었다. 더 많은 사람이 React 애플리케이션을 제작하고 있으며, React 애플리케이션을 지원하는 완성도 높은 라이브러리와 프레임워크가 있었는데, 이제 React 16이 나온 것이다. 짧은 기간에 React가 폭발적으로 성장할 수 있었던 데에는 몇 가지 원인이 있다. 훌륭한 커뮤니티 및 관련 자원, React 생태계의 광대한 부분 및 특정 주요 프로젝트의 성숙 단계, 그리고 React 팀 및 프로젝트가 계속 발전하면서 개발자 피드백을 우선순위로 삼으려는 React 팀의 의지를 들 수 있겠다.
나는 중요 React 주제에 참여하는 것이 특권이라고 여긴다. 이 책의 제목에서 알 수 있듯이 이 책은 React의 필수 요소를 가르치기 위한 것이다. 이 최신판은 React 최신 버전에서의 변경 사항을 담고 있으며, 상태 관리를 위해 Redux와 자바스크립트 언어 자체를 사용한다.
나와 함께 떠나보자. React가 사용자 인터페이스 구축의 표준이 될 때 전문가가 돼 보자.

지은이 소개

아르테미 페도세예프 (Artemij Fedosejev)

영국 런던에 거주 중인 기술 수석이다. 2000년대 초반부터 웹 개발자로 일해 왔으며, 프로그래밍을 독학한 웹 개발자다. 아일랜드의 코크 대학교(University College Cork)에서 전산학 학사 학위를 취득했다. IGNITE 경영 혁신 프로그램을 수료했는데, 여기서 Most Innovative Project 상을 받은 웹사이트를 개발하고 출시했다. 또한 React.js와 Flux를 이용해서 WGSA.net과 Microreact.org의 프론트엔드 아키텍처를 생성하는 데 중요한 역할을 했다. Snapkite 엔진, Snapkite 스트림 클라이언트, 그리고 여타 프로젝트 등 다수의 오픈소스 프로젝트를 만들었다.

아담 보두치(Adam Boduch)

거의 10년 동안 대규모 자바스크립트 개발에 참여해 왔다. 프론트엔드로 이동하기 전에 파이썬과 리눅스를 사용해 몇 가지 대규모 클라우드 컴퓨팅 제품을 개발했다. 복잡함을 잘 이해해서 실제 소프트웨어 시스템과 그 시스템이 취한 규모 확장 문제에 대해 현장 경험이 있다. 아담은 팩트출판사의 『React and React Native』(2017) 및 『Mastering Immutable.js』(2017)를 비롯한 여러 자바스크립트 책의 저자이기도 하다. 혁신적인 사용자 경험과 높은 성능에 대한 열정이 대단하다.

옮긴이의 말

최근 기사에 따르면 React 기술을 원하는 기업주는 37%인데 비해 기술력을 갖춘 개발자는 19%에 불과하다고 한다(출처.
http://www.itworld.co.kr/news/108020). 현장에서는 React 기술을 필요로 하는데 그만큼 이 기술을 갖춘 이가 적다는 뜻이다. 이 책의 필요성을 잘 대변해주는 말이기도 하다.
React는 페이스북과 인스타그램의 UI를 위해 만들어진 자바스크립트 라이브러리지만 이제는 웹 개발에 갖춰야 할 기술로 확대되고 있다. 특히 저작권 문제를 해결한 16버전부터는 React 16이라는 새 제품명으로 더욱 사용자층을 넓혀갈 것이다. 이 책으로 국내 개발자들이 React 16을 빠르게 접할 계기를 만들어줄 것으로 생각한다.
1장은 React를 처음 대하는 독자를 어리둥절하게 만들 수 있다. 사실 1장은 기존에 React를 사용해 온 독자를 위한 장이다. 따라서 2장에서 시작해도 좋을 것이다. 독자가 생소하게 느낄 만한 전문 용어에 대해서는 주석을 달아 놓아 손쉽게 관련 용어를 접하게 했다. 이 책으로 React 기술을 습득해 자신의 웹 개발에 멋진 기능을 구현하길 바란다. 아울러 React 활용에 대한 사고의 틀이 더욱 넓혀질 것을 기대한다.

옮긴이 소개

이승준

한아시스템에서 소프트웨어 엔지니어로 근무했으며, 현재 프리랜서로 일하고 있다. 삼각형프레스에서 출간한 『Boogazine JFC PROGRAMMING』(1998), 『Boogazine Visual J++ 6.0』(1998), 『Java Workshop 2.0 21일 완성』(1997)을 집필했고, 편저한 책으로 『JAVA 서블릿 & JSP 프로그래밍 한꺼번에 끝내기』(2002), 『XML 기본+활용 마스터하기』(2002)가 있다. 또한 에이콘출판사에서 출간한 『(개정판) C & C++ 시큐어 코딩』(2015), 『닷넷 개발자를 위한 AngularJS』(2016), 『파이썬 분산 컴퓨팅』(2016), 『Angular 2 컴포넌트 마스터』(2016), 『유니티 게임 개발을 위한 절차적 콘텐트 생성』(2017)을 번역했다.

목차

목차
  • 1장. React 16에서 새로운 점
    • 렌더링에 대한 재고
      • 현재 상황
      • 끝날 때까지 실행
      • 파이버란 무엇인가?
      • 비동기와 앞으로 여정
      • 더 나은 컴포넌트 에러 처리
      • 여러 엘리먼트와 문자열에 대한 렌더링
      • 포탈에 렌더링
    • 요약

  • 2장. 프로젝트를 위한 강력한 도구 설치
    • 프로젝트 시작
    • Node.js와 npm 설치
    • 깃 설치
    • 트위터 스트리밍 API를 이용한 데이터 획득
    • Snapkite 엔진을 이용한 데이터 필터링
    • 프로젝트 구조 생성
    • package.json 생성
    • Node.js 모듈 재사용
    • 웹팩으로 빌드
    • 웹 페이지 작성
    • 요약

  • 3장. React 엘리먼트 생성
    • 가상 DOM의 이해
    • React 설치
    • 자바스크립트로 React 엘리먼트 생성
      • type 매개변수
      • props 매개변수
      • children 매개변수
    • React 엘리먼트 렌더링
    • JSX를 이용해 React 엘리먼트 생성
    • 요약

  • 4장. 첫 번째 React 컴포넌트 생성
    • 상태 없음과 상태 기반
    • 상태를 갖지 않는 첫 React 컴포넌트 생성
    • 첫 번째 상태 기반 React 컴포넌트 생성
    • 요약

  • 5장. React 컴포넌트에 반응성 추가
    • React를 사용한 문제 해결
    • React 애플리케이션 계획
    • 컨테이너 React 컴포넌트 생성
    • 요약

  • 6장. 다른 라이브러리와 함께 React 컴포넌트 사용
    • React 컴포넌트에서 다른 라이브러리 사용
    • React 컴포넌트의 생명주기 메소드 이해
      • 마운트 메소드
      • 마운트 해제 메소드
    • 요약

  • 7장. React 컴포넌트 업데이트
    • 컴포넌트 생명주기의 업데이트 메소드 이해
      • componentWillReceiveProps 메소드
      • shouldComponentUpdate 메소드
      • componentWillUpdate 메소드
      • componentDidUpdate 메소드
    • React 컴포넌트 프로퍼티 기본 설정
    • React 컴포넌트 프로퍼티 검사
    • Collection 컴포넌트 생성
    • 요약

  • 8장. 복잡한 React 컴포넌트 생성
    • TweetList 컴포넌트 생성
    • CollectionControls 컴포넌트 생성
    • CollectionRenameForm 컴포넌트 생성
    • Button 컴포넌트 생성
    • CollectionExportForm 컴포넌트 생성
    • 요약

  • 9장. Jest를 사용한 React 애플리케이션 테스트
    • 단위 테스트를 작성하는 이유
    • 테스트 집합, 스펙, 예상 결과 생성
    • Jest 설치와 실행
    • 여러 개의 테스트와 예상 값 생성
    • React 컴포넌트 테스트
    • 요약

  • 10장. Flux를 이용한 React 아키텍처 향상
    • 웹 애플리케이션의 구조 분석
    • Flux에 대한 이해
    • 디스패처 생성
    • 액션 생성기 생성
    • 스토어 생성
    • 요약

  • 11장. Flux를 이용한 React 애플리케이션의 유지 보수 준비
    • Flux를 사용한 관심사 분리
    • Stream 컴포넌트 리팩토링
    • CollectionStore 생성
    • CollectionActionCreators 생성
    • 애플리케이션 컴포넌트 리팩토링
    • Collection 컴포넌트 리팩토링
    • CollectionControls 컴포넌트 리팩토링
    • CollectionRenameForm 컴포넌트 리팩토링
    • TweetList 컴포넌트 리팩토링
    • StreamTweet 컴포넌트 리팩토링
    • 빌드와 활용
    • 요약

  • 12장. Redux를 사용해 Flux 앱을 세련되게 만들기
    • Redux인 이유
      • 모든 것을 다루는 하나의 스토어
      • 유동 부분 감소
      • Flux의 가장 좋은 부분을 사용
    • 리듀서로 상태 제어
      • 리듀서란 무엇인가?
      • 컬렉션 리듀서
      • 트윗 리듀서
    • 애플리케이션 상태에 컴포넌트 연결
      • 상태 및 액션 생성기를 props에게로 매핑
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.59 : 명령]
transform-lass-properties
->
transform-class-properties