Archive for the ‘BookReview’ Category.

Developer Book review 10.08.30

IMG_8287

1. 심리를 꿰뚫는 UX 디자인

좋은 기획자란 디자인 장치를 적절히 요구할 수 있는 능력이 요구됩니다. UX를 떠나 경험요소를 떠나 더욱 넓은 카테고리로 보면 고객만족 이라는 거대한 주제를 인식할 수 있습니다.

따라서 UX디자인 또한 고객만족과 관련된 모든 학문이 동원됩니다. 대표적으로 고객을 연구하는 마케팅분야에서 소비자심리학, 인지과학, 언어론, 경제학, 조직학 등의 직접적으로 인접한 학문만 해도 서너 가지가 넘습니다. 현실적으로 이런 모든 학문을 섭렵하기는 어렵기 때문에 직접적으로 관련이 있는 부분을 단편적으로 공부하는 것이 대부분입니다.

하지만 이 책은 그러한 학문들로부터 유도되는 실무상의 기본 이론을 재밌게 동시에 체계적으로 짧은 분량으로 다루고 있습니다. 따라서 켄트백의 구현패턴이 프로그래밍철학의 뼈대를 세워주는 것처럼 웹에서 고객을 어떻게 바라보고 어떻게 만족시킬 것인가에 대한 기본적인 개념을 세워주는 역할을 합니다(물론 UX측면에 특화 되어 있습니다만 ^^)

UX관련 공부하기 전에 입문서로 매우 좋을 뿐만 아니라 전반적인 웹서비스를 이해하는데 있어서도 좋은 교재가 됩니다. 단 이런 짧은 교재가 효과를 보려면 반드시 책 전체를 암기해야 할 필요가 있습니다. 그렇지 않으면 사람은 착해야 해 라는 도덕교과서를 읽었을 때 같은 감상만 남는다는군요 ^^

2. 리치 인터페이스 디자인

이 책은 사실 읽는 책이 아니라 레퍼런스 같은 책입니다. 이미 UX에 대해 심리적인 구조물을 어떻게 왜 사용할지를 아는 사람이 해당 구조물은 보다 구체적으로 언제 어떻게 어떤 점을 주의하여 전략적으로 배치할 것인가에 대한 참고서입니다. 따라서 한 번 쭉 읽고 목차나 요약 정도가 기억에 남게 되면 이후엔 해당 요소를 사용할 때 한 번씩 참고할 수 있습니다.

예를 들어 플레이 리스트에 현재 재생 중인 음악을 넣는 인터페이스를 생각해보죠.

  • 이 때 드래그앤드롭을 쓸까요, 클릭을 쓸까요, 토글을 쓸까요?
  • 왜 그렇게 고르셨나요? 어떤게 어떤 이유로 더 좋은가요?

이 책은 그러한 다양한 UX요소에 대해 정답을 알려주지 않지만 참고할 만한 많은 정보를 제공합니다. 하지만 제가 1번 책과 같이 구매한 이유는 기초적인 UX 나아가 고객에 대한 개념적인 기초가 없다면 그다지 기술적인 UI의 선택이 별로 의미가 없기 때문입니다.

3. 오브젝티브-C로 배우는 아이폰 게임 개발

한 동안 아이폰개발을 쳐박아두면서 언젠가 원서를 사야지 하고 생각하고 있던 녀석인데 역서가 나왔습니다. 낼름 집어왔습니다. 사실 이 책들은 전부 새로 오픈한 광화문 교보에서 사온 것인데 정말 도깨비 시장이 따로 없었습니다.

무리하게 통로를 줄이고 매대를 늘리는 바람에 매우 비좁고 사람에 치이면서 정신도 없었습니다. 게다가! 결정적으로 컴터 섹션이 줄어서 책이 더 없습니다. 기대를 많이 했었는데 자리 잡을 한 두달 정도는 안가게 될 듯합니다.

책에 대해서 말하자면 아주 재밌는 책입니다(저에게 안재밌는 책이 있겠습니까만은 ^^) 일단 게임개발서라고 표방하는 만큼 전부 openGL을 사용합니다. 또한 단지 게임을 부분부분 만들어보는 것이 아니라 제대로 게임엔진을 구축해가는 과정을 보여주고 사운드, 그래픽, 인터렉션, 물리엔진 등 게임엔진이 갖춰야 할 다양한 부분을 빠짐없이 다루고 있습니다. 전체적으로 입문자 수준으로 맞췄기 때문에 내용이 얕은 감이 많지만 그래도 나름 쓸만한 책입니다.

Developer Book review 10.08.17

IMG_8286

1. 처음 시작하는 프로그래밍

