Daily NoPD/rEvieW2013.08.04 12:34
HTML5 에 대한 이야기가 나온지 참 오래된 것 같습니다. HTML5 라는 이름으로 표준을 확정지으려던 초기의 방침은 현재는 일부 변경되어 지속적으로 개선, 발전되는 HTML5 로 방향을 잡고 새로운 구현들이 이어지고 있습니다. 더 이상 HTML5 가 표준이 확정되지 않았으니 기다려야 한다는 이야기는 설득력을 갖지 못하는 상황이 된 것이지요.

그렇다면 HTML5 를 어떻게 배우는 것이 좋을까요? 그동안 시중에 나온 많은 책들이 HTML5 와 기존 HTML 4.x 의 차이를 분석하고 CSS3 와의 내용이 밍글되거나 스펙(Specification)을 중심으로 요소들을 나열하다 보니 HTML5 를 처음 접하는 독자 입장에서는 새로운 것을 배우고 공부하기 부담스러웠던 것이 사실입니다.



[ 처음 시작하는 사람을 위한 친절한 구성 ]

오늘 소개해 드리는 "HTML5 웹 프로그래밍 입문" (한빛아카데미/윤인성, 2013) 은 그런 관점에서 초보자들을 위해 추천해 드리고 싶은 책입니다. 책은 HTML 의 기본적인 내용을 집으면서 HTML5 중심으로 페이지를 구성하고 만들어가는 방법을 단계별로 설명해 주고 있습니다. 저자 특유의 대화형(?) 문체는 읽는 사람이 부담 없이 저자와 이야기 하듯 HTML5 와 CSS3, 그리고 JavaScript 를 이용하여 멋진 웹 페이지 제작을 할 수 있도록 도와줍니다.

스펙을 중심으로 풀어낸 기존 HTML5 책들은 너무 많은 스펙과 스펙의 다양한 옵션 등에 독자를 질리게 했습니다. 윤인성 저자는 이 책에서 그런 부분을 과감하게 생략(?)하면서 필요할 때 스펙을 찾아서 확인하는 방식으로 학습을 진행할 것을 권장하고 있습니다. 글 서두에 이야기 한 것처럼 HTML5 가 제공하는 다양한 기능들은 지금 이 순간에도 지속적으로 바뀌고 추가되고 있습니다. 즉, 지금 시점에 스펙을 암기하고 외우는 것은 의미도 없을 뿐더러 외운 것이 자칫 바뀔 수도 있기 때문에 불필요한 일이 될 수도 있습니다.

[ 친절한 저자의 강조, "중요한 것은 꼭 외워둡시다" ]

그럼에도 불구하고 저자는 책의 주요한 부분에선 꼭 암기할 것을 강요(?)하고 있습니다. 스펙에 대한 것이나 다양한 옵션은 굳이 외울 필요가 없으니 과감히 생략하면서도 특정한 단락에서 암기할 것을 강요하는 이유는 무엇일까요? 사람의 기억력은 한계가 있고 세상의 모든 것을 다 기억할 수는 없습니다. 그래서 꼭 기억 해야만 하는 것을 골라낼 필요가 있습니다.

방대한 HTML5 와 CSS3 의 다양한 이야기들 중에서 꼭 기억해야 하는 것들은 사실 경험이 많이 쌓이면 자연스럽게 익힐 수 있는 부분입니다. 그렇지만 처음 입문하는 사람들이나 제대로 기초를 잡지 못한채로 업무에 치이는 사람들에게는 경험치가 존재하기 힘듭니다. 친절하게도 저자는 꼭 기억해야 하는 부분들을 두 번, 세 번 강조해서 이야기 해주고 있습니다. 책의 241 페이지 하단에 나온 내용이 대표적인 예입니다.

(241p 상단 인용)

One True 레이아웃의 핵심은 각각의 행을 독립적으로 구성한다는 것입니다. 이를 구현하기 위해 다음과 같은 규칙을 적용하여 스타일 시트를 작성합니다.

1. 자손에 float 속성을 적용한다.
2. 부모의 overflow 속성에 hidden을 적용한다

