자바스크립트 + 리액트 디자인 패턴

자바스크립트 + 리액트 디자인 패턴

$28.00
Description
20가지 이상의 디자인 패턴으로 배우는 최신 웹 개발
유지보수가 쉬운 구조적인 코드를 만들고 싶은가요? 최신 웹 개발 모범 사례를 참고하고 싶은가요? 그렇다면 『자바스크립트 + 리액트 디자인 패턴』이 해답입니다. 이 책은 모듈, 믹스인, 관찰자, 중재자 패턴을 포함한 최신 디자인 패턴을 자바스크립트와 리액트에 적용하는 방법을 소개합니다. 그리고 코드 스플리팅, 서버 사이드 렌더링 등 실무에 필요한 성능과 렌더링 관련 내용을 실용적인 예제와 함께 설명합니다. 또한, 여러 안티 패턴도 함께 다루고 있어 웹 개발을 할 때 흔하게 발생하는 실수를 줄이는 노하우까지 배울 수 있습니다. 이 책에 담긴 20가지 이상의 디자인 패턴을 익혀 더 나은 웹 개발자에 한 걸음 더 다가가세요.
저자

애디오스마니

저자:애디오스마니
구글크롬개발팀을이끄는엔지니어링리더.크롬개발자경험팀을총괄하며웹을빠르고즐겁게개발할수있도록힘쓰고있습니다.여러오픈소스프로젝트를진행했으며,다수의책을저술했습니다.개인블로그주소는addyosmani.com입니다.

역자:윤창식
어릴적부터컴퓨터에매료되어프론트엔드개발자의길을걸어왔으며,현재는개발자교육에전념하고있습니다.오픈소스와토이프로젝트를즐기며,다양한개발자들과소통하는커뮤니티활동에도적극적으로참여하고있습니다.기술의빠른진화에적응하는방법과깔끔한코드작성의중요성을강조하며,이를통해지속가능한개발문화를만들어가고자노력하고있습니다.

목차

CHAPTER01디자인패턴소개
_1.1디자인패턴의역사
_1.2패턴이란무엇인가
_1.3디자인패턴의일상활용사례
_1.4마치며

CHAPTER02패턴성검증,프로토패턴그리고세가지법칙
_2.1프로토패턴이란?
_2.2패턴성검증
_2.3세가지법칙
_2.4마치며

CHAPTER03패턴구조화및작성
_3.1디자인패턴의구조
_3.2모범패턴
_3.3패턴작성하기
_3.4마치며

CHAPTER04안티패턴
_4.1안티패턴이란?
_4.2자바스크립트안티패턴
_4.3마치며

CHAPTER05최신자바스크립트문법과기능
_5.1애플리케이션분리의중요성
_5.2모듈가져오기와내보내기
_5.3모듈객체
_5.4외부소스로부터가져오는모듈
_5.5정적으로모듈가져오기
_5.6동적으로모듈가져오기
__5.6.1사용자상호작용에따라가져오기
__5.6.2화면에보이면가져오기
_5.7서버에서모듈사용하기
_5.8모듈을사용하면생기는이점
_5.9생성자,게터,세터를가진클래스
_5.10자바스크립트프레임워크와클래스
_5.11마치며
_5.12관련자료

CHAPTER06디자인패턴의유형
_6.1배경
_6.2생성패턴
_6.3구조패턴
_6.4행위패턴
_6.5디자인패턴의분류
_6.6마치며

CHAPTER07자바스크립트디자인패턴
_7.1생성패턴
_7.2생성자패턴
__7.2.1객체생성
__7.2.2생성자의기본특징
__7.2.3프로토타입을가진생성자
_7.3모듈패턴
__7.3.1객체리터럴
__7.3.2모듈패턴
__7.3.3모듈패턴의변형
__7.3.4WeakMap을사용하는최신모듈패턴
__7.3.5최신라이브러리와모듈
_7.4노출모듈패턴
__7.4.1장점
__7.4.2단점
_7.5싱글톤패턴
__7.5.1리액트의상태관리
_7.6프로토타입패턴
_7.7팩토리패턴
__7.7.1팩토리패턴을사용하면좋은상황
__7.7.2팩토리패턴을사용하면안되는상황
__7.7.3추상팩토리패턴
_7.8구조패턴
_7.9퍼사드패턴
_7.10믹스인패턴
_7.11서브클래싱
_7.12믹스인
__7.12.1장점과단점
_7.13데코레이터패턴
_7.14의사클래스데코레이터
__7.14.1인터페이스
__7.14.2추상데코레이터
_7.15장점과단점
_7.16플라이웨이트패턴
__7.16.1사용법
__7.16.2데이터공유
__7.16.3전통적인플라이웨이트구현방법
__7.16.4플라이웨이트로변환하기
__7.16.5기본팩토리
__7.16.6외부상태관리하기
__7.16.7플라이웨이트패턴과DOM객체
__7.16.8예시:중앙집중식이벤트핸들링
_7.17행위패턴
_7.18관찰자패턴
__7.18.1관찰자패턴과발행/구독패턴의차이점
__7.18.2장점
__7.18.3단점
__7.18.4발행/구독패턴구현하기
_7.19중재자패턴
__7.19.1간단한중재자구현
__7.19.2유사점과차이점
__7.19.3이벤트집합패턴의활용
__7.19.4중재자패턴의활용
__7.19.5이벤트집합패턴(발행/구독)과중재자패턴결합하기
__7.19.6최신자바스크립트에서의중재자패턴과미들웨어
__7.19.7중재자패턴vs퍼사드패턴
_7.20커맨드패턴
_7.21마치며

