Nov 302007
 

프로그래머이다 보니 읽으면서 참 찔리는 점이 많았다. 특히 프로그래머는 대화상자를 좋아한다는 말에 절로 고개가 끄덕. 뭐 결론은 인터랙션 디자이너에게 맡기고 프로그래머는 관여하지 않는 쪽이 가장 낫다라고 난다. 그렇지만 아직까지 인터랙션 디자이너가 보편화된 직업이 아니다. 그렇기 때문에 절대 피해야 할 프로그래머의 인터페이스 관여가 조금씩 이루어 진다. 그렇기 때문에 인터랙션 디자인에 대해서 완벽하진 않지만 어느정도 알고 있어야 한다.

페르소나라는 단어를 이 책에서 처음 접했는데, 인터랙션 디자인은 물론 개발진 내부의 의사소통에도 엄청난 도움이 되는 것을 볼 수 있었다. 대략적이고 평균적인 사용자 집단 보다는 구체적인 페르소나 여러명을 사용자로 생각하고 디자인 한다는 것이 핵심. 친절한 소프트웨어가 되기 위해서는 무척이나 도움이 되지만 역시 재미를 목표로 하는 게임에는 페르소나를 잡는 다는 것 자체가 무척이나 무리가 될 것 같다. 하지만 UI를 비롯해 사용자와의 인터랙션에는 충분히 써 먹을 수 있을 것 같다.

직접 인터랙션 디자인을 맡아 참여했던 프로젝트에서 자기가 설명한 이론들이 이떻게 소프트웨어를 변화시켰는지 이야기 해 주는 부분들이 있었는데, 충분히 납득되는 이야기들이 다시 한번 인터랙션 디자인의 중요성을 느끼게 해주었다. 또한 이 부분들이 이 책에서 가장 재미 있었다. 더군다나 뭐 듣보잡이 이런 얘기를 하는 것도 아니고 비주얼 베이직의 아버지 앨런 쿠퍼의 얘기니 귀기울여 들을 필요가 있는 것도 당연하다.

프로그래머 - 사용자가 이것을 프린트하고 싶어하면 어떻하죠?

인터랙션 디자이너 - 로즈메리는 프린팅하는 데는 별로 관심이 없습니다.

프로그래머 - 하지만 누군가 프린트하기를 원할 지도 모르잖아요.

인터랙션 디자이너 - 우리는 로즈메리를 위해 디자인하는 것이지 '누군가'를 위해 디자인 하는 것이 아니에요.

221 page

진보한 프로그래머 - 로즈메리가 이것을 프린트하고 싶어할까요?

즐거운 인터랙션 디자이너 - 아니오. 하지만 제이콥은 분기별로 프린트된 리포트를 원할 수도 있어요.

진보한 프로그래머 - 좋아요. 그렇게 거의 필요하지 않은 경우라면, 괜히 우리가 직접 화려한 리포트 작성 기능을 만들 필요없이 돈으로 살 수 있는 도구를 하나 정해 라이센스를 받는 편이 우리의 시간과 노력을 절약할 수 있겠군요.

즐거운 관리자 - 그러면 출시 예정 스케줄을 2주나 앞당길 수 있어요!

222 page

 

by-nc-sa

Nov 082007
 

2판이 있는데, 목차를 살펴보니 새로 추가된 내용이 많아서 샀다. 상당히 많은 부분이 추가 되었고 내용들도 수정되고 추가 되었다. TR1에 대한 소개도 추가되었고 템플릿쪽에 대한 얘기가 늘어났다. 두번째로 보는 C++ 책이라 불리는 책이니 책에 대한 다른 칭찬의 말은 필요도 없을 것.

EC++을 산지는 꽤 됐는데, 이번엔 대충 훑어 보기보다는 틈틈히 정리하며 자세히 보다보니 무척 많은 시간이 걸렸다. 정말 읽어보면 난 속 편하게 프로그래밍을 했구나 하는 생각이 드는건 당연. 참 이렇게 내공이 넘치는 고수의 책을 읽는 것은 감동적이고도 즐겁다. 엄청난 내공을 지닌 무림 고수님들이 이렇게 내공이 실린 책을 많이 내주면 좋겠다. 굽신굽신

EC++에서 언급한 것들을 내가 짜는 코드에 자연스럽게 스며 들게 하는데에는 무척이나 많은 시간이 걸릴것 같다. 읽을 때는 "아하!" 뭐 이런 감탄사를 막 뱉어도, 시간이 지나면 또 잊어먹고 만다. 틈날때 마다 또 읽어보고 가까운 자리에 배치시켜 놔야겠다.

 

