Top

HTML5 데이터 처리와 구현 [100가지 예제로 배우는 모던 웹을 위한 데이터 표현 기법]

  • 원서명HTML5 Data and Services Cookbook
  • 지은이고르기 코세브, 미테 미트레스키
  • 옮긴이김태원
  • ISBN : 9788960775954
  • 35,000원
  • 2014년 08월 27일 펴냄
  • 페이퍼백 | 592쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 웹 프로페셔널

책 소개

요약

HTML5에서 데이터를 다루는 방법을 알기 쉽게 설명한 책이다. 이 책에서는 HTML5의 가장 기초적인 텍스트와 그래픽 데이터부터 서버와의 통신 및 간단한 멀티 미디어 사용법까지 다양한 내용을 알기 쉽게 풀이했으며 상세한 예제를 제공한다. 이 책을 읽고 나면 독자 여러분은 HTML5를 십분 활용한 멋진 웹 애플리케이션을 만들 수 있게 될 것이다.

이 책에서 다루는 내용

1장, ‘문자 데이터 표시’에서는 HTML5에서 문자를 표시하는 방법을 알아본다. 그리고 숫자 형식 변환, 수식 표시와 측정을 다룬다. 또한 표 데이터 표시와 매일 개발되는 기능 중 일부를 사용하는 마크다운 렌더링을 보여준다 . 2장, ‘그래픽 데이터 표시’에서는 플롯 차트 라이브러리를 사용해 차트를 만들어보며 최신 D3.js도 다뤄본다. 또한 마커와 경로를 포함한 지도도 다뤄본다.

3장, ‘데이터 애니메이션 표시’에서는 애니메이션 생성과 인터랙티브 시각화를 알아본다. 인터랙티브 시각화는 D3.js를 사용하지만 스크래치에서 시작하는 예제와 통지 API 기술 등을 사용한 예제도 있다.

4장, ‘HTML5 입력 컴포넌트 사용’에서는 간단한 텍스트 입력 사용부터 HTML5에서 추가된 새로운 입력 타입까지 알아본다. 또한 위치 또는 드래그 앤 드롭과 같이 좀 더 진보된 입력의 새로운 속성 사용법을 알아본다.

5장, ‘사용자 정의 입력 컴포넌트’에서는 4장에서 다룬 내용에 이어 새로운 기능이 추가된 사용자 정의 컨트롤 또는 데스크탑 애플리케이션에 있는 컴포넌트를 흉내 낸 컨트롤 등을 만들어본다. 또한 5장에서는 메뉴, 다이얼로그, 리스트 선택, 리치 텍스트 입력 같은 컨트롤을 생성하는 방법을 알아본다.

6장, ‘데이터 검증‘에서는 HTMl5에서 폼 검증을 하는 방법을 소개한다. 텍스트, 숫자를 검증하는 방법을 알아보고 이메일과 숫자를 검증하는 미리 만들어진 검증을 사용하는 방법도 알아본다. 또한 Node.js를 사용해 서버에서 검증하는 방법과 클라이언트와 서버를 연계해 검증하는 방법도 알아본다.

7장, ‘데이터 직렬화’에서는 클라이언트에서 자바스크립트로 JSON, base64, XML 형식으로 직렬화 하는 방법을 소개하며 거꾸로 직렬화된 데이터에서 자바스크립트 객체로 만드는 방법을 알아본다.

8장, ‘서버 통신’에서는 Node.js와 REST API를 배워본다. 또한 순수 자바스크립트로만 HTTP 콜을 만드는 자세한 정보를 알아보며 바이너리 파일을 다루는 방법과 통신 보안도 알아본다.

9장, ‘클라이언트 템플릿‘에서는 Handlebars, EJS, Jade 같은 클라이언트에서 사용하는 가장 인기 있는 템플릿 언어의 사용법을 알아본다. 추가로 언어의 사용법외에 파셜, 필터, 믹스인 같은 진보된 기능도 알아본다.

10장, ‘데이터 바인딩 프레임워크’에서는 다른 두 타입의 웹 프레임워크를 알아본다. 먼저 많은 종류의 클라이언트 측 MVC 프레임워크를 강력하게 표현하는 앵귤라(Angular)를 알아보고 임의의 도메인에서 기능의 폭을 조절할 수 있는 메테오(Meteor)를 알아본다.