CHAPTER08자바스크립트MV*패턴
_8.1MVC패턴
__8.1.1Smalltalk-80의MVC패턴
_8.2자바스크립트의MVC
__8.2.1모델
__8.2.2뷰
__8.2.3템플릿
__8.2.4컨트롤러
_8.3MVC를사용하는이유는?
_8.4자바스크립트와Smalltalk-80의MVC
_8.5MVC정리
_8.6MVP패턴
__8.6.1모델,뷰,프리젠터
__8.6.2MVPvsMVC
_8.7MVVM패턴
__8.7.1역사
__8.7.2모델
__8.7.3뷰
__8.7.4뷰모델
__8.7.5뷰와뷰모델복습
__8.7.6뷰모델vs모델
_8.8장단점
__8.8.1장점
__8.8.2단점
_8.9MVCvsMVPvsMVVM
_8.10최신MV*패턴
__8.10.1MV*패턴과리액트
_8.11마치며

CHAPTER09비동기프로그래밍패턴
_9.1비동기프로그래밍
_9.2배경
_9.3프로미스패턴
__9.3.1프로미스체이닝
__9.3.2프로미스에러처리
__9.3.3프로미스병렬처리
__9.3.4프로미스순차실행
__9.3.5프로미스메모이제이션
__9.3.6프로미스파이프라인
__9.3.7프로미스재시도
__9.3.8프로미스데코레이터
__9.3.9프로미스경쟁
_9.4async/await패턴
__9.4.1비동기함수조합
__9.4.2비동기반복
__9.4.3비동기에러처리
__9.4.4비동기병렬
__9.4.5비동기순차실행
__9.4.6비동기메모이제이션
__9.4.7비동기이벤트처리
__9.4.8async/await파이프라인
__9.4.9비동기재시도
__9.4.10async/await데코레이터
_9.5실용적인예제더보기
__9.5.1HTTP요청보내기
__9.5.2파일시스템에서파일읽어오기
__9.5.3파일시스템에파일쓰기
__9.5.4여러비동기함수를한번에실행하기
__9.5.5여러비동기함수를순서대로실행하기
__9.5.6함수의결과를캐싱하기
__9.5.7async/await로이벤트처리하기
__9.5.8비동기함수실패시자동으로재시도하기
__9.5.9async/await데코레이터작성하기
_9.6마치며

CHAPTER10모듈형자바스크립트디자인패턴
_10.1스크립트로더에대한참고사항
_10.2AMD
__10.2.1모듈알아보기
__10.2.2AMD모듈과jQuery
__10.2.3AMD에대한결론
_10.3CommonJS
__10.3.1CommonJS시작하기
__10.3.2여러의존성동시에사용하기
__10.3.3Node.js환경에서의CommonJS
__10.3.4CommonJS는브라우저환경에적합할까?
__10.3.5CommonJS관련참고자료
_10.4AMDvsCommonJS:동상이몽
__10.4.1UMD:플러그인을위한AMD및CommonJS호환모듈
_10.5마치며

CHAPTER11네임스페이스패턴
_11.1네임스페이스의기초
_11.2단일전역변수패턴
_11.3접두사네임스페이스패턴
_11.4객체리터럴표기법패턴
_11.5중첩네임스페이스패턴
_11.6즉시실행함수표현식패턴
_11.7네임스페이스주입패턴
_11.8고급네임스페이스패턴
__11.8.1중첩네임스페이스자동화패턴
__11.8.2의존성선언패턴
__11.8.3심층객체확장패턴
_11.9권장하는패턴
_11.10마치며