제가 요즘 스터디를 하나 하고 있습니다. 교재로 나름 기초서라는 걸 골랐는데 팀원들이 엄청 헤매고 있습니다.
그래서 더욱 기초서를 찾아보니 이 책이 나오더군요. 내용이 엄청 맘에 드는데다가 워낙 쉽게 써놔서 정말 강추 할 만한 입문서입니다.
참..일본사람들 책 잘 씁니다.

2. 프로그래밍 언어

오래 전부터 책방에 갈 때마다 한 챕터씩 읽어서 거의 다 읽어버린 책입니다만, 일단 구매했습니다. 컴퓨터 프로그래밍의 구조와 해석을 본 뒤 갑자기 원론적인 언어론이 땡겨서 이것저것 뒤져봤으나 역시 이 책이 젤 괜찮은 듯합니다.
그나저나 여담인데 컴퓨터 프로그래밍의 구조와 해석이란 책은 좋지만 번역한 역자 일동은 정말 악당입니다.
뭐랄까 자기들이 맘대로 한글화를 하고 싶었던 욕망을 맘대로 분출(분뇨에 가깝죠)하는 바람에 알 수 없는 외계어로 책이 씌여져 있습니다. 차라리 걍 번역기체 번역이 좋았을지도…

Developer Book review 10.08.04

IMG_8285

프로젝트는 왜 실패하는가?

이게 원래는 ‘프로젝트 매니저가 왜 팀을 망가트리는지 알려주는 프로젝트의 휴먼스킬’ 이란 제목입니다.

프로마네를 번역기로 돌리면 프로흉내로 번역되기 쉽상인데 실무에서 자주 사용되는 프로젝트 매니저의 축약어입니다.

여튼 의역한 제목이 여러 가지로 맘에 안드는 부분이 있지만 책 자체는 2004년에 씌여졌음에서도 불구하고 매우 훌륭합니다.

일본책 특유의 친절하고 실용적인 내용으로 채워져 있습니다.

컴퓨터 프로그램의 구조와 해석

얼마 전에 소개 해드렸던 개념을 잡아주는 프로그래밍 정석은 알고리즘의 작성하는 원리 자체를 파이썬을 통해 풀었다면, 훨씬 더 클래식한 이 책은 리스프를 통해 프로그래밍을 짜는 근본적인 원리를 가르치는 책입니다.

이 책은 굉장히 유명한 책으로 내용이 얼마나 좋은지는 구지 떠들 필요가 없을 정도입니다.

바닥부터 프로그래밍이란 걸 배워보고 싶으시다면 이 책입니다.

Developer Book review 10.07.26

IMG_8270

ActionScript for Multiplayer Games and Virtual Worlds

엄청난 실무서인 이 책은 굉장한 내용으로 가득 차 있습니다. 시중에 실질적인 게임서버 구현책자가 흔치 않고 게다가 플래시에 맞춰진 내용은 더욱 희귀하기 때문에 10까지 커버하는 이 책의 가치는 이루 말할 수 없습니다.

따라서 말하지 않겠습니다 ^^

3D GAME TEXTURES

회사가 TAF를 통해 2D를 버리는 현 시점에서 가장 중요한 건 모델링의 품질이고 모델링의 품질에서 가장 중요한 것은 텍스쳐입니다. 텍스쳐의 개념과 어떤 방식으로 텍스쳐를 만들어 가야 하는지에 대한 개념을 알려주는군요

ActionScript 3.0 라이브러리입문

스파크팀의 이번 책은 그야말로 스파크팀의 전원이 집필한 수준입니다. 다양한 라이브러리에 대한 샘플코드가 한 가득 실려있는 책이라 그대로 따라 해보기만 하면 현재 유행(?) 중인 라이브러리를 사용해볼 수 있습니다.

Flex 3 Cookbook

꽤 나온지 오래된 책인데도 제게 없었다는 걸 깨달았습니다. 반쯤 읽어봤는데, 정말 훌륭한 책이군요. Programming Flex3와 함께 두 권을 독파하면 단지 Flex의 문제가 아니라 기업용 어플 작성에 있어서 어떠한 프레임웍구조와 상세적인 정책을 사용하는 게 좋은지에 대해 모범적인 모델을 배울 수 있을 듯 합니다.

Continue reading ‘Developer Book review 10.07.26’ »

Developer Book review 10.07.19

WRITING SOLID CODE

이전부터 명성만 듣다가 갑자기 눈에 띄어 서점에서 집어왔습니다. 명불허전. 역시 대단하군요. 이  책의 배경은 무려 도스와 IBM-PC가 주류이전인 시대입니다.

