장바구니 담기 close

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

Immutable.js 마스터

Immutable.js 마스터

  • 아담보두치
  • |
  • 에이콘출판
  • |
  • 2019-05-31 출간
  • |
  • 268페이지
  • |
  • 188 X 235 X 15 mm
  • |
  • ISBN 9791161753065
판매가

20,000원

즉시할인가

18,000

카드할인

0원(즉시할인 0%)

적립금

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

배송비

무료배송

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

추가혜택

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

수량
+ -
총주문금액
18,000

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

출판사서평




★ 이 책에서 다루는 내용 ★
■ Immutable.js를 사용해 자바스크립트 코드의 신뢰도를 높이는 방법
■ 불변 데이터를 생성 방법과 퍼시스턴트 체인지 사용 방법
■ 컬렉션 합성과 필터링 방법 그리고 아이템 탐색 방법
■ 시퀀스와 사이드이펙트를 다루는 방법
■ 컬렉션, 맵, 세트의 정렬 방법
■ 프로세싱 체인을 피하기 위한 기법
■ 리스트, 세트, 맵 간의 비교와 이동
■ 불변 패턴과 불변 아키텍처 사용

★ 이 책의 대상 독자 ★
불변성 개념을 활용해 자바스크립트 코드의 신뢰성과 성능을 향상시키고자 하는 사람을 대상으로 하며 기본적인 자바스크립트 지식은 갖추고 있다고 가정한다. 최소한 배열이나 오브젝트를 만들고 조작할 수는 있어야 하며 함수를 생성하고 호출할 수 있어야 한다.


★ 이 책의 구성 ★
1장, ‘왜 Immutable.js인가?’에서는 왜 Immutable.js를 사용하고자 하는지 설명한다.
2장, ‘불변 데이터 생성’에서는 불변 컬렉션 생성의 기초를 설명한다.
3장, ‘퍼시스턴트 체인지’에서는 기존 데이터를 변경하여 새 데이터를 만드는 방법을 다룬다.
4장, ‘컬렉션 필터링과 아이템 탐색’에서는 필요한 데이터를 찾는 방법을 설명한다.
5장, ‘시퀀스와 사이드이펙트 컬렉션’에서는 데이터를 사용하기 위해 컬렉션을 순회하는 방법을 설명한다.
6장, ‘컬렉션 정렬’에서는 제대로 된 순서를 얻는 방법을 다룬다.
7장, ‘매핑과 축소’에서는 컬렉션 데이터 변환의 기초를 설명한다.
8장, ‘지핑과 플래트닝’에서는 이터레이션 및 컬렉션 구조의 단순화를 설명한다.
9장, ‘퍼시스턴트 체인지 감지’에서는 퍼시스턴트 체인지 메서드가 실제로 데이터를 변경했는지 판단하는 방법을 설명한다.
10장, ‘세트 사용’에서는 고유한 컬렉션 값의 생성 방법을 설명한다.
11장, ‘컬렉션 비교’에서는 두 컬렉션 간의 관계를 파악하는 방법을 설명한다.
12장, ‘컬렉션 결합’에서는 컬렉션을 합쳐 새 컬렉션을 만드는 방법을 설명한다.
13장, ‘선언적 의사 결정’에서는 선언적 코드 작성을 돕기 위해 불변 컬렉션을 사용하는 방법을 설명한다.
14장, ‘유저 인터페이스’에서는 사이드이펙트, 불변 컬렉션을 사용한 렌더링 UI 컴포넌트를 설명한다.
15장, ‘Node.js에서의 사이드이펙트’에서는 IO 스트림을 사용해 컬렉션 데이터를 읽고 쓰는 방법을 설명한다.
16장, ‘불변 아키텍처 재사용’에서는 패턴의 형태로 만드는 방법을 설명한다.


목차


1장. 왜 Immutable.js인가?
__뮤테이션은 파괴적이다
____오래된 데이터 삭제
____심각한 버그 발생
____퍼시스턴트 체인지
__Immutable.js 접근법
____컬렉션 API
____새 데이터를 반환하는 컬렉션 메서드
____메서드 콜 연결
__단방향 데이터 흐름
____다른 방향의 존재
____구독 만료
____생성만 되는 데이터
____수행이 어려운 묵시적 사이드이펙트
__Immutable.js와 유사한 라이브러리
____무엇을 비교할 것인가?
____Lodash 추천
__요약


2장. 불변 데이터 생성
__Immutable.js 생성자
____Immutable.js 데이터 타입
____JavaScript 컬렉션 전달
____Immutable.js 컬렉션 전달
__of() 메서드의 사용
____Lists의 of값
____Maps의 of값
____Sets의 of값
____Sequences의 of값
__fromJS() 함수를 사용한 데이터 구문분석
____JavaScript 배열 구문분석
____JavaScript 오브젝트 구문분석
____복잡한 구조 구문분석
__요약


3장. 퍼시스턴트 체인지
__컬렉션에 값 추가
____리스트에 값 추가
____맵에 키-값 쌍 추가
____값 추가 메서드 연결
__컬렉션값 변경
____리스트값 변경
____맵값 변경
____컬렉션 뮤테이션 메서드 연결
__컬렉션에서 값 제거
____리스트에서 값 제거
____맵에서 값 제거
____컬렉션 제거 메서드 연결
__컬렉션 비우기
____새 인스턴스로 컬렉션 교체
____clear() 메서드 사용
__변화 추적
__요약


4장. 컬렉션 필터링과 아이템 탐색
__간단한 비교를 사용한 필터링
____정확한 일치
____크기 비교 연산
____부정 필터링
__키를 사용한 맵 필터링
____문자열 키 필터링
____팬시 키 필터링
__컬렉션값 찾기
____값 존재 검사
____find()를 사용해서 값 얻기
__딥 일치를 사용한 필터링
____is() 함수와 equals() 메서드 사용
____맵의 리스트 탐색
__부분 비교
____맵의 형태
____서브셋과 슈퍼셋
__탐색 방향 변경
____정렬된 컬렉션 탐색
____findLast()와 reduceRight() 사용
__요약