CHAPTER12리액트디자인패턴
_12.1리액트소개
__12.1.1리액트용어소개
__12.1.2리액트의기본개념
_12.2고차컴포넌트
__12.2.1고차컴포넌트조합하기
__12.2.2장점
__12.2.3단점
_12.3렌더링Props패턴
__12.3.1상태끌어올리기
__12.3.2컴포넌트의자식으로함수전달하기
__12.3.3장점
__12.3.4단점
_12.4리액트Hooks패턴
__12.4.1클래스컴포넌트
__12.4.2구조변경의필요성
__12.4.3복잡성증가
__12.4.4Hooks
_12.5상태Hook
__12.5.1이펙트Hook
__12.5.2커스텀Hook
__12.5.3Hook관련추가정보
__12.5.4Hook의장단점
__12.5.5HookvsClass
_12.6정적가져오기
_12.7동적가져오기
__12.7.1로더블컴포넌트
__12.7.2상호작용시가져오기
__12.7.3화면에보이는순간가져오기
_12.8코드스플리팅
__12.8.1경로기반분할
__12.8.2번들분할
_12.9PRPL패턴
_12.10로딩우선순위
__12.10.1SPA의Preload
__12.10.2Preload+async기법
__12.10.3크롬95+버전에서의Preload
_12.11리스트가상화
__12.11.1윈도잉/가상화의작동방식
__12.11.2List컴포넌트
__12.11.3Grid컴포넌트
__12.11.4웹플랫폼의발전
_12.12결론
_12.13마치며

CHAPTER13렌더링패턴
_13.1렌더링패턴의중요성
_13.2클라이언트사이드렌더링(CSR)
_13.3서버사이드렌더링(SSR)
_13.4정적렌더링
__13.4.1점진적정적생성(ISR)
__13.4.2On-demandISR
__13.4.3정적렌더링요약
_13.5스트리밍SSR
_13.6엣지SSR
_13.7하이브리드렌더링
_13.8점진적하이드레이션
_13.9아일랜드아키텍처
__13.9.1아일랜드아키텍처구현하기
__13.9.2아일랜드아키텍처의장점과단점
_13.10리액트서버컴포넌트
__13.10.1RSC와Next.jsAppRouter를활용한하이브리드렌더링
_13.11마치며

CHAPTER14리액트애플리케이션구조
_14.1소개
__14.1.1모듈,기능또는경로별그룹화
__14.1.2파일유형별그룹화
__14.1.3도메인및공통컴포넌트기반의혼합그룹화
_14.2최신리액트기능을위한애플리케이션구조
__14.2.1리덕스
__14.2.2컨테이너
__14.2.3Hooks
__14.2.4StyledCo

출판사 서평

20가지이상의디자인패턴으로배우는최신웹개발
유지보수가쉬운구조적인코드를만들고싶은가요?최신웹개발모범사례를참고하고싶은가요?그렇다면『자바스크립트+리액트디자인패턴』이해답입니다.이책은모듈,믹스인,관찰자,중재자패턴을포함한최신디자인패턴을자바스크립트와리액트에적용하는방법을소개합니다.그리고코드스플리팅,서버사이드렌더링등실무에필요한성능과렌더링관련내용을실용적인예제와함께설명합니다.또한,여러안티패턴도함께다루고있어웹개발을할때흔하게발생하는실수를줄이는노하우까지배울수있습니다.이책에담긴20가지이상의디자인패턴을익혀더나은웹개발자에한걸음더다가가세요.

최신디자인패턴을자바스크립트와리액트에적용한다!
기초부터고급주제의패턴까지체계적으로배우며성능,렌더링패턴까지!
디자인패턴은코드를체계화하기위한공통적인패턴을제공해코드를쉽게이해하도록돕고,다른개발자와의의사소통을원활하게해줍니다.이책은이러한디자인패턴을자바스크립트와리액트에적용하여보다구조적이고,효율적인웹개발을가능하게합니다.또한,디자인패턴만을다루는것에그치지않고,패턴을적용하는여러모범사례와함께코드의구성,성능,렌더링과같이좋은웹애플리케이션을개발할때필요한주제도다루고있습니다.따라서이책을다읽게되면,디자인패턴에대한깊은이해와함께어떻게패턴을자바스크립트코드와리액트애플리케이션에적용할지파악하는능력을갖추게될것입니다.효율적인웹개발을향한길이바로여기에있습니다.

주요내용
컴포넌트와애플리케이션을구조화하기위한아키텍처패턴
모든수준의개발자가활용할수있는20가지이상의자바스크립트,리액트디자인패턴
생성,구조,행위패턴등다양한디자인패턴의분류
동적가져오기와코드스플리팅등성능에영향을주는필수패턴
서버사이드렌더링,하이드레이션,아일랜드아키텍처등렌더링패턴