한빛리더스3기_로고

한빛리더스3기_로고


본 도서는 한빛미디어에서 지원받은 책으로 작성한 리뷰이며, 자세한 내용은 아래 링크를 참조하시기 바랍니다.


웹 페이지를 만들 때, 기본적인 태그만 만든 후에 , CSS와  자바스크립트는 샘플 코드들에서 찾아서 쓰는 수준인데, 버전이 바뀌면 그래도 기본적인 명세나 사용시 주의사항 등은 한번 읽어둘 필요가 있어 골랐습니다. 

제목도 좀 유치하면서도 어렵게 느껴지는 " ( 사전처럼 바로 찾아쓰는 ) HTML5 핵심 API " 라 좀 얇고 쉽게 읽힐 책일 줄 알고 골랐습니다만 예상과 달리 쉽게 읽히지만 반복해서 보게 될만한 책이 되버렸습니다. ^^;; 

HTML4 명세는 매우 훌륭했지만, 대학 주도로 만들어져서 그런지 현실과는 좀 동떨어진 느낌이 있었습니다. 지향하는 방향은 훌륭하지만 상세한 방법론에서 브라우저 벤터 재량대로 하라는 주문이 많앗습니다. 브라우저 전쟁에 연루되지 않기 위해서였을까요? 브라우저 벤더의 자유를 지나치게 존중했던 탓에 난립하는 API를 정리하지 못하는 한계가 있었습니다. 

2010년 중반부터 HTML5는 웹 세상의 화두가 되었습니다. HTML5 명세에는 여러가지 장점이 있지만, 정식 버전으로 발표되기도 전부터 이렇게 뜨거운 관심을 모은 주된 이유는 새 명세에서 현실을 존중하면서도 일관되게 브라우저 API를 표준화하고 있어서 입니다. 물론 그 선두에는 Canvas, 웹 폼 2.0, 클라이언트 데이터베이스, 지오로케이션 같이 눈길을 끄는 기능이 있습니다. 

- 추천사 중에서. 한선용


HTML5 가 어떤 건지 혹은 어떤 의미인지 내용에 들어가기 전에 이미 감을 잡을 수 있도록 친절하고 알기 쉽게 설명을 해주고 있습니다. 

이 책은 HTML5 의 API 위주로 설명합니다. HTML5 의 API 라고 해도 그 양이 워낙 방대하기 때문에 그 중에서도 사용자가 직접적으로 접하는 UI 와 그래픽, 오디오, 지오로케이션 등을 주된 내용으로 합니다. API 위주이다 보니 자바스크립트에 대한 내용이 많지만 1 장부터 차근차근 살펴본다면 이해하는 데 크게 어려움은 없을 것입니다. 
- 옮긴이의 말 중에서. 윤준 


지은이인 하나토 후토미의 설명 부분이 참 좋은데, 이 분은 HTML5 의 진정한 효과는 PC 에서 드러날 것이고, HTML + 자바 스크립트 + CSS 가 모든 PC 애플리케이션의 기반이 될 것이며, 우리가 이미 배웠거나 앞으로 배우고자 하는 웹표준은 미래의 모든 장치에 응용할 수 있을 것이라 예상하고 계십니다. 이런 설명을 풍부해진 웹 생태계의 현황(?) - 자바 스크립트의 진화, API 표준화의 현실, RIA ( Rich Internet Application ), 웹표준과 플러그인, 브라우저의 구현 현황 등 - 들을 짚어보고 근거로 제시하고 있습니다. 

현업 종사자가 아닌 관계로 깊은 뜻까지 이해할 수는 없겠지만, 비교적 쉽게 쓰여진 문장들이라 HTML5 과 웹표준 기술이 어떤 흐름을 지향하고 있는지는 알 수 있었고, 세세한 명세까지 외우지는 못하더라도 대강의 개념이라도 익혀두면 나중에 써먹을 곳이 있겠다 싶은 느낌이었습니다. 그러니 나중에 찾아봐도 손쉽게 사용할 수 있을 만큼 내용이 충실한지가 관건이었는데, 첫 느낌은 대만족이었습니다. ^^;; 

