장바구니 담기 close

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

D3js 실시간 데이터 시각화

D3js 실시간 데이터 시각화

  • 파블로 나바로 카스틸로
  • |
  • 에이콘출판
  • |
  • 2015-08-20 출간
  • |
  • 400페이지
  • |
  • 188 X 235 X 24 mm /943g
  • |
  • ISBN 9788960777538
★★★★★ 평점(10/10) | 리뷰(1)
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

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

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

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

출판사서평

★ 이 책에서 다루는 내용 ★

■ 다른 프로젝트에서도 사용할 수 있는 재사용 가능한 차트 작성
■ 폴리필(polyfill)을 사용해서 SVG가 지원되지 않는 브라우저에서도 작동하는 차트 작성
■ D3와 백본(Backbone)을 사용한 대화형 단일 페이지 애플리케이션 작성
■ D3 기반 차트 패키지 작성, 테스트, 배포
■ 자체 제작 지도 작성 및 지도 라이브러리와 D3의 통합
■ 노드(Node)와 D3를 활용한 실시간 애플리케이션 작성

★ 이 책의 대상 독자 ★

복잡한 데이터 시각화를 만들 수 있는 방법을 배우고 싶은 소프트웨어 개발자라면 이 책은 필수 아이템이다. D3에 대한 기초 지식이 있는 독자에게 적합하며, 실제 현장에서 사용되는 예제를 중심으로 데이터 시각화 애플리케이션의 구조를 설계하고 엔터프라이즈 수준의 차트와 인터랙티브 대시보드를 만들고 싶어 하는 사람에게 더없이 좋은 선물이 될 것이다.

★ 이 책의 구성 ★

1장, ‘데이터 시각화’에서는 데이터 시각화에 더 친숙해질 수 있도록 흥미로운 시각화 프로젝트나 레퍼런스 예제를 보여준다. 역사 속에서의 시각화 예제를 살펴보고 어떤 점이 D3를 데이터 시각화에 아주 적합한 도구로 만드는지 알아본다.

2장, ‘재사용 가능한 차트’에서는 다수의 프로젝트에서 사용될 수 있는 설정형 차트(configurable chart)를 만드는 법을 알아본다. 이 장에서는 웹 페이지 내의 요소들을 다루기 위해 셀렉션(selection)을 쓰는 방법과 재사용 가능한 바코드 차트를 만드는 법을 완전히 처음부터 익혀보고, 커스텀 레이아웃 알고리즘을 만들어서 방사형 막대 차트에 적용해 볼 것이다.

3장, ‘SVG 없이 시각화 제작’에서는 현재 브라우저 시장에서의 SVG 지원 상태에 대해 토론해보고 SVG를 지원하지 않는 브라우저에서 시각화를 만드는 전략을 알아본다. div 요소를 써서 움직이는 버블 차트를 만들고, 브라우저의 SVG 지원 여부를 알아내는 방법을 배우고, HTML5의 canvas 요소를 사용해서 SVG 도형을 렌더링하는 폴리필(polyfill)을 적용해 볼 것이다. D3와 canvas를 함께 사용해서 시각화를 만드는 방법도 알아볼 것이다.

4장, ‘D3로 색상 선택기 제작’에서는 사용자 상호작용을 위한 요소와 컨트롤을 만드는 데 필요한 개념들을 알아본다. 4장에서는 슬라이더 컨트롤을 만들기 위해 D3의 드래그 동작과 재사용 가능한 차트 패턴을 사용한다. 슬라이더 컨트롤을 이용해서 CIE Lab 컬러 모델 기반의 재사용 가능한 색상 선택기(color picker)를 만든다.

5장, ‘사용자 인터페이스 제작’에서는 차트에서 특정 요소를 강조하기 위해 이벤트 리스너를 사용하는 법을 알아본다. 툴팁을 만드는 방법을 살펴보고, 앞 장에서 만든 차트에 툴팁을 적용하는 방법을 배워본다. 영역 차트를 만들어서 brush 동작을 통해 차트의 일부 영역을 선택하는 방법을 익힌다.

6장, ‘차트끼리의 상호 작용’에서는 백본(Backbone)을 써서 데이터와 시각화를 분리하여 구조화된 웹 애플리케이션을 만들어보고, D3를 융합하는 방법을 알아본다. 애플리케이션 상태의 일관성을 유지할 수 있도록 모델과 뷰, 컬렉션과 라우터를 구현하는 방법을 배운다. 6장에서 배운 내용을 5장에서 구현한 영역 차트에 적용해서 시계열 주가(stock price)를 볼 수 있는 애플리케이션을 만들어 본다.