5장. 시퀀스와 사이드이펙트
__느긋한 평가를 써야 하는 이유
____큰 컬렉션은 비싸다
____불필요한 작업 제거
____연결된 연산은 이해하기 쉽다
__시퀀스 생성과 이터레이션
____기본 시퀀스 생성
____컬렉션을 시퀀스로 변환
____for...of 반복문을 사용한 순회
____forEach()를 사용한 순회
__지연 필터링
____기본 지연 필터링
____다중 필터 레벨
__결과 제한과 작업 축소
____take()를 사용한 결과 제한
____slice()를 사용한 페이지 처리
__요약


6장. 컬렉션 정렬
__정렬과 순서 뒤집기
____sort() 메서드
____reverse() 메서드
__맵의 리스트 정렬
____sortBy() 메서드
____다중 키 사용 정렬
__오더드 맵
____순서 보장
____삽입 순서는 정렬 순서와 다름
____set()를 사용한 순서 설정
__맵 정렬
____오더드 맵 생성
____키를 사용한 맵 정렬
__정렬 순서 유지
____삽입 인덱스 찾기
____정말 필요한가?
__요약


7장. 매핑과 축소
__맵의 리스트 매핑
____값 뽑아내기
____새로운 값 계산
__맵의 새 리스트에 매핑
____새로운 키 생성
____키 필터링
__컬렉션 축소
____필터링으로 충분하지 않은 상황
____최솟값 및 최댓값 생성
____값 누적
__지연 매핑
____다중 map() 호출
____매핑 전 필터링
____궁극적인 지연 패턴
__요약


8장. 지핑과 플래트닝
__컬렉션 지핑
____과도한 순회 제거
____간단한 값의 목록 지핑
____맵의 리스트 지핑
____지연 매핑
__컬렉션 플래트닝
____재귀 구조 피하기
____중첩 리스트 딥 플래트닝
____얕은 플래트닝 리스트
____중첩 맵 평탄화
__요약


9장. 퍼시스턴트 체인지 감지
__컬렉션 동등성
____엄격한 비교와 뮤터티브 메서드
__엄격한 비교 vs 깊은 비교
____트랜스포메이션과 뮤테이션 비교
____트랜스포메이션은 항상 새 컬렉션을 반환함
____트랜스포메이션 전 변화 감지
____사이드이펙트 캐싱
__요약


10장. 세트 사용
__세트는 리스트가 아님
____get() 메서드 사용 금지
____지정된 순회 순서 없음
____키만 가진 맵
__중복 제거
____세트로 변환
____세트 변환 후 다시 리스트로 복원
____지연 중복 제거
__오더드 세트
____세트 정렬
____세트 순회
__세트 유지
____고윳값 추가
____중복값 추가
__요약


11장. 컬렉션 비교
__세트 인터섹션
____인터섹션 찾기
____오더드 인터섹션
__리스트 인터섹션
____리스트 인터섹션 줄이기
____리스트 인터섹션 필터링
__컬렉션 디퍼런스
____세트 디퍼런스
____리스트 디퍼런스
__맵 비교
____맵 인터섹션
____맵 디퍼런스
__서브셋과 슈퍼셋
____리스트 서브셋
____리스트 슈퍼셋
__요약


12장. 컬렉션 결합
__맵 병합
____키를 사용한 맵 병합
____복잡한 키를 가진 맵 병합
__리스트 병합
____간단한 값 병합
____맵의 리스트 병합
____리스트의 리스트 병합
__리스트와 시퀀스 연결
____간단한 값 연결
____지연 시퀀스 연결
__덧붙이기와 끼워넣기
____지연값 덧붙이기
____지연값 끼워넣기
__요약


13장. 선언적 의사 결정
__매핑 동작
____키는 논리적 경로, 값은 행동
____함수에서 행동 맵 래핑
__파라미터와 기본 동작
____기본 동작 제공
____매핑 동작 파라미터화
__행동 작성
____일반적인 상위 행동 함수
____논리적 and/or 조건
____복잡한 행동 조합
__요약


14장. 유저 인터페이스 사이드이펙트
__간단한 애플리케이션
____애플리케이션 데이터
____필터 컨트롤
____에피소드 결과
__DOM 사이드이펙트
____HTML 마크업
____에피소드 필터링
____이벤트 처리
____렌더링 요소
__React 사이드이펙트
____애플리케이션 상태
____이벤트 처리와 상태 변경
____에피소드와 엘리먼트 매핑
__요약


15장. Node.js에서의 사이드이펙트
__컬렉션으로 데이터 읽기
____CSV 데이터를 읽고 구문분석
____많은 양의 데이터 읽기
__컬렉션 데이터 쓰기
____컬렉션 순회하며 라인 쓰기
____비동기 데이터와 시퀀스
____지연 시퀀스와 스트림 연결
__요약


16장. 불변 아키텍처
__재사용 가능한 애플리케이션 상태 업데이터
____초기 상태
____사이드이펙트
____상태 갱신 및 사이드이펙트 실행
__초기 애플리케이션 상태
____결과 상태
__새 에피소드 상태 생성
__이벤트와 상태 업데이터
____검색 쿼리 업데이트
____체크박스와 슬라이더 상태 업데이트
____새 에피소드 데이터 업데이트
____새 에피소드 생성
__사이드이펙트 실행
____에피소드 결과 출력
____결과 수량 표시
____새 에피소드 양식 초기화
__요약

교환 및 환불안내

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