책표지

출처 : 한빛미디어


일단 읽기에 편합니다. 책이 두꺼워서 그렇지 구성도 일목요연하고, 설명하는 패턴도 살펴보면 군더더기없이 깔끔합니다. 
구성은 DOM 스크립팅의 기초, 폼, Canvas, 비디오와 오디오, 텍스트 편집, 드래그 앤 드롭, File API, 웹 워커, Geolocation API 정도입니다. HTML5 에 관한 다른 책들의 목차를 보면 한두개 정도 차이가 있을 뿐입니다. 설명하는 방식은 무작정 태그나 API를 적어놓고 설명하는 게 아니라 HTML5 에 어떤 명세가 있는데, 어떤 기능을 하고, 어떤 상황에서 써야 한다는 식의 설명 후에 실제 API 의 기능명세와 샘플 코드, 그리고 결과화면을 같이 곁들여 줍니다. 그러면서 중간중간 필요한 경우에 주의사항과 브라우저별 구현현황, 그리고 관련명세의 링크주소를 알려줍니다. 다른 책들도 이런 간결한 설명들로 진행하지만, 웹 서적을 읽다가 이젠 익숙해진건지 글 내용이 한눈에 들어오더군요. ^^;; 사실 Canvas 부분은 한번만 읽고 넘어갔는데, 이 부분은 좀 어렵더군요. ^^;; 다른 부분들은 이해가 잘 안가서 잠깐 돌아가 보면 금새 감이 오는 수준이었습니다. 

앞으로는 웹 표준의 구현을 얼마나 했는가에 따라 브라우저를 평가하는 경쟁이라고 하더군요. 그렇기에 아직 HTML5 의 완전한 교과서라고 하기에는 무리겠지만, 일단 개념이 잡히니 찾아쓸 수 있는 HTML5 핵심 API 가 될 수 있을 것 같습니다. 


WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,





한빛리더스3기_로고

한빛리더스3기입니다.


본 도서는 한빛미디어에서 지원받은 책으로 작성한 리뷰이며, 자세한 내용은 아래 링크를 참조하시기 바랍니다.


웹표준, 웹2.0 기술이 널리 알려지기 시작한 이후, 오히려 브라우저의 웹페이지 로딩이 늦어지거나, 먹통이 되는 증상을 더 자주 발견하게 된다. 전문 웹개발자가 아니어도 짜증이 나기는 마찬가지며, ( 물론 정도의 차이는 있겠지만 ) 나름 전산계통에서 몇년 굴러먹은 수준으로 이 문제들에 대한 대처방안을 찾아보곤 했지만, 아무래도 한계를 느끼며 허탈해 하곤 했다.

" 자바스크립트 성능 최적화 " 라는 책제목을 보고 일단 " 성능 최적화 " 라는 말이 들었갔으면 구성과 동작원리에 대한 얘기가 나올 테고 이를 통해 브라우저 및 최근 어디나 사용하고 있다는(?) Ajax 얘기도 꽤 나올 것 같아 읽게 됐는데, 결론은 대만족이다. 물론 읽은 이의 수준을 고려해 정말 좋은 내용인지는 스스로 판단해 주길 바란다. ^^;;

책표지_20111002

적을 피하기 위해 죽은 척 하기도 한다는 짧은 귀 부엉이입니다.


 
지은이 블로그 : http://www.nczonline.net/about/

이 책의 목차는 자바 스크립트이 개발순서에 따라 구성되었고, 크게 자바 스크립트 로딩 ( 1 장 ), 코딩 테크닉 ( 2 장 ~ 8 장 ), 배포 ( 9 장 ), 테스트 ( 10 장 ) 으로 이뤄져 있다. 로딩부터 시작한다는 건 정말 체계적으로 시작한다는 뜻이다. 이 책은 자칭 중,고급자용이라고 하지만, 사용한 단어나 문장들이 크게 어렵지 않았다. 물론 각 브라우저별로 사용하는 테스트 툴들이나 야후에서 개발한 내용들이 생소하긴 하지만, 그 밖의 것들은 전산을 전공한 사람이라면 충분히 알아들을 만한 수준이었고, 표현이 너무 간결하면서도 단정적이라 배우는 사람의 입장에서는 오히려 편했다.

