장바구니 담기 close

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

대규모 리액트 웹 앱 개발

대규모 리액트 웹 앱 개발

  • 애디 오스마니
  • |
  • 제이펍
  • |
  • 2025-02-07 출간
  • |
  • 388페이지
  • |
  • 188 X 245 X 19mm
  • |
  • ISBN 9791193926970
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

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

수량
+ -
총주문금액
25,200

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

출판사서평

거대 자바스크립트 웹 애플리케이션을 구축하기 위해 알아야 할 모든 것
오늘날 웹 애플리케이션은 풍부한 기능을 제공하기 위해 점점 복잡해지고 있다. 프런트엔드 개발자들은 마치 거대 괴수처럼 덩치가 커져버린 대규모 애플리케이션을 구축하고 유지보수해야 하는 어려움에 직면했다. 바닐라 자바스크립트로 뚝딱뚝딱 프로토타입을 만들고 점차 필요한 기능을 추가해나가는 식으로는 결코 이 도전적인 과업을 달성할 수 없다. 세심한 계획이 필요하다.

이 책은 대규모의, 유지보수 가능한, 확장성을 가진 자바스크립트 웹 애플리케이션을 구축하기 위해 알아야 할 지식, 도구, 기술, 전략을 집대성한 가이드북이다. 코드 예시는 프런트엔드의 사실상 표준인 리액트로 작성되어 있지만 특정 라이브러리에 종속되는 것이 아니라, 개념 설명에 초점을 두면서 구체적인 라이브러리 또는 도구를 통해 개념을 묘사하는 방식이다.

책은 소프트웨어 복잡성에 관한 고찰로 시작한다. 이어서 브라우저의 작동 원리부터 성능 최적화, 성능 문화까지 성능에 관해서도 깊이 있게 살펴보고, 디자인 시스템, 데이터 가져오기, 상태 관리 같은 핵심 개념을 설명한다. 번역과 국제화, 폴더와 파일의 조직화도 다룬다. 책의 후반부는 좀 더 심화된 주제들로, 개인화, A/B 테스팅, 확장성 있는 웹 아키텍처, 테스팅, 툴링, 기술적 마이그레이션, 타입스크립트 등에 관해 논의한다. 마지막 장에서는 리액트 컴파일러나 리액트 서버 컴포넌트를 비롯해 비교적 새로운 리액트의 기능과 API를 설명한다.

웹 개발의 지평은 매우 넓고 지금 이 순간에도 진화를 거듭하고 있다. 알아야 할 게 많은 대규모 웹 개발의 여러 영역을 충실하게 조망하는 이 책이 어려운 도전을 극복하는 데 큰 통찰을 줄 것이다. 원서에서 제공하지 않는 예제 코드와 추가 자료 URL 모음을 번역서 깃허브 저장소에서 제공한다는 점도 본 번역서의 큰 미덕이다.

주요 내용복잡성, 모듈성, 성능, 디자인 시스템, 데이터 페칭 등 대규모 웹 앱 개발의 핵심 개념번역과 국제화, 리액트 애플리케이션을 구조화하고 효과적으로 확장하는 방법개인화, A/B 테스팅, 확장 가능한 웹 아키텍처, 캐싱 전략, 기술 마이그레이션리액트 코드를 안전하게 만드는 타입스크립트와 테스팅

목차

옮긴이 머리말 x
베타리더 후기 xii
머리말 xiv

CHAPTER 1 시작하며 1

CHAPTER 2 소프트웨어 복잡성 관리하기 6
2.1 복잡성 설명하기 8
2.2 복잡성의 근본 원인 파악하기 9
2.3 소프트웨어 설계 철학 11
2.4 타르 웅덩이 밖으로 12
2.5 단순함이 쉬움을 만든다 13
2.6 은탄환은 없다 14
2.7 시스템 디자인과 아키텍처 복잡성의 비용 15
2.8 팀은 어떻게 복잡성을 관리할 수 있는가? 17
2.9 최고의 해결책은 단순하지만 간단하지 않다 18
2.10 때때로 (필수적인) 복잡성은 다른 어딘가에는 살아남아야 한다 19
2.11 복잡성을 관리하는 데 지속되는 어려움은 무엇인가? 20
2.12 결론 21
2.13 더 읽을 거리 21

CHAPTER 3 모듈성 23
3.1 자바스크립트에서의 모듈 24
3.2 지연 로딩 32
3.3 코드 분할 37
3.4 정리 41