width 속성과 height 속성을 지정하지 않고 overflow 속성에 hidden을 적용하면 부유하는 영역을 감쌉니다. 만약 [코드 7-]에서 overflow 속성을 지정하지 않으면 [그림 7-6]처럼 float 속성을 적용한 자손이 있는 행을 다른 행이 침범합니다. 두 가지 공식을 기억하고 있으면 어떠한 레이아웃이든 개발할 수 있습니다. 정말 중요한 내용이므로 기억하기 바랍니다.


[ 이 책 한권만 있으면 되는걸까? ]

" HTML5 웹 프로그래밍 입문 " 책은 초보자들이 쉽게 HTML5, CSS3, JavaScript 를 이해하고 감을 잡을 수 있도록 해주는 좋은 입문서입니다. 그러나 말 그대로 입문서이기 때문에 이 책 한권으로 모든 것을 소화할 수는 없습니다. 이 책을 통해 감을 잡고 기초 공사를 어느정도 했다는 생각이 들면 조금 더 깊은 내용을 다루는 책들을 통해 많은 것을 학습하는 단계적 접근이 필요합니다.

HTML5 나 CSS3, JavaScript 는 각각 한권 이상의 책으로 설명될 정도로 방대한 내용을 가지고 있습니다. 책 한권으로 모든 것을 마스터 할 수 있다면 좋겠지만 그건 너무 큰 욕심입니다 :-) 검색도 충분히 활용하되 늘 곁에 끼고 볼 수 있는 책들을 각 영역별로 준비해 놓고 늘 보면서 코드 한줄을 입력하고 이해하는 것이 중요합니다. 이 책을 통해 아무쪼록 웹 프로그래밍의 재미를 느끼고 새로운 바다에 푹~ 빠질 수 있길 바래봅니다. 

[ 윤인성 저자의 웹 프로그래밍 관련 서적 추천 ]
  



- NoPD -
저작자 표시
신고
Posted by 노피디
Daily NoPD/rEvieW2013.06.22 17:44
어린시절 동전 하나를 넣고 시작하던 오락실의 게임에서부터 스마트폰에서 즐기는 카카오톡 게임에 이르기까지 게임은 사람들의 여가시간을 책임지는 역할을 해왔습니다. 게임에 대해서 안좋은 인식이 있던 시절도 있었고 여전히 그런 사람들이 있지만 예전보다 많이 대중화 되었고 연령을 뛰어넘어 사랑받는 게임들도 많이 탄생하고 있습니다.

게임을 대하는 사람들의 태도는 여러가지입니다. 게임을 적극적으로 즐기는 사람, 그저 킬링타임용으로 즐기는 사람, 카톡에서 친구들과 순위 경쟁을 하는 사람, 혹은 그런 게임을 만들고 싶어하는 사람 등 그 양태도 각양각색입니다. 게임 개발이라는 것이 왠지 어렵게 느껴지고 고도의 그래픽 작업과 프로그래밍 실력이 있어야만 할 것 같습니다. 하지만 "만들면서 배우는 HTML5 게임 프로그래밍" 책을 손에 들고 있으면 어느정도의 재미를 줄 수 있는 게임을 그리 어렵지 않게 만들수 있을 거라는 자신감이 생깁니다.

 
게임을 개발해본 사람들은 게임 개발에 필요한 요소들, 고민해야 하는 것들에 대해 잘 알고 있을 겁니다. 하지만 필자를 포함하여 게임 개발 경험이 없는 사람들은 당장 무엇을 어떻게 시작해야 할지 난감할 뿐입니다. 이 책은 게임을 개발해본 경험이 없는 사람들이 간단하게 자바스크립트로 만든 예제 코드를 통해 게임 개발에 요구되는 다양한 개별 요소들에 대하여 필요성을 인식시켜주고 있습니다. 예를 들어 계속 반복되어야 하는 배경음악과 사용자의 동작에 반응하는 소리를 어떻게 처리해야 하는가? 와 같은 것들이 대표적입니다.