7장, ‘차트 패키지 제작’에서는 D3를 이용한 차트 패키지를 만드는 개발 작업흐름을 소개한다. 패키지를 구현하고, 조직화하고 배포하는 데 가장 적합한 도구와 모범 사례를 소개한다. 만들어 낸 차트 패키지를 외부 라이브러리처럼 사용하는 샘플 프로젝트를 만들어 볼 것이다.

8장, ‘데이터 기반 애플리케이션’에서는 웹 애플리케이션 예제를 통해 시각화 프로젝트를 배치(deploy)할 수 있는 도구를 소개한다. 세계은행의 데이터 API를 이용해서 인간 개발 지수(indicators of human development)의 추이를 볼 수 있는 시각화 애플리케이션을 만들어 본다. 시각화 프로젝트 호스팅을 위해 깃허브(GitHub) 페이지를 이용하는 방법을 알아보고, 정적인 웹 사이트(static website)를 호스팅하기 위해 아마존 S3를 사용하는 방법을 살펴본다.

9장, ‘대시보드 제작’에서는 대시보드를 만들기 위한 개념과 모범 사례를 소개한다. D3와 커스텀 차트를 써서 학급 내 학생들의 성적을 모니터링할 수 있는 대시보드를 직접 만들어 본다.

10장, ‘지도 제작’에서는 D3의 지리(geographic) 함수를 이용해서 벡터 지도를 만드는 방법을 알아본다. 지리 데이터를 획득하는 방법과 지리 데이터를 D3에서 사용하기 편리한 GeoJSON과 TopoJSON 형식으로 변환하는 방법을 배운다. D3를 사용해서 등치 지역도(choropleth map)를 만들고 TopoJSON 라이브러리를 써서 국가 간 인접과 경계를 시각화할 것이다. Mapbox와 함께 커스텀 D3 레이어를 만드는 방법도 알아본다.

11장, ‘고급 지도 제작’에서는 몇 가지 지리학적 투영법(geographic projections)을 소개하고 지도를 특정 위치에 중심과 축척을 맞추도록 투영법을 설정하는 방법을 알아본다. 회전하는 지구를 표현하기 위해 정사영법Orthographic projection을 적용해보고, 전체 화면의 별자리도(star map)를 만들기 위해 항성 목록(star catalog)과 평사도법(Stereographic projection)을 사용한다. 정사영법을 써서 지구를 래스터(raster) 이미지로 canvas에 투영하는 방법도 알아본다.

12장, ‘실시간 애플리케이션 제작’에서는 실시간 애플리케이션을 만들기 위해 필요한 개념과 도구를 소개한다. 애플리케이션의 상태를 실시간으로 업데이트하기 위해 Firebase를 쓰는 법을 배운다. 끝으로 Node, Socket.IO, D3를 함께 사용해서 사용자가 정의한 주제에 맞는 지오태그(geotag) 트윗의 지리 분포를 볼 수 있는 실시간 애플리케이션을 만들어 본다.

목차

1 데이터 시각화
__데이터 시각화의 정의
____데이터 시각화의 종류
________인포그래픽
________탐색적 시각화
________대시보드
________데이터 시각화 배우기
__D3 라이브러리 소개
__정리

2 재사용 가능한 차트
__재사용 가능한 차트 제작
____D3로 요소 생성
________데이터 바인딩
________요소 생성 캡슐화
________svg 요소 생성
____바코드 차트
________접근자 메소드
________차트 초기화
________데이터 추가
________데이터 접근자 함수 추가
________데이터셋 업데이트
________enter와 exit 전이 고정
__바코드 차트 사용
__레이아웃 알고리즘 생성
____방사형 레이아웃
________각도 계산
____레이아웃 사용
__정리

3 SVG 없이 시각화 제작
__SVG 지원 브라우저 현황
__SVG 없는 시각화
____데이터 로딩 및 정렬
____포오스 레이아웃 메소드
____색상과 크기 설정
____범례 만들기
__폴리필
____기능 검사
____canvg 예제
__캔버스와 D3
____캔버스에서 도형 그리기
________도형 생성
________D3와 canvas 통합
__정리

4 D3로 색상 선택기 제작
__슬라이더 컨트롤 제작
____드래그 반응
____슬라이더 제작
____슬라이더 사용
__색상 선택기 제작
____색상 선택기 호출기
________색상 선택기 윈도우 추가
____색상 선택기 윈도우
__정리

5 사용자 인터페이스 제작
__차트 요소 강조
__툴팁 제작
____툴팁 사용
__브러시를 통한 영역 선택
____영역 차트 생성
____브러시 추가
____브러시 리스너
__정리