CHAPTER 4 성능 42
4.1 브라우저는 어떻게 작동하는가? 43
4.2 자바스크립트에서의 비용 이해하기와 줄이기 47
4.3 상호작용 최적화 50
4.4 네트워킹 50
4.5 서드파티 의존성의 영향 줄이기 51
4.6 렌더링 패턴 54
4.7 인지된 성능 최적화하기 55
4.8 성능 최적화 자료 58
4.9 성능 문화 61

CHAPTER 5 디자인 시스템 63
5.1 코딩 스타일 가이드 64
5.2 디자인 토큰 66
5.3 컴포넌트 라이브러리 71
5.4 접근성 74
5.5 성능 76
5.6 문서화 77
5.7 케이스 스터디 78
5.8 정리 82

CHAPTER 6 데이터 가져오기 83
6.1 브라우저 API와 간단한 HTTP 클라이언트 83
6.2 보다 세련된 데이터 가져오기 라이브러리 85
6.3 캐시 업데이트하기 92
6.4 효율적인 데이터 가져오기를 위한 팁 100

CHAPTER 7 상태 관리 106
7.1 컴포넌트 간 데이터 관리하기 107
7.2 prop 내려보내기 110
7.3 단순한 상태 관리 113
7.4 상태 관리 전용 라이브러리 115
7.5 마지막 고려 사항 120

CHAPTER 8 국제화 122
8.1 코드에서 텍스트와 콘텐츠를 분리하라 123
8.2 서드파티 지역화 라이브러리를 활용하라 125
8.3 동적 로딩 130
8.4 여러 언어에서의 복수형 처리하기 132
8.5 날짜, 시간, 숫자 형식 나타내기 134
8.6 오른쪽에서 왼쪽으로 쓰는 언어를 고려하라 138
8.7 정리 145

CHAPTER 9 코드 조직화하기 146
9.1 폴더와 파일 구조 147
9.2 명명 규칙 150
9.3 배럴 익스포트 151
9.4 그 밖의 다른 좋은 프랙티스들 152
9.5 정리 157

CHAPTER 10 개인화와 A/B 테스팅 158
10.1 개인화 159
10.2 A/B 테스팅 161
10.3 기능 플래그 168
10.4 정리 172

CHAPTER 11 확장 가능한 웹 아키텍처 173
11.1 확장성 173
11.2 확장 가능한 애플리케이션의 특성 178
11.3 쿠버네티스와 도커는 어디에 적합한가? 179
11.4 Vercel과 Netlify 같은 기술은 어디에 적합한가? 182
11.5 정리 184

CHAPTER 12 테스팅 185
12.1 단위 테스트 186
12.2 엔드-투-엔드 테스트 191
12.3 통합 테스트 200
12.4 스냅숏 테스트 203
12.5 애플리케이션을 어떻게 테스트해야 하는가? 207

CHAPTER 13 툴링 212
13.1 버전 관리: 깃 212
13.2 지속적 통합 215
13.3 번들러 216
13.4 린팅 218
13.5 로깅과 성능 모니터링 219
13.6 정리 221

CHAPTER 14 기술적 마이그레이션 222
14.1 다양한 마이그레이션 전략 223
14.2 마이그레이션 전략 225
14.3 코드모드 226
14.4 생성형 AI의 역할 231

CHAPTER 15 타입스크립트 235
15.1 타입 안전성 235
15.2 빌드 도구와 타입스크립트 238
15.3 구성과 린팅 238
15.4 리액트 + 타입스크립트 242
15.5 선언 파일들 261
15.6 API 결과에 타입 자동 생성 263
15.7 기존 리액트 애플리케이션을 타입스크립트로 마이그레이션하기 270

CHAPTER 16 라우팅 274
16.1 사용자에게 라우팅이 중요한 이유는 무엇인가? 274
16.2 리액트의 라우팅 설루션 279
16.3 정리 290

CHAPTER 17 사용자 중심 API 디자인 292
17.1 일관성 294
17.2 에러 핸들링 300
17.3 문서화 303
17.4 버저닝 305
17.5 보안 309
17.6 이해관계자 참여 315
17.7 최종 고려 사항 316
17.8 더 읽을 거리 317

CHAPTER 18 리액트의 미래 318
18.1 무엇이 달라지는가? 319
18.2 새로운 훅과 API 319
18.3 리액트 컴파일러 333
18.4 리액트 서버 컴포넌트 343
18.5 더 읽을 거리 357

CHAPTER 19 맺음말 358

찾아보기 364

교환 및 환불안내

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