by-nc-sa

Nov 062007
 

The conversion truncates; that is, the fractional part is discarded.

- 4.9 Floating-integral conversions, ISO/IEC 14882

표준에 정의된 float에서 integer의 변환은 fractional part를 버리는 것으로 이루어 진다. 내림이 아니라 버리는 것이다.

 

std::cout << "static_cast<int>(4.6f) = " << static_cast<int>(4.6f) << std::endl;
std::cout << "static_cast<int>(-5.3f) = " << static_cast<int>(-5.3f) << std::endl;
static_cast<int>(4.6f) = 4
static_cast<int>(-5.3f) = -5

여기까지는 기본적인 내용이다. 내부적으로 한 번 살펴보면, MS Visual Studio에서는 _ftol()을 호출해서 변환을 한다. _control87, _controlfp, __control87_2를 사용해 rounding 방법을 바꿀 수도 있다.

Continue reading »

by-nc-sa

Nov 052007
 

프로그래머의 이야기를 담고 있는 책이라서 무척이나 재미있게 읽을 수 있었다. 프로그래머들이 소프트웨어를 서비스하며 겪는 에피소드들이 무척이나 공감이 갔다. 읽다 보니 내가 겪었던 일들도 생각이 나기도 했다.

경험이 부족하거나 담력이 약한 프로그래머는 자신의 코드에서 치명적인 실수가 발견되면 심히 당황하여 정상적인 판단능력을 상실한다. 사태를 수습하기 위해서 힘을 모으는 것이 아니라 다른 사람을 비난하거나 자기를 변호하기 위해서 힘을 낭비한다.

- 130 page

실수는 아픈 고통을 안겨주지만 성장하는 사람은 그것을 자신의 일부로 끌어안고 실수와 함께 나아간다. 실수 자체는 비웃을 일이 아니다. 다만 실수와 함께 성장하지 못하는 사람은 웃음거리가 될 만하다.

- 196 page

Continue reading »

by-nc-sa

Nov 032007
 

이건 집에서 사용하는 Subversion이다. 그래서 Author가 다 Administrator이다.

 

업무를 하다가 보면 이런 메시지로 커밋된 것을 발견할 수 있다. 이런 메시지를 보는 즉시 한숨이 나오는건 당연. 가끔 너무 짜증나서 책상을 내려칠때도 있다. 도대체 어떤 버그가 고쳐졌다는 얘긴지 알 수가 없다. 이런 메시지를 적어서 커밋을 한 당사자에게 1달 정도 뒤에 어떤 버그를 고쳤는지 물어보고 싶다. 우리나라에서 서비스 하는 버전에서 특정 버그가 수정되었는데, 이걸 다른 나라에도 적용시키기 위해서 해당 체인지 셋을 찾는데 엄청난 시간을 소비하다가 저런 메시지가 찍힌 체인지셋이 내가 찾던 것이라면 정말 솟아 오르는 짜증을 참기란 어려울 것이다. 버그 수정이라고 메시지를 남겼지만, 내가 생각하기에는 저런 메시지 자체가 버그이다.

Continue reading »

by-nc-sa

Nov 032007
 

Suppose you're on a game show, and you're given the choice of threedoors: Behind one door is a car; behind the others, goats. You pick adoor, say No. 1, and the host, who knows what's behind the doors, opensanother door, say No. 3, which has a goat. He then says to you, "Do youwant to pick door No. 2?" Is it to your advantage to switch your choice?

- A widely known statement of the problem is from Craig F. Whitaker of Columbia, Maryland in a letter to Marilyn vos Savant's September 9, 1990, column in Parade Magazine (as quoted by Bohl, Liberatore, and Nydick).

게임 쇼 마지막에 부상을 준다고 한다. 단 꽁짜로 그냥 주지는 않는다. 3개의 문 중에서 하나를 고르라고 하는데, 하나의 문 뒤에는 멋진 차가 있고 나머지 문에는 염소가 있다. 꽁짜로 차를 얻기 위해서 고심을 하다가 하나의 문을 고르게 되는데, 그냥 그 문을 열어주지 않고 사회자가 나머지 2개의 문 중 염소가 있는 하나의 문을 열어주면서 "선택을 바꾸시겠습니까?"라고 물어본다.

딱 확률적으로만 따지만 그냥 처음에 선택한 문을 고집하는게 정답일 확률이 높을까? 아님 사회자가 열지 않은 문을 선택하는게 정답일 확률이 높을까?

Continue reading »

by-nc-sa