11장, ‘데이터 저장소’에서는 HTML5에서 사용하는 새로운 클라이언트 저장소 API를 알아보며 파일을 다루는 새로운 API도 살펴본다. 이 새로운 기능을 활용하면 페이지를 새로고침해도 계속 데이터를 사용할 수 있으며 각 요청에 따라 정보를 전송하지 않는 클라이언트 정보를 저장할 수 있다.

12장, ‘멀티미디어’에서는 이전에는 외부 플러그인으로 수행한 기능인 브라우저에서 비디오와 오디오를 재생하는 방법을 알아본다.

부록 A, ‘Node.js 설치와 npm 사용법’에서는 Node.js를 설치하는 간단한 소개와 함께 npm 패키지 매니저 사용법을 알아본다.

부록 B, ‘커뮤니티와 리소스’에서는 HTML5 발전에 기여하는 단체에 대한 간략한 설명과 역사를 소개한다.

이 책의 대상 독자

이 책은 자바스크립트를 한 가지 방법 이상으로 사용해 본 개발자에게 적합하다. 또한 백엔드(backend) 코드를 많이 사용하고 있지만 HTML5와 자바스크립트와 관련한 실력을 키우고자 하는 사람들을 위한 책이며, 웹 페이지의 코드를 단순하게 복사해 붙여 쓰는 개발자가 실제 내부 구동 방식까지 알고 싶어할 때 적합한 책이다. 그리고 HTML5의 최신 기법과 기능을 습득해 자기계발을 하고 싶은 사람들에게도 유용하다. 이 책은 처음 시작하는 사람에게도 알맞고, HTML이나 자바스크립트 및 제이쿼리를 이미 다뤄본 개발자에게도 적합한 책이지만, 반드시 깊은 지식이 선행되어야 하는 것은 아니다.

이 책의 구성
  • Flot 또는 HTML5 캔버스로 차트 만들기
  • D3.js로 멋진 시각효과 만들기
  • 애니메이션 효과가 있는 인터랙티브한 시각효과 만들기
  • HTML5 입력 도움말 사용하기
  • 사용자 정의 입력 컴포넌트 만들기
  • HTML을 간단히 만드는 클라이언트 템플릿 만들기
  • Angular.js 또는 메테오를 활용한 자동 데이터 바인딩 사용하기
  • Node.js를 활용해 자동 데이터 바인딩 만들기

저자/역자 소개

저자 서문

HTML5는 PC에서부터 태블릿, 스마트폰 심지어는 최신 TV까지 모든 곳에 있다. 웹은 가장 진보된 유비쿼터스 애플리케이션 플랫폼이며 정보 매체다. 또한 최근에는 HTML5가 마이크로소프트 윈도우 8, 파이어폭스 OS, 구글 크롬 OS와 같은 운영체제에 도입됐다. 웹에 있어서 개방성은 가장 중요한 덕목 중 하나다. HTML5는 어떠한 기술에 종속적이며 개별적인 솔루션과는 반대되는 입장에 있다. 또한 HTML5는 지난 몇 년 동안 실로 혁명과도 같은 발전 과정을 거쳐왔다. 자바스크립트 또한 웹 애플리케이션 개발에 있어 서버와 클라이언트 양쪽 모두에서 잘 사용될 수 있도록 발전되어 왔다. 이 책은 최근 HTML5 기능을 빠르게 배울 수 있게 구성됐다. 책을 다 읽고 나면 브라우저와 서버 양쪽 모두에서 사용할 수 있는 자바스크립트 지식을 습득할 수 있을 것이다. 또한 새로운 HTML5 기술을 십분 활용해 작지만 멋진 애플리케이션을 만들 수 있을 것이며 현재 사용하고 있는 애플리케이션에 HTML5의 새로운 기술을 접목할 수 있는 방법을 습득하게 될 것이다.

저자 소개

고르기 코세브(Gorgi Kosev)

Node.js에 기반한 클라우드 솔루션뿐만 아니라 모바일과 데스크탑 HTML5 애플리케이션을 만드는 크리에이션팔(CreationPal)에서 소프트웨어 엔지니어를 이끌고 있다. 또한 스포티팔(SpotyPal)과 구글닥스를 위한 앱저(Appzer) 같은 크리에이션팔에서 사용하는 전반적인 기술 선택과 개발을 맡고 있다. 2008년 세인트 시릴 메소디우스 대학에서 전기공학부를 졸업했으며 2011에 인텔리전트 인포메이션 시스템 전공으로 석사학위를 받으며 컴퓨터 시스템과 기계 학습 협업을 연구했다. 여가 시간에는 핵랩(hack lab)에서 지인들과 하드웨어를 해킹하거나 코드 공유를 하며 피아노를 연주하기도 한다.