선구자적인 철학과 개념으로 가득한 프로그래밍의 교과서와도 같은 내용을 담고 있습니다. 요컨데 어느 날 갑자기 켄트백이 TDD를 생각해낸 게 아닙니다. assert는 이미 80년대 개발자들에겐 많이 사용되던 스킬로 전처리가 지원되는 언어라면 거의 이 코드가 안보이는 언어가 없었습니다.

어째서 디버그버전의 검사가 릴리즈버전과 다른지, 어떻게 디버그버전을 보다 버그없이 만들어낼 것인가에 대한 여러 가지 고민은 현대의 개발언어에서도 똑같이 통용됩니다.

제가 주로 사용하는 기본 개발 철학이 격리인데 일단 이 책 제목 자체가 solid를 포함하여 저와는 아주 궁합이 잘 맞는군요.

최근에 추천하는 디버깅 셋트 문고 시리즈에 포함시켜야겠습니다.

제가 추천해드리는 디버깅마스터 코스는 다음과 같습니다(그러고보니 회사에서만 가르치고 한 번도 블로그에서 언급한 적이 없었습니다 ^^)

맨먼스미신 → WRITING SOLID CODE → 켄트백의 테스트주도개발 → Debug It → 프로그램은 왜 실패하는가?

개념 상의 위치를 보건데 저 자리에 이 책이 들어가는군요. 참 왜 이렇게 고대인(?)들은 위대한지 모르겠습니다. 미천한 후손들은 그저 노가다나 할 뿐.

C++ 클래스와 상속

야자와 아저씨의 모든 저서는 항상 훌륭합니다. How to 시리즈로 대표되는 그의 시리즈 저서는 공통된 특징을 지니면서도 명쾌한 문체로 일관성있는 철학을 전달합니다.

국내에는 성안당이 성공과 실패를 결정하는 1% 시리즈로 역서를 출간하고 있습니다(개인적으로 왜 이런 제목을 쓴 건지 이해가 되지만 용서는 안되는 심정이랄까요^^)

일단 야자와 아저씨가 How to에서 깔고 있는 기초적인 철학은 컴터란 물리적인 하드웨어적인 측면하에서 작동하기 때문에 프로그래밍을 작성하거나 개념적인 이론을 다룰 때 반드시 그 하부구조를 이해해야 바른 결론에 도달할 수 있다는 것입니다.

당연하다고요? 당연하다면 당연하지만 전 대부분의 책이 이러한 당연함에 수렴하지 않고 응용층을 이용해 더욱 응용된 코드로 유인하며 무개념만 양산하는 샘플코드로 가득히 채우는 책들만 만나게 됩니다.

따라서 야자와사장님이 외치는 How to는 How to Use라는 답변이 아니라 How to Work? 라는 질문입니다.

책도 이에 충실하게 집필되어 그것이 그렇게 움직이는 원리를 보다 하부구조부터 알기 쉽게 차근차근 설명해갑니다.

또 삽소리를 많이 했군요 ^^;

암튼 간에 이 책은 보통 c++책보다 훨씬 재밌습니다. 전 비얀스트롭책이 아니라 프라이머스 시리즈로 c++을 처음에 배웠습니다. 그 이후 오랜 시간 후에 더욱 제게 영향을 끼친 책은 빅c++이었습니다. 하지만 c++의 역사적인 사실은 결국 비얀스트롭책에 자세하게 있어서 괜히 안보고 버텼다란 후회도 한 적이 있었습니다.

하고 싶은 말이 뭐냐면 야자와사장님의 책은 처음 c++클래스가 어떻게 해서 만들어진 건지 역사적인 사실을 매우 자세하게 코드로 설명해줍니다.

구조체에서 구조체포인터가 생겨나고 구조체 포인터를 함수에 보내기 시작하면서 OOP개념을 도입하는 과정이 어떻게 일어나는지, 결과적으로 구조체의 포인터를 공유하는 함수가 탄생하고 컴파일러 수준에서 함수와 구조체를 바인딩하게 되는 모든 과정을 상세히 설명합니다.

물론 그 이후의 자세한 c++클래스의 스펙도 하나하나 알기 쉽게 설명하는 센스는 여전합니다.

c++의 클래스는 역사적으로 가장 오래된 oop의 아버지입니다.

단지 c++의 클래스를 배우는 문제를 넘어 클래스의 본래 의미를 고찰하는 시간을 갖는 것으로서도 이 책은 충분한 매력이 넘칩니다.

그나저나 주문한 원서 2권은 아직 안왔군요. 대략 도착하면 합쳐서 리뷰를 쓰려고 했는데 곧 하나 더 쓰게 될 듯.