저자가 가이드하는 순서에 따라 하나씩 코드를 만들고 수정하다보면 예제로 만들어보는 게임이 조금씩 완성도가 높아져 가는 모습이 보입니다. 간단한 슈팅게임을 만들면서 소리, 충돌처리, HTML5 를 이용한 게임 로직 개발의 기초를 배우고 이를 바탕으로 게임의 공통적인 부분을 처리해 줄 자바스크립트 기반의 게임 프레임워크를 만들고 템플런, 쿠키런과 대등한(?) 수준의 러너 게임을 만드는 과정을 이야기하듯 보여주고 있습니다.

물론 이 책 하나만 있다고 하여 게임 개발을 끝낼수는 없습니다. HTML5 를 이용해서 게임 개발을 하는 과정을 보여주고 게임 개발에 필요한 요소들을 잘 이해하는 것이 이 책의 주요한 목적입니다. HTML5 나 node.js 에 대한 이야기를 하고는 있지만 게임 개발에 필요한 컴포넌트로서 소개하는 정도이지 깊게 이해할 수 있는 자료를 제공하고 있지는 않습니다. 이 책을 통해서 간단한 게임 개발을 해보고 게임에 필요한 소프트웨어, 시스템적인 구성요소를 잘 이해하게 된다면 그걸로 목적 달성이 되지 않을까 싶습니다.

책에서 깊게 다루지 않는 HTML5, Node.js 에 대한 저자 및 NoPD 의 추천 서적
- 모던 웹을 위한 Node.js 프로그래밍 (한빛미디어, 윤인성 저) [자세히 살펴보기] 
- 모던 웹을 위한 Javascript + jQuery 입문 (한빛미디어, 윤인성 저) [자세히 살펴보기]
- 모던 웹 디자인을 위한 HTML5+CSS3 입문 (한빛미디어, 윤인성 저) [자세히 살펴보기]


책이 700 페이지에 달하고 있어서 읽기 부담스러워 하는 사람이 있을지도 모르겠습니다. NoPD 역시 책을 처음 받으면서 "아... 두껍다!" 라는 생각을 했을 정도입니다. 하지만 중간중간 개발 진행된 HTML 마크업, 자바스크립트 소스코드를 확인하기 위해서 전체 소스코드를 보여주고 있어서 페이지가 많아 보일 뿐이지 실제로 읽으면서 실습하다보면 50~100 페이지씩 진도가 확확 나가는 자신을 발견할 수 있을 것 같습니다.

책의 마지막은 이렇게 만든 게임을 스마트폰으로 포팅하는 과정에 대한 이야기, 페이스북과 같은 소셜 네트워크 서비스에 게임으로 퍼블리싱하는 방법까지 간략히 설명해 주고 있습니다. 게임을 만드는 이유는 혼자 즐기기 위한 것이 아닐 겁니다. 친구들과 함께 즐기고 혹시 가능하다면 게임으로 소소하게 돈도 벌 수 있다면 금상첨화일 겁니다.

시작이 반이라는 이야기가 있습니다. 막연히 카카오톡으로 게임 퍼블리싱을 하고 대박 신화를 이끌어내는 게임들을 보고 부러워만 할 것이 아니라 해보고 싶다면 지금 바로 시작하라고 이야기 해주고 싶습니다. 이 책은 그런 관점에서 초보자들, 입문자들은 물론이고 HTML 이나 자바스크립트, Node.js 등에 익숙한 개발자들이 게임 개발에 자신감을 가질 수 있도록 좋은 멘토가 되줄 것 같습니다. 

Yes24 에서 "만들면서 배우는 HTML5 게임 프로그래밍" 살펴보기 [바로가기]

 
- NoPD -
저작자 표시
신고
Posted by 노피디
Daily NoPD/rEvieW2012.03.17 23:37
개발자들 사이에서 Node.js 가 화재입니다. "Node횽" 이라고 불리울 정도로 개발자들의 일관된 추앙을 받고 있는데, 그 이유가 뭘까요? 최근에 회사를 옮기면서 개발 업무에서 운영성 업무로 역할이 조금 바뀐 NoPD 였지만 여전히 개발자의 피가 흐르고 있었기 때문에 Node.js 가 추앙받는 이유가 궁금해 졌습니다. 그러던 중 한빛미디어를 통해 입수한 "모던 웹을 위한 Node.js 프로그래밍" 은 그 궁금증에 대한 많은 답을 해주었습니다. 

 