미테 미트레스키(Mite Mitreski)

자바와 JVM에 기반한 사용자 정의 엔터프라이즈 애플리케이션 작업을 하고 있으며 과거에는 프로그래밍 코스 트레이너로 일하기도 했다. 또한 마이트는 마케도니아에 있는 개발그룹에서 활발하게 활동하고 있으며 현재는 같은 개발 그룹의 자바 유저 그룹(JUG)의 리더로 활동한다. 그리고 오픈소스 소프트웨어, 오픈 데이터 포맷, 오픈 웹에 열정을 갖고 있으며 가끔씩 블로그(http://blog.mitemitreski.com)에 글을 올리며 트위터(@mitemitreski)에서도 활동한다.

옮긴이의 말

최근 IT 분야의 핫 키워드는 단연 HTML5라고 할 수 있다. 최근 몇 년 동안 HTML5는 기존 HTML과 차이를 못 느낄 정도로 생소한 분야였지만, 현재는 데스크탑과 모바일을 넘어 자동차, TV 분야로까지 퍼져나가고 있으며 몇 년 후에는 없어서는 안 될 기술이 될 것이라고 많은 전문가는 예측한다.

이렇게 빠르게 변해가는 웹 표준시대에 사용자 요구에 맞춰 개발자가 자유롭게 데이터를 처리해 더욱 가치 있는 정보를 도출하는 일은 무엇보다 중요한 요소라고 할 수 있다. 특히 웹이라는 무대에서 무한히 넘쳐나는 데이터를 조합하고 가공해 빠르게 서버로 전송한 뒤 사용자에게 의미있는 정보를 전달하는 행위는 가장 기본적인 비즈니스 모델 중 하나다.

이 책은 이런 웹 표준 흐름에 맞춰 최신 HTML5 기능을 빠르게 습득할 수 있고 쉽게 찾아 볼 수 있도록 구성되어 있다. 책을 다 읽고 나면 새로운 HTML5 기술을 이용해 작지만 멋진 웹 애플리케이션을 만들 수 있게 될 것이다.

옮긴이 소개

김태원

여러 해 브라우저 개발자로 생활하다가 지금은 SK플래닛에서 클라우드 스트리밍 시스템용 웹 플랫폼을 연구 중이다. 또한 TV용 웹 플랫폼에 올릴 유용한 웹앱을 찾아 방랑 중이며 HTML5 표준과 웹 트렌드에도 관심이 많아 항상 최신 기술을 습득하려 발버둥치고 있다. 웹킷 기반 프로젝트를 여러 차례 수행했으며 현재는 크로미움Chromium 기반의 웹 플랫폼 에서 웹의 가치를 잘 표현하고자 노력하고 있다. 에이콘출판사에서 출간한 『WebGL 3D 프로그래밍』(2012), HTML5와 자바스크립트로 만드는 윈도우 8앱』(2013)을 번역했다.

목차

목차
  • 1장 텍스트 데이터 표시
    • 소개
    • 어림수 표시
    • 패딩수 표시
    • 미터법과 영국식 도량형 표시
    • 사용자 시간대 날짜 형식 표시
    • 경과 시간을 동적으로 표시
    • 수식 표시
    • 끝이 없는 스크롤 리스트 생성
    • 정렬할 수 있는 페이지가 있는 테이블 생성
    • 복수 선택 필터 생성
    • 범위 필터 생성
    • 결합된 복잡한 필터 생성
    • HTML로 코드 표시
    • 마크다운 렌더링
    • 자동 업데이트 필드
  • 2장 그래픽 데이터 표시
    • 소개
    • 꺽은선형 차트 만들기
    • 막대형 차트 만들기
    • 파이 차트 만들기
    • 영역형 차트 만들기
    • 혼합형 차트 표시
    • 거품형 차트 만들기
    • 위치를 표시한 지도 보이기
    • 경로가 있는 지도 표시
    • 게이지 표시
    • 트리 표시
    • 웹 글꼴로 나타내는 LED 점수판
  • 3장 디퓨즈 셰이딩
    • 소개
    • 모션 차트 만들기
    • 방향 그래프 표시
    • 실시간 범위 차트 필터 만들기
    • 이미지 캐러셀 만들기
    • 차트 주밍과 패닝
    • 웹 통지 API 사용
    • 데이터 집합을 사용해 지구를 나타내는 지도를 생성
  • 4장 HTML5 입력 컴포넌트 사용
    • 소개
    • text 입력 필드 사용
    • textarea 사용
    • 날짜 입력
    • 시간 입력
    • 전화번호 입력
    • 범위 입력 필드
    • 컬러 선택 입력
    • 단일 선택 드롭다운 사용
    • 다중 선택 리스트 사용
    • 지리 위치 입력
    • 클라이언트에서 파일 입력 사용
    • 드래그앤드롭 파일 영역 사용
  • 5장 사용자 정의 입력 컴포넌트
    • 소개
    • 기본 리치 텍스트 입력을 위한 contentEditable 사용
    • 진화된 리치 텍스트 입력
    • 드롭다운 메뉴 만들기
    • 사용자 정의 대화 상자 만들기
    • 입력 내역 자동 완성 기능 만들기
    • 사용자 정의 단일 선택 리스트 만들기
    • 다중 선택 리스트 만들기
    • 지도를 사용한 지리적 위치 입력
  • 6장 데이터 검증
    • 소개
    • 텍스트 길이 검증
    • 숫자 범위 검증
    • 내장 패턴을 사용한 검증
    • 고급 내장 규칙과 사용자 정의 검증을 사용
    • 패스워드 강도 계산
    • 미국 우편번호 검증
    • 서버 측 검증 기능을 비동기로 활용
    • 클라이언트 검증 기능과 서버 검증 기능을 조합
  • 7장 데이터 직렬화
    • 소개
    • JSON에서 자바스크립트 객체로 역직렬화
    • JSON 문자열로 객체 직렬화
    • base64 방식으로 인코딩된 바이너리 데이터 디코딩
    • 바이너리 데이터나 텍스트를 base64로 인코딩
    • 바이너리 데이터를 JSON으로 직렬화
    • 쿠키의 직렬화 및 역직렬화
    • 폼을 직렬화해 요청 문자열로 형성
    • XML 문서를 DOMParser로 읽기
    • 클라이언트에서 측에서 하는 XML 문서 직렬화
  • 8장 서버 통신
    • JSON을 가져오는 HTTP GET 생성
    • 사용자 정의 헤더가 있는 요청 생성
    • API 버전 작업
    • JSONP로 JSON 데이터 가져오기
    • 서버로부터 XML 데이터 읽기
    • FormData 인터페이스 사용
    • 서버로 바이너리 데이터를 전송
    • Node.js로 SSL 연결 생성
    • 에이잭스 푸시로 하는 실시간 업데이트
    • 웹소켓으로 하는 실시간 메시지 교환
  • 9장 클라이언트 템플릿
    • 소개
    • 핸들바를 사용한 객체 렌더링
    • EJS를 사용한 객체 렌더링
    • 제이드를 사용한 객체 렌더링
    • 핸들바를 사용한 리스트 렌더링
    • EJS를 사용한 리스트 렌더링
    • 제이드를 사용한 리스트 렌더링
    • 핸들바 헬퍼로 템플릿 간소화
    • 핸들바 파셜로 템플릿을 재사용
    • EJS 파셜로 템플릿을 재사용
    • 제이드 필터 사용
    • 제이드 믹스인 사용
    • 제이드에서 레이아웃과 블럭을 사용
  • 10장 데이터 바인딩 프레임워크
    • 소개
    • 데이터 바인딩으로 기본 앵귤러를 생성
    • 리스트 렌더링과 앵귤러 컨트롤러
    • 앵귤러의 라우팅, 필터, 백엔드 서비스
    • 앵귤러 클라이언트 검증
    • 앵귤러 지시자로 차트 컴포넌트 만들기
    • Meteor.js 애플리케이션 구조
    • 반응형 프로그래밍과 Meteor.js에 있는 데이터
    • 라이브 HTML과 Meteor.js 사용자 정의 데이터
    • Meteor.js 보안 메커니즘
  • 11장 데이터 스토리지
    • 소개
    • 데이터 URI
    • 세션 스토리지와 로컬 스토리지
    • 파일에서 데이터 읽기
    • IndexedDB 사용
    • 스토리지 제한과 더 많은 용량 요구
    • 브라우저 히스토리 다루기
  • 12장 멀티미디어
    • 소개
    • 오디오 파일 재생
    • 비디오 파일 재생
    • 미디어 엘리먼트 사용자 정의 컨트롤
    • 비디오에 자막 넣기
    • 멀티미디어 임베딩
    • HTML5 오디오를 사용해 텍스트를 음성으로 변환
  • 부록 A Node.js 설치와 npm 사용
  • 부록 B 커뮤니티와 리소스

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안