자바스크립트의 원래 목적은 웹 페이지에서 폼 입력 오류 등으로 인한 사용자의 시간 낭비를 줄이는 것이었습니다. 폽에 입력된 값이 유효한지 검사하는 등의 간단한 작업 위해 서버까지 갔다가 돌아오는 대신 이러한 기능을 자바스크립트가 페이지에서 직접 수행했습니다. 이렇게 해서 서버까지 왕복하는 시간을 줄일 수 있었습니다.
- 6쪽 발췌

왜 최적화가 필요한가
...
사실 인터넷 익스플로러 6이 느려진 것이 아니라 해야할 일이 늘어났을 뿐입니다.
...
그 단적인 예가 인터넷 익스플로러 6의 가비지 컬렉션 루틴입니다. 인터넷 익스플로러 6의 자바 스크립트 엔진은 메모리에 있는 객체가 일정 숫자까지 증가했는지 살펴서 가비지 컬렉션 시기를 결정합니다. 초기 웹 애플리케이션 개발자는 인터넷 익스플로러 6에서 정해 놓은 한계선을 넘기는 일이 드물었지만 자바스크립트 코드가 길어지면서 메모리에 남는 객체의 숫자도 늘어났고 복잡한 웹 애플리케이션은 이 한계선을 자주 넘깁니다. 문제가 무엇인지 분명해졌습니다. 자바스크립트 개발자와 웹 애플리케이션은 진화했지만, 자바스크립트 엔진은 그렇지 않기 때문입니다.
...
결과적으로 다른 언어에서는 컴파일러가 하는 최적화 작업을 자바스크립트에서는 개발자가 직접 할 수밖에 없습니다.
- 7 ~ 8 쪽 발췌
참고 : 차세대 자바스크립트 엔진이 등장했으며, 크롬은 코드 최적화 기능이 있는 자바스크립트 엔진을 탑재한 최초의 브라우저입니다.


다양한 브라우저들이 자바 스크립트 코드를 받아들이면서 어떻게 동작을 시작하며, 데이타의 송수신, DOM, 알고리즘 등등을 어떻게 활용해서 사용자 체험을 극대화할 수 있도록 성능을 높일 수 있는지 알려준다. 그냥 개념적으로 설명하는 것이 아니라 직접 테스트한 수치들과 그 근거들에 대해 탄탄한 이론을 바탕으로 알기 쉽게 정리하고 방향으로 잡아준다.

먼저 저자의 서문을 읽어보고, 각 챕터의 마지막 " 요약 " 부분을 읽으면서 몰랐던 내용이거나 납득이 간다면 선택해서 구체적인 이론을 습득해가야 할 것이다.


요즘에는 웹 개발자들도 시스템 엔지니어 쪽의 알고리즘이나 흐름제어에 상당히 영향을 받은 것으로 보여진다. 빌드와 배포를 최적화 하는 것도 그런 흐름이 아닐까 싶기도 하다. 어쨌거나 컴퓨터 프로그래밍을 공부하거나 웹 개발 분야를 전문적으로 파헤쳐 보려는 사람들에게는 아마 필수 서적이 되지 않을까 싶다.


책을 보고나니 아이러니하게도 요즘 벌어지는 브라우저 먹통 증상이나 하얀 화면, 오류메시지 창의 주요 원인이 이놈의 자바 스크립트 때문일 가능성이 높다는 생각이 절로 든다. 사실 그 자바스크립트를 짠 웹개발자나 아니면 무작정 개발팀을 압박하는 윗선의 문제일테지만..

정말 우리나라 웹개발자들이 이 책을 읽는다면 적어도 지금 우리가 접하는 불쾌한 사용자 체험이 많이 개선될 것 같다는 느낌은 든다. 물론, 이 책의 스타일을 모두 적용하려면 죽어날 것이라는 느낌도 팍팍 온다. ^^;;

WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,