Node.js 는 서버에서 구동되는 스크립트 언어입니다. 물론 이름에서 알 수 있는 것처럼 자바스크립트의 형식을 따르고 있습니다. Node.js 는 구글의 크롬에 탑재되고 있는 자바스크립트 엔진인 V8 을 이용하고 있어 근래의 자바스크립트 언어의 특징들을 모두 가지고 있을 뿐만 아니라 성능면에 있어서도 아주 뛰어납니다. 크롬 브라우저의 자바스크립트 성능을 생각하면 이해가 쉬울 것 같습니다. 
 
Node.js 는 다른 서버를 필요로 하지 않습니다. Node.js 코드 내에서 서버를 생성할 수 있고 그 서버를 통해서 클라이언트에게 서비스를 제공할 수 있게 되어 있습니다. 윈도우, 리눅스 등 운영체제를 가리지도 않고 운영체제에 IIS 나 Apache 등 다른 웹서버가 설치되어 있어도 상관이 없습니다. 웹 서버를 통해 서버 사이드 스크립트 언어들 (PHP, ASP.NET, JSP 등) 을 통한 서비스를 제공하면서 Node.js 를 통해 별도의 서비스 제공도 가능한 구조입니다.

서버로서의 역할과 서버 사이드 스크립트로서의 역할을 모두 하다보니 Node.js 는 제공하는 기능과 모듈, 미들웨어 등이 정말 많습니다. "모던 웹을 위한 Node.js 프로그래밍" 책은 간단히 서버를 만드는 것에서부터 렌더링 미들웨어를 사용하거나 클라이언트에서 사용하는 Node.js 스크립트에 이르기까지 Node.js 가 제공하는 것들을 A to Z 로 설명해 주고 있습니다.

Canon | 2012:02:21 18:09:52

보통 개발서들이 소스코드 전체를 나열하거나 특정 부분만을 간략하게 설명하는 경향이 있습니다. 어느정도 이해를 한 사람들에게는 그런 방식이 나쁘지 않을 수 있지만 익숙하지 않은 사람들에게는 헷갈릴 수 있는 방법입니다. 하지만 이 책은 소스코드의 전체 레이아웃을 먼저 보여주고 그 안에 들어갈 소소한 구현들을 상세히 설명해 나가는 방식을 사용하고 있습니다. 코드 한 줄, 한 줄 보다 큰 그림을 먼저 보고 구현을 이해할 수 있게 해주는 측면에서 Node.js 를 떠나 이제 막 개발에 뛰어는 사람들이 좋은 코딩 습관을 가질 수 있도록 해주는 역할도 하고 있습니다.

책의 마지막을 가득 채우고 있는 여러 개의 실용 예제들은 그 아이디어도 나쁘지 않습니다. 조금만 보완하면 실전에 써먹을 수 있을 정도의 예제들입니다. 아직 대학교를 다니고 있는 젊은 피가 준비했다고 생각하기 힘들 정도로 괜찮은 예제라서 책에서 배운 것들을 정리하는 용도 뿐만 아니라 Node.js 를 어떤 식으로 사용해야 할 것인가에 대한 좋은 방향을 제시해 주고 있습니다.

" 모던 웹을 위한 Node.js 프로그래밍 " 은 Node.js 를 처음 시작하려는 사람들에게 좋은 지침서가 될 것 같습니다. 아주 쉽다고 느낄 수도 있지만 필요한 것들에 대한 설명을 빼먹지 않고 꼼꼼히 해주고 있어 모듈, 미들웨어에 대한 레퍼런스로도 손색이 없을 것 같습니다. 좋은 책을 써준 저자에게 다시 한 번 고맙다는 이야기를 하고 싶네요~


- NoPD - 
신고
Posted by 노피디

티스토리 툴바