6 차트끼리의 상호 작용
__백본의 기초
____이벤트
____모델
____컬렉션
____뷰
____라우터
__주식 탐색기 애플리케이션
____주가 차트 생성
________종목명 차트
________주식 영역 차트
____애플리케이션 구조 준비
________인덱스 페이지
____모델과 컬렉션 생성
________주식 모델
________주식 컬렉션
________애플리케이션 모델
____뷰 구현
________타이틀 뷰
________주식 선택기 뷰
________주식 컨텍스트 뷰
________주식 상세 뷰
________애플리케이션 뷰
____라우터 정의
____애플리케이션 초기화
__정리

7 차트 패키지 제작
__개발 작업 흐름
____코드 작성
____릴리스 생성
________시맨틱 버전 번호
__패키지 내용 생성
____열 지도 차트
____행렬 레이아웃
__프로젝트 셋업
____Node 모듈 설치
____그런트로 빌드
________소스 파일 합치기
________라이브러리 압축
________JSHint로 코드 검사
________패키지 테스트
________태스크의 순서 등록
____프론트엔드 의존성 관리
__다른 프로젝트에서 패키지 사용
__정리

8 데이터 기반 애플리케이션
__웹 애플리케이션 생성
____프로젝트 준비
____제킬을 이용한 정적 사이트 생성
____애플리케이션 컴포넌트 작성
________모델 및 컬렉션 작성
________뷰 작성
________애플리케이션 셋업
____깃허브 페이지를 이용한 호스팅
____아마존 S3를 이용한 호스팅
________S3에 배포하기 위한 제킬 설정
________S3 버킷에 사이트 업로드
__정리

9 대시보드 제작
__대시보드 정의
__대시보드 디자인에 도움이 되는 좋은 습관
__대시보드 제작
____대시보드의 목적 정의
____데이터 수집
____정보 조직화
____대시보드 영역 생성
________학생 영역
________과목 영역
________학급 영역
________대시보드 영역 배치
__정리

10 지도 제작
__지리 데이터 수집
____GeoJSON과 ToppoJSON 형식의 이해
____지리 데이터 파일 변환 및 조작
__D3로 지도 제작
____등치 지역도 제작
____위상 매핑
____Mapbox와 D3 함께 사용
____Mapbox 프로젝트 생성
____Mapbox와 D3의 조합
__정리

11 고급 지도 제작
__지도 제작을 위한 여러 가지 투영 방식
____정방형 투영법
____원뿔 등거리 투영법
____직교 투영법
__지구 회전 기능 생성
__대화형 별자리 지도 제작
____항성 목록 선택
____항성 그리기
____투영 방식 변경과 회전 동작 추가
____항성에 색과 레이블 추가
__D3를 이용한 래스터 이미지 투사
____래스터 이미지를 canvas에 렌더링
____픽셀의 지도 상의 좌표값 계산
____직교 투영을 이용한 이미지 재투영
__정리

12 실시간 애플리케이션 제작
__Firebase를 사용한 실시간 협업
____Firebase 설정
____Firebase와 애플리케이션 통합
__트위터 탐색기 애플리케이션
__스트리밍 서버 생성
____트위터 스트리밍 API
________Twit을 이용하여 트위터 스트리밍 API에 접근
____Socket.IO
____스트리밍 서버 구현
__클라이언트 애플리케이션 생성
____애플리케이션 구조
________모델과 컬렉션
________토픽 컬렉션 뷰 구현
________애플리케이션 뷰 생성
________애플리케이션 준비
__정리

저자소개

저자 파블로 나바로 카스틸로(Pablo Navarro Castillo)는 수학 공학자이자 개발자로서, 프랑스의 쌩떼띠엔느 대학(Ecole des Mines de Saint-Etienee)에서 응용수학 석사학위를 받았다. 수년간 오퍼레이션 리서치 분야와 데이터 분석 분야에서 일한 후 지금은 데이터 시각화 컨설턴트 및 개발자로 일하고 있다.
『d3.js를 이용한 데이터 시각화』(에이콘, 2014)와 『Data Visualization with D3.js Cookbook』의 기술 감수자로 팩트출판사와 함께 일해왔다. 2014년에 칠레 산티아고에 마세가(Masega)라는 데이터 시각화 에이전시를 설립하여 운영하고 있다.

도서소개

D3.js는 HTML5 기반 데이터 시각화 라이브러리의 대명사라고 해도 좋을 만큼 훌륭한 시각화 도구다. 이 책 [D3.js 실시간 데이터 시각화]는 D3.js의 기본 내용과 백본(BackBone) 같은 MVC 프레임워크, Socket.io 같은 실시간 동기화 네트워크 라이브러리와 함께 Node.js상에서 실시간 데이터 시각화를 만들어가는 과정을 담고 있다. 프론트엔드 개발의 한 축으로서 실전 데이터 시각화를 접해보고 싶은 분에게는 유용한 정보를 제공할 것이다.

교환 및 환불안내

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