리액트를 활용한 대규모 애플리케이션 개발은 비동기 처리, 상태 관리, 성능 최적화 등 다양한 도전을 동반한다. 이 책은 리액트 개발에서 자주 발생하는 안티패턴을 정의하고, 이를 검증된 설계 원칙으로 해결하는 방법을 제시한다. 실용적인 예제와 단계별 접근으로 코드 구조를 개선하고 TDD, 설계 원칙을 통해 신뢰할 수 있는 애플리케이션을 만드는 법을 배운다. 또한, 날씨 애플리케이션 프로젝트를 통해 배운 내용을 실전에 직접 적용해 볼 수 있다. 이 책은 리액트 개발자에게 견고하고 확장 가능한 애플리케이션을 만드는 확실한 길잡이가 될 것이다.
Contents
[PART 1 리액트 기본 개념]
CHAPTER 1 리액트 안티패턴 소개
_1.1 UI 구축의 어려움에 대한 이해
_1.2 상태 관리의 이해
_1.3 예외 흐름 탐색하기
_1.4 리액트의 일반적인 안티패턴 살펴보기
CHAPTER 2 리액트 필수 개념 이해
_2.1 리액트 정적 컴포넌트
_2.2 prop이 있는 컴포넌트 만들기
_2.3 UI를 여러 컴포넌트로 나누기
_2.4 리액트 내부 상태 관리
_2.5 렌더링 과정 이해하기
_2.6 많이 사용되는 리액트 훅
CHAPTER 3 리액트 애플리케이션 구조
_3.1 구조화되지 않은 프로젝트의 문제점
_3.2 프런트엔드 애플리케이션의 복잡함에 대한 이해
_3.3 일반적인 리액트 애플리케이션 구조
_3.4 프로젝트 구조를 체계적으로 유지하기
CHAPTER 4 리액트 컴포넌트 설계하기
_4.1 단일 책임 원칙
_4.2 중복 배제 원칙
_4.3 합성 활용하기
_4.4 컴포넌트 설계 원칙의 결합
[PART 2 테스팅 기법]
CHAPTER 5 리액트 테스팅
_5.1 테스트가 필요한 이유
_5.2 여러 종류의 테스트 알아보기
_5.3 Jest로 하는 개별 단위 테스팅
_5.4 통합 테스트
_5.5 Cypress를 이용한 E2E 테스트
CHAPTER 6 일반적인 리팩터링 기법 살펴보기
_6.1 리팩터링 이해하기
_6.2 리팩터링 전 테스트 추가하기
_6.3 변수 추출하기
_6.4 반복문을 파이프라인으로 바꾸기
_6.5 함수 추출하기
_6.6 매개변수 객체 도입
_6.7 조건문 분해하기
_6.8 함수 이동하기
CHAPTER 7 리액트에서의 테스트 주도 개발
_7.1 TDD 이해하기
_7.2 태스킹 이해하기
_7.3 온라인 피자 가게 애플리케이션
_7.4 애플리케이션 요구사항 세분화
_7.5 애플리케이션 헤드라인 구현
_7.6 메뉴 목록 구현
_7.7 장바구니 만들기
_7.8 장바구니에 아이템 담기
_7.9 애플리케이션 리팩터링
[PART 3 비즈니스 로직과 디자인 패턴 알아보기]
CHAPTER 8 리액트 데이터 관리
_8.1 비즈니스 로직 누수 현상
_8.2 ACL(오류 방지 계층)
_8.3 Prop Drilling 문제 살펴보기
_8.4 Context API를 통한 Prop Drilling 문제 해결
CHAPTER 9 리액트 설계 원칙 적용
_9.1 단일 책임 원칙
_9.2 의존관계 역전 원칙
_9.3 명령과 조회 책임 분리 원칙
CHAPTER 10 합성 패턴
_10.1 고차 컴포넌트를 통한 합성의 이해
_10.2 리액트 훅
_10.3 드롭다운 목록 컴포넌트 만들기
_10.4 헤드리스 컴포넌트 패턴
[PART 4 실무에서의 구현]
CHAPTER 11 리액트 계층 구조 애플리케이션
_11.1 리액트 애플리케이션의 진화
_11.2 코드 오븐 애플리케이션 개선하기
_11.3 장바구니 컴포넌트 구현
_11.4 계층 구조 알아보기
CHAPTER 12 E2E 프로젝트 구현하기
_12.1 날씨 애플리케이션에 필요한 요구사항 확인
_12.2 초기 승인 테스트 작성
_12.3 도시 검색 기능 구현
_12.4 ACL 구현
_12.5 즐겨찾기 추가 기능 구현
_12.6 애플리케이션 재실행 시 이전 날씨 데이터 불러오기
CHAPTER 13 리액트 안티패턴 원칙 돌아보기
_13.1 일반적인 안티패턴 돌아보기
_13.2 디자인 패턴 훑어보기
_13.3 기본 설계 원칙 복습하기
_13.4 기법과 실무 예제 정리
Author
준타오 추,정재명
15년 이상 소프트웨어 개발 분야에서 경력을 쌓아 온 전문가로, 개발자들이 유지보수하기 쉬운 코드를 작성할 수 있도록 돕는 데 열정을 쏟고 있다. 『Maintainable React』(2022)와 『Test-Driven Development with React and TypeScript』(Apress, 2023) 등을 집필하며, 지속적으로 자신의 전문성을 공유하고 있다.
15년 이상 소프트웨어 개발 분야에서 경력을 쌓아 온 전문가로, 개발자들이 유지보수하기 쉬운 코드를 작성할 수 있도록 돕는 데 열정을 쏟고 있다. 『Maintainable React』(2022)와 『Test-Driven Development with React and TypeScript』(Apress, 2023) 등을 집필하며, 지속적으로 자신의 전문성을 공유하고 있다.