Media Log

[분류 전체보기]에 해당되는 글 275

  1. h 아주 괜찮은 Cpu 벤치마크 사이트 2 2010.08.19
  2. h 자판기 동전 교환의 비밀 7 2010.08.19
  3. h 코드로 읽는 리눅스 디바이스 드라이버 -박재호 역 4 2010.08.17
  4. h Vim 7.3 released! 1 2010.08.16
  5. h 프로그래머의 길, 멘토에게 묻다 -데이브 후버 저 2010.08.15
  6. h Win32 에러 번호를 간편하게 확인하기 1 2010.08.15
  7. h Hadoop 완벽가이드 -톰 화이트 저 2 2010.08.11
  8. h Process Monitor에 디버깅 메세지를 인젝션하기 2010.08.07
  9. h SyntaxHighlighter 3.0.83 2010.08.07
  10. h 크롬의 vimium과 비주얼스튜디오의 vsvim 2010.08.04
  11. h 윈도우 개발 282 스토리 -레이몬드 첸 4 2010.08.01
  12. h 오픈소스 C++ 코드 정적 분석툴 cppcheck 6 2010.07.28
  13. h Windows Internals 5th 한글판 출간 2 2010.07.13
  14. h 프로그래머가 몰랐던 멀티코어 CPU 이야기 -김민장 2010.07.08
  15. h 로그 뷰어로써의 Vim (2) -원하는 문자열만 골라내기 3 2010.06.20
  16. h 로그 뷰어로써의 Vim (1) -멀티 하이라이팅 2010.06.20
  17. h 소프트웨어 개발의 모든 것 -전규현 3 2010.06.07
  18. h 예스24에서 중고책 팔기 2 2010.05.27
  19. h 안드로이드 프로그래밍 정복 -김상형 2010.05.23
  20. h 실용주의 프로그래머 -앤드류 헌트 2010.05.22
  21. h 디지털 혁명의 미래 -고든 벨 2 2010.05.22
  22. h 김상형씨의 구인 광고 2 2010.05.13
  23. h 인터넷 서점에서 중고책 사고 팔기 2010.05.04
  24. h Programming The Microsoft Windows Driver Model 2/E -월터 오니 6 2010.04.25
  25. h 세상을 뒤흔든 프로그래머들의 비밀 -에드 번즈 지음 2 2010.03.28
  26. h stackoverflow.com -최고의 프로그래밍 질문/답변 사이트 4 2010.03.18
  27. h 난 정말 JAVA를 공부한 적이 없다구요 -윤성우 저 2010.03.17
  28. h WinDbg로 쉽게 배우는 Windows Debugging -김성현 저 2010.03.06
  29. h Windows 시스템 실행파일의 구조와 원리 -이호동 저 2010.02.13
  30. h 삼성을 생각한다 -김용철 5 2010.02.13


이 사이트에서는 위 스크린샷처럼 CPU들의 성능을 벤치마킹해서 성능 점수를 기준으로 정렬해서 보여준다.

성능에 대한 수치는 절대 수치이기 때문에, 앞으로 더 좋은 제품이 나와도 기존 값은 변하지 않을 것이므로 이전에 가지고 있던 머신과 수치를 비교해보는 것도 재밌다.

예전에는 바보같게도 데이터를 이미지로 올려서 원하는 제품을 찾기가 너무 힘이 들었는데, 언제부턴가 텍스트로 정보를 올려주기 시작했다.

다음은 내가 위 사이트를 보고 가격대 성능비가 가장 좋은 CPU를 고르는 방법이다.

  1. 위 페이지에 들어간다.
  2. Ctrl + A를 눌러서 전체 복사한다.
  3. Vim 에디터에 붙여 넣는다.
  4. :set ts=48
  5. /$\d\d\.


물론 맨 위에 발견된 제품이 가장 좋다.
나는 10만원 정도의 CPU를 선호하기 때문에 위처럼 찾아봤다.

컴퓨터를 사기 전에는 꼭 한번 이 곳을 둘러보고 사는 것이 좋지 않겠는가?

'에세이' 카테고리의 다른 글

한빛 리더스 2기 모집  (0) 2010.11.10
최고의 미드, 24시  (10) 2010.09.24
자판기 동전 교환의 비밀  (7) 2010.08.19
예스24에서 중고책 팔기  (2) 2010.05.27
김상형씨의 구인 광고  (2) 2010.05.13

얼마전에 알게된 지식인데, 자판기에 2000원을 넣고 반환 레버를 돌리면 1000원짜리 하나, 500원짜리 하나 100원짜리 5개가 나온다는 것이다.
한번 시험 해봤더니 어느 자판기에서나 매우 잘 동작해서, 동전이 필요 할 때마다 요긴하게 잘 써먹고 있다.

오늘도 그 방법을 써먹으려다가 문득 왜 이렇게 친절하게 동전을 교환해줄까 하는 생각이 들었다.
혹시 기술적으로 문제가 있어서 마지막 천원짜리 한장만 반환할 수 있는 것은 아닐까.

그래서 3000원을 넣고서 반환 레버를 돌려봤다.

이런 젠장.
1000원 짜리 한개. 500원 짜리 한개. 100원 짜리 10개. 50원짜리 10개가 나오는 것이 아닌가.

덕분에 내 저금통에 50원 짜리가 잔뜩 자리 잡아버렸다.

4000원을 넣으면 어떻게되냐고?
10원짜리가 잔뜩 튀져 나올까봐 해보기가 무섭다.

한번씩들 해보시죠.

'에세이' 카테고리의 다른 글

최고의 미드, 24시  (10) 2010.09.24
아주 괜찮은 Cpu 벤치마크 사이트  (2) 2010.08.19
예스24에서 중고책 팔기  (2) 2010.05.27
김상형씨의 구인 광고  (2) 2010.05.13
인터넷 서점에서 중고책 사고 팔기  (0) 2010.05.04
코드로 읽는 리눅스 디바이스 드라이버 - 8점
스리크슈난 벤카테스와란 지음, 박재호 옮김/에이콘출판
에이콘 출판사에서 코드로 읽는 리눅스 디바이스 드라이버라는 새 책이 출간되었다.
이 책의 원제는 Essential Linux Device Drivers이며 2008년도에 발매되었다.

나는 아마존에서 'device driver' 로 자주 검색을 해보는데 이 책은 언제나 1위로 검색이 되어서 잘 기억하고 있다.

리눅스건 윈도우건 디바이스 드라이버에 대한 책은 그렇게 많지 않은데다가 2000년대 초반, 심지어 90년대의 책들이 수두룩하다. 생각해보니 윈도우가 리눅스보다 더 심한 것 같다.
디바이스 드라이버 세계에서 2008이라는 숫자는 엄청난 최신 버전이므로 이런 책이 번역되어져 나왔다는 것은 참 반가운 일이 아닐 수 없다.

지금은 윈도우 드라이버만 만들고 있지만 앞으로 리눅스에서 드라이버를 개발하게 될지도 모르고, 언제나 그렇듯이 다른 플랫폼을 공부하는 것은 현재 플랫폼을 잘 이해하는데 큰 도움이 되기 때문에 이 책도 꼭 읽어볼 생각이다.

책 목차를 보면 상당히 방대한 부분을 다루고 있는데, 얼마나 자세한 내용인지는 모르겠다.
나는 FUSE를 통해 파일 시스템을 만드는 것에 특히 관심이 있는데 이런 내용은 없는 것 같아서 좀 아쉽긴 하다.

반가운 점이 또 하나 있는데 바로 책의 가격이다.
이 책의 정가는 35,000원인데, 나는 책의 가격과 출판사를 몇번이나 눈알을 왔다 갔다 하며 쳐다보았다.
에이콘의 책은 가격이 아주 비싼 편인데, 이제부터는 가격을 좀 낮게 책정하기로 결정한건지는 모르겠지만 어쨌거나 독자들에게는 좋은 일이다. 앞으로도 잘 부탁해요 에이콘. 크크.

오늘 아침에 잠시 조엘의 책을 읽는데 재밌는 내용이 있었다.
그가 인터뷰를 하거나 혹은 이력서를 읽을 때의 이야기이다.

나는 자바보다 한결 오래된 언어인 OCaml 로 작업한 사람을 보고 매우 감동 받은 적이 있다. 또 아득한 향수가 깃든 어셈블러나 디바이스 드라이버 또는 커널로 작업한 프로그램을 보면 비주얼 베이직이나 PHP로 작업한 것보다 한결 가슴이 뭉클해진다.

디바이스 드라이버를 만드는 사람들이나 공부하는 사람들에게 조금이나마 힘이되는 글 아닌가? 크크.

좋은 책을 번역해주신 역자께 감사한다.


Vim 7.3 released!

2010. 8. 16. 12:50 | Softwares
오랜 기다림 끝에 Vim 7.3릴리즈 되었다.
새로 추가된 기능은 다음과 같으며 수많은 버그들이 수정되었다고 한다.

The most notable additions since 7.2: 
- Persistent undo and undo for reload 
- Blowfish encryption, encryption of the swap file 
- Conceal text 
- Lua interface 
- Python 3 interface 

Enjoy Vim!
프로그래머의 길, 멘토에게 묻다 - 8점
데이브 후버 & 애디웨일 오시나이 지음, 강중빈 옮김/인사이트

나는 6년동안 프로그래밍을 공부하면서 두명의 멘토를 만났다.

첫번째 멘토는 지금은 절친한 내 친구이자 대학 동기이다.
2004년도 이 맘 때, 복학해서 아무 것도 모른채로 연구실 문을 두드려서 무작정 받아달라고 들어간 그 곳에서 그를 처음 만났다.
그는 몇일 동안이나 연결리스트를 이해 못해서 상심하던 내 옆에 앉아서 코드를 작성하는 법을 차근 차근 가르쳐 주었는데, 지금도 그 때가 너무 고마워서 그를 만나 술을 마실 때면 항상 그 때 이야기를 꺼내곤 한다.

두번째 멘토는 회사에 들어와서 만났다.
처음 그와 대화 했을 때 나는 그가 똑똑하다는 것은 알수 있었지만, 코드는 별로 짜본 적이 없는 사람이라고 예상했었다.
그로부터 시간이 좀 지나서 언젠가 그가 내 옆에 앉아서 코드를 작성하는 것을 보고는 내가 그동안 크게 착각하고 있었음을 깨달았다.
그는 말이 별로 없고 남들 앞에 잘 나서지 않는 타입이라 많은 사람들이 그가 얼마나 똑똑한지 잘 모르고 있지만, 나는 그가 우리 회사 최고의 프로그래머임을 확신한다.
내가 지금 아는 것의 팔할은 그에게 배웠으며 아직도 많은 것들을 배우고 있는 중이다.

이 책을 읽으면서 저 두 명의 멘토가 떠올랐는데, 이 글로나마 그들에게 감사를 표하고 싶다.

멘토를 만난다는 것은 중요한 일이다. 그리고 행운도 따라줘야 한다.
하지만 무조건 행운만을 기대해서는 곤란하다. 이 책의 저자는 이메일을 보내 누군가에게 멘토를 해달라고 부탁을 했는데, 그 사람의 대답이 충격적이었다. 매일 아침에 만나서 잠시 대화를 해주겠다는 것 아닌가.
물론 이렇게 착한 사람을 만나는 것은 쉽지 않겠지만, 시도 해볼만한 충분한 가치가 있다.
가만히 앉아서 행운이 굴러 들어오기만을 기다린다는 것이 방구석에만 있으면서 여자친구가 생기기를 바라는 오덕후와 무엇이 다르겠는가.

이 책의 많은 부분에 대해서 공감하지만, 너무도 당연해서 별로 감흥이 없는 조언도 많이 있었다.

  • 모르는 것을 부끄러워 하지 말라.
  • 열정을 키워라
  • 주변을 당신보다 뛰어난 개발자들로 채워라.
  • 일하면서 성찰하라.

이런 조언들은 훌륭한 프로그래머가 되고 싶어하는 그 어떤 견습생이라도 이미 알고 있을 내용이다.

책을 읽는동안 실용주의 프로그래머라는 책을 읽을 때와 비슷한 느낌을 받았는데, 내 생각에는 이 책보다는 실용주의 프로그래머가 견습생들에게 훨씬 더 가치 있고 읽을 만한 책이다.
기술적인 내용들에 대해서는 조금만 더 구체적인 예를 들어가며 설명해줬으면 좋았겠지만 이 책에서는 아쉽게도 그런 것은 전혀 없다. 하지만 그렇기 때문에 좀 더 가볍게 머리 식힐 생각으로 읽어볼 수 있는 책이기도 하다.
Hadoop 완벽 가이드 - 8점
톰 화이트 지음, 심탁길.김우현 옮김/한빛미디어
나는 하둡의 분산 파일 시스템에 많은 관심을 가지고 있었는데, 이 책이 한빛미디어에서 번역되어져서 너무 반가웠다.

HDFS는 구글의 분산 파일 시스템인 GFS의 기능들을 Java로 배낀 파일 시스템이다. 오픈소스이며, 아파치 메인 프로젝트로 올라가면서 많은 사람들이 관심을 가지고 지켜보고 있고 또 공헌하고 있다.

모든 코드는 Java를 통해 유저모드에서 구현되었으므로 여러 플랫폼에서 동작이 가능하다 -물론 윈도우에서는 잘 쓰이지 않는다. 누가 분산 서버로 윈도우를 쓰겠는가.

GFS나 HDFS는 현대의 분산 파일시스템에서 트렌드라고 말할 수 있을 정도로 획기적이며 재미있는 기능들을 많이 가지고 있는데 그 기능들은 다음과 같다.

  • 데이터베이스를 사용하지 않고 메모리에서 자료구조를 유지하며 메타데이터를 관리함으로써 속도가 빠르다.
  • 파일을 추상화해서 일정 크기의 블록으로 관리함으로 인해 파일 크기의 제한이 없어졌으며 다른 여러 이득이 있다.
  • 장비의 추가 및 제거가 자유롭다.
  • 파일(혹은 블록)들의 여러 사본들을 만들어 저장해 놓음으로써 특정 서버가 고장나더라도 사용자에게는 오류가 보이지 않으며 데이터의 분실 없이 지속적으로 서비스가 제공 가능하다. 또한 사용자에게 가까운 위치의 데이터를 내려줄 수 있다.
  • 파일에 대한 각 오퍼레이션들을 디스크에 영구적으로 기록함으로써 장애시에도 데이터를 분실시키지 않을 수 있다. 이런 메카니즘은 스냅샷이나 파일 히스토리를 구현하기에도 용이하다. 하지만 이런 파일 저널링 작업때문에 사용자에게 응답이 느려질 수 있다.(메모리에서는 훨씬 먼저 연산이 끝났음에도 불구하고 파일에 쓰여질 때까지 기다려야 한다)

내게는 아쉽게도, 하둡 파일 시스템의 내용보다 맵리듀스에 대한 내용이 이 책의 주를 이루는데 맵리듀스 부분은 시간이 좀 더 남을 때 천천히 읽어보려고 한다.
맵리듀스는 분산컴퓨팅에서 하둡 파일시스템만큼이나 획기적이고 실용적인 기술이므로, 꼭 제대로 이해하고 넘어갈 수 있었으면 좋겠다.

분산 시스템을 잘 아는 역자가 번역했으므로 큰 흐름에 대한 오역은 거의 없지만, 문체가 지나치게 딱딱해서 재밌게 술술 읽히지 않는 다는 것은 크나큰 단점이다. 사실 재미없는 내용은 아닌데 말이다.
게다가 오타도 지나치게 많다. 읽다보면 몇 장을 안넘기고서 꼭 오타가 보이고 잘못 인쇄된 부분들이 보이곤 하는데 이건 거의 베타도 아닌 알파 수준의 책이구나 하는 생각을 했다. 나는 이 책이 나오자마자 구입했었는데, 출판사의 무성의함에 참 화가 났었다. -어떻게 한빛미디어가!

다른 한빛리더스 회원들과 함께 이 책의 많은 오류들을 출판사에 보고 했고, 잘 등록이 된 것 같다.
아마 이 책의 2쇄에서는 많은 부분이 개선될 수 있을 것이다.

파일 시스템이나 맵리듀스에 관심이 있는 사람들은 꼭 읽어볼 것을 추천한다.

SyntaxHighlighter 3.0.83

2010. 8. 7. 00:33 | Softwares
SyntaxHighlighter
SyntaxHighlighter는 웹브라우저 상에서 코드가 예쁘게 포맷되고 하이라이팅 되어 보여지도록 만들어주는 유틸리티이다.

며칠 전에 텍스트큐브에서 티스토리로 이사를 했는데, 기존에 사용하던 코드 하이라이터가 다 깨져버려서 새로 설정을 해주어야만 했다.
텍스트큐브에서는 SyntaxHighlighter가 내장되어 있어서 HTML 태그를 직접 사용하지 않고도 쉽게 코드조각을 껴넣을 수 있어서 참 편했는데 티스토리에서는 직접 설치를 하고 설정을 해주어야만 한다.

빌어먹을 귀찮은 짓을 또 해야하는 군 이라고 생각하면서 SyntaxHighlighter 페이지를 가봤는데 3.0 버전이 나와있는 것이 아닌가. 텍스트큐브에서 쓰던 엔진은 아마 2.0 이었을 것이다.

3.0에서는 설치 방법이 조금 더 쉬워졌고, 사용자 입장에서 코드 조각을 이전보다 더 쉽게 복사할 수 있게 되었다.

 
/************************************* 
    Multiline block comments
 **********************************/
 
$stringWithUrl  = "http://alexgorbatchev.com";
$string         = 'hello world!';
 
ob_start("parseOutputBuffer");      // Start Code Buffering
session_start();
 
function parseOutputBuffer($buf) {
    global $portal_small_code, $portal_gzcompress;
    global $PHP_SELF, $HTTP_ACCEPT_ENCODING;
 
    // cleaning out the code.
    if($portal_small_code && !$portal_gzcompress) {
        $buf = str_replace("    ", "", $buf);
        $buf = str_replace("\n", "", $buf);
        $buf = str_replace(chr(13), "", $buf);
    }
}

티스토리에 설치하는 방법은 다른 블로그들에서 이미 정리해놓았으니 참고하면 된다.

원래 파이어폭스는 내가 가장 좋아하던 브라우저였는데, 크롬 개발자 버전 4.0이 나올 때부터 쯤인가 조금씩 조금씩 크롬을 더 많이 사용하기 시작했다. 그래서 이제는 항상 크롬만 쓰는데, 미친듯이 빠른 이 속도는 어느 브라우저도 따라올 수가 없다.

크롬이 3.0부턴가 확장 플러그인을 지원 하면서부터 많은 플러그인들이 개발되기 시작했다.
내가 가장 좋아하는 것은 vimium인데 vim의 키 바인딩으로 브라우징 할 수 있도록 해준다.

vim을 좋아하는 사람이라면 누구라도 좋아할 수 밖에 없을 것이다.

  • 현재 페이지에서 링크 따라가기.
  • 새 탭으로 링크 따라가기.
  • 위 아래로 이동. 앞 뒤 탭으로 이동. 앞 뒤 페이지 등으로 이동.
  • 탭 닫기. 닫은 탭 다시 복구하기.
  • 빠른 검색.

자주 쓰는 이런 기능들을 모두 키보드로 조작할 수 있다. vim이 그렇듯이 처음쓰면 어색하지만 점점 편리해질 것이다.




잘 만들어진 프로그램은 어디에 가져다 붙혀도 척척 잘 들러붙나보다.

VS2010에서는 VC개발자들에게 큰 변화가 있었는데, 그것은 단연 C++0x이다.
하지만 그만큼이나 욕심나는 것은 아주 쉽게 vim을 붙여서 쓸 수 있다는 것이다.

vsvim이라는 프로젝트가 있는데, 마이크로소프트에서 일하는 누군가가 혼자서 만들었으며 VS2010을 사용한다면 갤러리에서 무료로 다운받아서 쉽게 사용해볼 수 있다. 꼭 VS2010이상을 사용해야만 한다.

충돌나는 키들이 꽤 많기 때문에 자신의 선호에 맞게 잘 정리해줘야 할 것이다.
Windows Internals 제5판 - 10점
마크 러시노비치 외 지음, 안철수 연구소 기반기술팀 옮김/에이콘출판


악. 기다리고 기다리던 Windows Internals 5th가 드디어 번역본이 나왔다.

이 책을 처음 훑어 봤을 때는 데이빗과 마크 이 자식들이 대체 무슨 이야기를 하고 있는 건지, 왜 이 따위 얘기를 하는건지 아무것도 이해할 수가 없었다.

4판 서문에 저자들이 제프리리처에게 감사를 전하는 문구가 있는데 내용이 너무 웃긴다.

Thanks to our friend Jeffrey Richter, for writing the "What about .NET and WinFX" sidebar in Chapter1 and for continuing to remind us over many dinners together of his view on how few people should care about what we talk about in this book.

도대체 그런 주제로 책을 쓰면 몇 명이나 사보겠냐. Windows via C/C++ 을 이길수 있을 것 같아? 라고 밥먹는 중에 놀려대는 모습이 왠지 상상이 간다.

디바이스 드라이버를 만들어보면서 이 책의 내용들이 조금 더 잘 이해가 되기 시작했다. 그리고 특정 개발자들에게는 정말 중요한 내용이라는 것도 알았다.

내 실력이 부족한 것이 주 원인이었지만 기존 4판에서는 번역도 조금은 불만족스러웠고 잘못된 그림이나 오타 등도 많아서 답답했다.
그것보다 더 중요한 것은 비스타 이후 변경된 많은 내용들이 4판에는 없었다는 것인데, 그래서 5판이 빨리 번역되어 나오기를 간절히 기다려왔다.

실력있는 사람들이 작업한 만큼 많은 것을 배울 수 있을 것 같아서 가슴이 설렌다.
책 값이 조금 비싸긴 하지만, 뭐 좋은 책이니깐 이 정도 쯤이야.

쿼드 코어가 대중화되기 시작할 때였으니깐 2008년도 쯤이었나보다.

예전에 친구들하고 술을 마시면서 컴퓨터 이야기를 했었다.
우리들은 다 같은 컴퓨터 공학도라서 술 마시면서 기술에 대해서 많이 얘기하곤 하는데, 그 날은 CPU 얘기가 나왔다.

한 친구 녀석이 컴퓨터를 새로 샀다고 자랑을 하면서, 코어가 많아지면 돈만 비싸지고 실제로는 싱글코어보다 더 느릴 수 있다는 얘기를 했다.

그 친구도 컴퓨터 공학을 전공했기 때문에 프로그램에 대해서 좀 알고 있었는데, 1개의 쓰레드만 사용하는 프로그램은 쿼드코어보다도 싱글코어 머신에서 더 빨리 동작한다는 것이다. 물론 쿼드코어 머신의 클럭이 더 낮을 경우에.

많은 사람들이 비슷한 생각을 가지고 있을 수 있는데 사실 이는 틀렸다. 한 클럭에 1개의 명령어만 처리할 수 있다고 한다면 물론 맞는 얘기겠지만 요즘 CPU는 너무나 똑똑하다.

요즘 나오는 2.0대 초반의 코어 하나가 2005~6 년 아키텍쳐의 싱글코어 3.0대 CPU들보다 훨씬 많은 일을 할 수 있다.

클럭이 높으면 열도 많이 나고 전기세도 많이 나가기 때문에, 나는 CPU를 살 때 항상 2.33이나 2.66 정도의 모델에서 고르곤 한다. 낮은 클럭의 CPU를 사면 오버클럭킹도 더 안정적으로 할 수 있기 때문에 여러모로 좋은 점이 많다.

어떻게 이런 일들이 벌어지는지 궁금하다면 이 책을 읽어보는 것이 도움이 될 것이다.

가벼운 책으로 카테고리하긴 했지만 가벼운 내용은 아니다. 사실은 정말 어렵다.

학교 다닐 때는 컴퓨터 구조가 너무도 재밌었는데, 요즘에는 컴퓨터 구조가 왜 이렇게 어렵고 무섭게 느껴지는지 모르겠다.

그래도 이 책은 여러 재밌는 주제들을 비교적 가벼운 문체로 설명하고 있으므로, 한 번 도전해서 읽을만 하다.

나는 책을 읽으면서 오탈자를 거의 찾지 못했는데, 한빛미디어 오탈자 페이지에 아주 많은 버그신고가 되어있는 것을 보고 깜짝 놀랐다. 참 대단한 사람들이다.

아마 2쇄에서는 저 내용들이 잘 반영되어 나올 것이다.

저자는 블로그에 윈도우 프로그래밍이나 병렬 프로그래밍에 대해 포스팅하곤 하는데, 주제나 내용이 자극적이고 재밌는 것들이 많으므로 피드를 구독해서 받아보는 것을 추천한다.

소프트웨어 개발의 모든 것 - 9점
김익환.전규현 지음/페가수스
소프트웨어 개발의 모든 것이라 제목이 붙긴 했다만 물론 제목은 뻥이다.
어떻게 이 얇은 책이 소프트웨어 개발의 모든 것을 다루겠는가.

사실은 소프트웨어 공학의 모든 것이 책 내용과 조금 더 어울리긴 하지만 그렇게 이름지었으면 난 죽을 때까지 이 책을 안 읽었을 것이다.

나는 컴퓨터 과학의 대부분의 분야가 아주 재밌고 흥미롭지만 소프트웨어 공학 만큼은 질색이다.
그럼에도 불구하고 이 책은 꽤나 재밌게 잘 쓰여졌다. 내가 읽은 -몇 권 안되긴 하지만- 소프트웨어 공학 책 중에서는 가장 재밌는 책이었다. 스티브 맥코넬의 책보다도 재밌다! -물론 Code Complete는 빼고.

이 책은 개발자뿐만이 아니라 프로젝트 매니저, 기획자, 테스터, 그리고 심지어 세일즈맨까지도 읽어보면 도움이 되는 책이다.

얼마 전에 저자의 블로그에서 재밌는 포스팅을 읽었다.

하수
소스코드관리시스템을 거의 제대로 쓰지 못하는 경우, 오늘 고치고 있는 소스코드를 수동으로 하나씩 지워서 원래 버전을 만들어냅니다. 이러한 경우는 믿기 힘들겠지만 제가 컨설팅을 하면서 많은 회사들이 이렇게 하고 있다는 것을 접했습니다. 이렇게 원래 버전을 만들어서 Hotfix를 만들어서 내보낸 후에 다시 재작업을 합니다.

중수
이보다 조금더 나은 경우, 원래 고치고 있던 소스코드의 디렉토리를 임시로 백업 받아 놓고 소스코드관리시스템에 있는 어제 버전의 소스코드를 다시 Check out합니다. 이렇게 Check out한 소스코드를 가지고 Hotfix를 만들어서 내보내고 오늘 작업하던 백업을 받아 놓은 소스코드와 Merge tool을 이용해서 Merge를 한 후에 정기 업데이트 버전을 만들어서 내보내는 방법입니다. 아까보다는 조금 나아 졌지만, 여전히 수작업에 많이 의존을 하고 귀찮은 작업들을 해줘야 합니다.

고수
Subversion등의 소스코드 관리시스템을 제대로 사용한다면 이보다 좀더 손쉽습니다.
우선 어제 릴리즈를 한 소스코드의 Baseline(Tag)에서 Hotfix용 브랜치를 만듭니다. 기존에 개발하고 있던 디렉터리는 그대로 놔두고 새로운 디렉터리에 Hotfix를 Check out 받습니다. 보고된 버그를 수정하여 자동화된 빌드스크립트를 이용해서 Hotfix를 만들어내고 업데이트에 올립니다. 정상적으로 Hotfix가 배포된 것을 확인하고 Hotfix 브랜치는 Trunk로 Merge를 합니다. 이때 3Way Merge 툴을 이용하면 됩니다.

나는 처음 회사에 들어갔을 때는 하수였고 지금은 중수이다.
저자는 하수가 하는 짓을 믿기 힘든 짓이라 말하지만, 형상관리툴 사용을 잘 모르는 입장에서 보면 사실 그리 믿기 힘든 일도 아니다. 똥줄이 바짝 타는 상황이 생기면 믿기 힘든 무식한 일도 하게 되는 법이다. -핫픽스를 만든다는 것이 바로 그 똥줄이 타들어가는 상황이기도 하다.

시간이 좀 흘러서 고수가 하는 저 방법을 알게 되었음에도 불구하고 계속 중수의 방법을 고수해 온 것은 전적으로 나의 게으름 때문이었다. 저렇게 핫픽스를 만들어내야 하는 상황은 자주 오지 않기 때문에 나중에 배워야지하고는 계속 미루고 있었는데, 위 글을 읽으면서 몹시 부끄러움을 느꼈다.

그래서 잠시 시간을 내서 이것 저것 실험해보며 테스트를 해봤는데, 그동안 왜 그토록 게으름을 부렸을까 싶을 정도로 쉽게 해낼 수 있었다. -Subversion과 KDiff3의 개발자들 그리고 전규현씨께 감사한다. :-)

처음에는 정말 재미있게 읽었다.
하지만 폭포수 모델하고 SRS(요구사항 명세)에 대해서 설명하기 시작할 때는 읽다가 읽다가 결국 포기해버렸다.
저자가 지금 이 글을 보면 아니 그 중요한 부분을 그냥 넘어가면 어떻하나 하고 안쓰러워 할 것이 눈에 훤할 정도로 SRS의 중요성에 대해 입에 침이 닳도록 설명하지만, 그래도 정말 어쩔 수 없었다.

이 책의 내용에서 아쉬운 점 하나는 내가 가장 궁금해하는 내용이 빠졌다는 것이다.

나는 마이크로소프트 같은 커다랗고 프로세스가 잘 정립된 회사의 형상 관리툴의 소스트리를 보고 싶다.
그들이 모듈을 어떤 식으로 분리하고 어떤 구조로 트리를 구성하는지, 중복되는 코드들을 어떤 식으로 제거하고 또 공유하는지, 체크인 되는 코드의 코멘팅은 어떤 규칙으로 하는지 등이 너무 너무 궁금하다. 1시간 만이라도 들어가서 차근차근 살펴볼 수 있다면 내 실력은 훨씬 나아질 것이다.

이 책의 저자 중 김익환 선생님께서는 마이크로소프트에 버금가는 훌륭한 회사들에서 일했었는데, 그런 내용도 함께 알려주었더라면 나는 이 책에 주저 없이 별 5개를 줬을 것이다!

...물론 그래도 SRS는 싫다.

알라딘에서 테스트 삼아 중고책을 한 권 팔아봤었는데, 편리하고 쉽게 팔려서 집 책장에 있는 책들 중 절반 정도를 팔아버리고 새 책으로 물갈이 하기로 결심했다.

지금은 Yes24에도 중고샵이 오픈했는데, 여기에도 시험삼아 한 번 올려봤더니 하루에 5권이나 주문이 들어오는 것 아닌가.
업계 선두의 파워를 느낄 수 있었다. -참고 삼아 알라딘은 3위이다. 2위는 인터파크.

알라딘에서도 그랬지만 예스24도 마찬가지로 판매금의 10%를 수수료로 떼어간다.
중고책은 계속 돌고 돌수 있기 때문에 이것은 그들에게나 우리에게나 꽤 괜찮은 딜이다.

예스24나 알라딘에서 택배기사가 직접 찾아와 책을 가져가주는 시스템은 아주 좋다고 생각하지만, 한 가지 불편한 점이 있다면 포장을 내가 직접해야 한다는 점이다.
나는 10%의 수수료 정도면 이 정도는 해줄 수 있다고 생각한다. 똥도 약에 쓰려면 없다더니, 그 놈의 박스 구하기가 얼마나 어렵던지.

고객이 직접 포장을 한다면 그에 대한 보상을 해주어야 한다. 수수료를 낮춰준다거나 일정 금액(박스 값만큼)을 면제해주는 것은 서로에게 괜찮은 거래일 것이다. 예스24에서 새 책을 사고 박스를 잘 보관해놨다가 써먹는 일도 많아질테니 자기네들은 환경을 생각하는 기업이라며 떠벌릴 수도 있지 않겠는가.

물론 나는 귀찮은 일거리를 하나라도 줄이기 위해 박스 값 정도는 지불할 용의가 있다. 부디 예스24에서는 판매자가 조금 더 편해지고 중고샵이 더욱 활성화 될 수 있도록 시스템을 개선해주었으면 좋겠다.

이 곳이 내 예스24 중고샵 페이지이다. 어떤 책들이 남아 있는지 한 번씩 둘러보고 보고 싶은 책이 있으면 주문해보기 바란다. 대부분 새 책보다 더 깨끗하게 읽은 중고책이다. 단, 읽다가 잠이 들어서 침을 흘린 책들도 있으니 주의해야 할 것이다. 물론 그게 어떤 책들인지는 말할 수 없다. 크크크^^
안드로이드 프로그래밍 정복 - 8점
김상형 지음/한빛미디어


이번에 한빛미디어에서 한빛리더스라는 활동을 하게 되었다.

한빛미디어에서는 내가 좋아하는 류의 좋은 책들이 많이 출간되는데, 앞으로 그런 책들을 잔뜩 받아볼 수 있다니 아주 기쁘다.

위와 같은 혜택들이 있으니 다음 번 2기를 모집할 때는 많은 사람들이 지원해보기 바란다.

어쨌거나 이번에 첫번째 책을 받았는데,
루비 프로그래밍 언어와 안드로이드 프로그래밍 정복 중에 어떤 걸 고를까 고민하다가, 회사에 혼자서 열심히 안드로이드 애플리케이션을 만들고 있는 아끼는 후배에게 선물해주기 위해서 이 책으로 선택했다.

자바 스크립트 완벽 가이드와 그외 많은 좋은 책들을 저술한 데이비드 플래너건이 쓴 루비 프로그래밍 언어도 좋은 책일 것임이 분명하지만 영어책이 아닌 일본어 책을 번역했다는 것이 마음에 걸렸다.
일본어 책은 분명히 마츠가 썼을텐데, 그는 언어는 잘 설계할지 몰라도 글쓰기 실력은 검증이 되지 않았다.

그렇게 안드로이드 책을 선택하고 한빛미디어로부터 책을 받은 후에 몇 가지 둘러보다가 많은 실망을 했다.
제일 눈에 거슬리는 것들은 시커멓게 인쇄된 안드로이드 에뮬레이터 그림들과 저자가 작성한 예제 프로그램의 외관이었다.
파워 포인트같은 것을 인쇄하다가 시커멓게 출력된 것을 보면, 끔찍하게 보기 싫을 뿐더러 옵션 설정을 제대로 못한 자신에게 화가 나기도 한다.
책에서도 시커먼 그림을 보면 역시 마찬가지 기분이 드는데, 책 자체의 품위가 떨어지는 느낌이다.

저자는 시커먼 그림은 보기에 안좋다는 것을 이미 알고 일부러 하얀 바탕을 선택해서 예제를 작성했다고 언급하기도 하는데, 예제 뿐만아니라 에뮬레이터 배경 색깔에 대해서도 신경을 썼어야 한다.
거의 매 장에 이런 시커먼 그림이 나오는데 이것이 눈에 자꾸만 걸린다.

또한 그의 다른 책을 읽어보았거나 winapi.co.kr에 가본 사람들은 알겠지만, 훌륭한 글솜씨에 비해 그의 디자인 센스는 경악 그 자체이다. -하지만 나도 그림을 딱 이 정도 수준으로 그려서 회사에서 디자이너들에게 놀림받고는 한다. 크크크.

한빛미디어 담당자들에게 무엇이 문제인지 보여주기 위해서 사진까지 찍어봤다. 그들이 잘 이해해주기를 바라고 다음에 출간되는 책들에서는 꼭 고쳐지기를 기대한다.

2차원의 네모와 육각형과 원통. 모든 그림이 이런 식이다.
내 생각으로는 디자이너한테 이미지들을 몽땅 건네주고 하루 이틀 정도만 시간을 주면 저자의 의도를 변경하지 않고서도 훨씬 보기 좋은 그림으로 만들 수 있을 것 같다.

아래 그림은 역시 한빛미디어에서 출간된 제프리리처의 Windows via C/C++ 중 일부이다.
원서(Microsoft Press)에도 이와 똑같은 그림으로 그려져 있고, 안의 내용만 한글로 바꾼 것이다.

내가 하고 싶은 말은 김상형보다 제프리리쳐가 그림도 잘 그려! 가 아니라 출판사(Microsoft Press)가 그만큼 신경을 많이 썼다는 것이다. 설마 저런 그림들을 제프리가 다 그렸겠는가? ...물론 그럴수도 있겠지만 아니라고 믿고 싶다. 코딩을 잘하면 그림이라도 못 그려야하지 않겠는가.

게다가 이 책에서 캡쳐된 그림 중 다수가 외각선이 한두픽셀씩 더 캡쳐되어 지저분한 느낌을 주는데 이 역시도 출판사에서 미리 찾아내서 교정할 수 있던 것들이다.
내가 너무 까탈스럽게 느껴질지도 모르겠지만, 그런 섬세함 하나 하나가 다른 곳과 차별되는 더 훌륭한 출판사로 만들어 줄 것이다.

꽁짜로 책을 얻어보면서 너무 안좋은 이야기만 썼는데 반가웠던 점도 하나 있다.
바로 폰트가 Andale Mono로 바뀌었다는 점!
비록 지금은 Monaco를 사용하고 있지만 그 전에 내가 가장 좋아했던 폰트는 바로 Andale Mono였다.
이 폰트들은 oO0lI 들이 눈으로 확연히 구분되는데다가(그리고 예쁘기도 하다) 고정폭 폰트인데 코드에는 당연히 이런 폰트를 사용해야만 한다.

쓰다보니 너무 길어지고 말았는데 책 내용에 대한 자세한 평은 다른 한빛리더스 분들에게 맡긴다.

디지털 혁명의 미래 - 8점
고든 벨.짐 겜멜 지음, 홍성준 옮김/청림출판
구글드라는 책과 함께 얼마전에 주목을 받았다가 금새 잠잠해진, 이대로 묻혀버리긴 아까운 책이다. 구글드처럼 다른 책에서 했던 얘기 또하고 또하는 책보다는 훨씬 알찬 내용이니 과학이나 신기술에 관심이 있다면 재밌게 읽을 수 있을 것이다.

마이크로소프트에서 진행하고 있는 프로젝트에 대한 내용인데, 무슨 프로젝트인가 하면 인간의 기억을 디지털로 저장하는 것이다.

기억을 저장한다는 것이 뇌에 전자 장치를 잔뜩 달아서 기억을 뽑아내는 이런 모습을 상상할 수도 있겠지만, 이런 내용은 아니다.
이런 일들은 시간이 더 지나서 특이점이 오고나면 가능해질지도 모르겠지만 지금 당장은 불가능하다.

하지만 지금도 기억을 디지털로 저장하는 방법들은 많이 있는데 이미 우리는 이 방법들을 잘 알고 있으며 일상에서 사용하고 있다.
디지털 카메라로 사진을 찍는다거나, 메신저의 대화내용을 저장하는 것, 결혼식장이나 돌잔치에서 동영상을 찍는 것, 전화 내용을 녹음하는 것들이 바로 그런 것이다.

위와 같은 간단한 내용들 부터 시작해서 우리가 일상 생활을 하면서 얻게되는 모든 기억들을 저장하고 나중에 언제든 쉽게 꺼내볼 수 있게 하는 것이 이 프로젝트의 목표이다.

빌게이츠는 이 책의 추천사에서 이런 프로젝트가 우리 생활을 어떻게 바꾸어 놓을지 잘 말해주고 있다.

 만약 우리가 노출되는 모든 정보에 즉시 접근할 수 있다면 어떤 일이 일어날까? 어제뿐만 아니라 두드러기가 나기 전 일주일 동안 먹었던 모든 음식을 의사에게 말할 수 있다면?

나는 이 문제에 대한 대답을 찾는 주인공으로 고든 벨보다 더 나은 사람을 생각할 수가 없다. 지난 몇십 년간 고든 벨과 짐 겜멜은 ‘마이라이프비츠’라는 프로젝트를 진행하며 이런 질문들에 대한 답을 찾아왔다. …… 이 프로젝트의 결과로 인해 우리가 기억에 대해 생각했던 방식, 건강을 관리하는 방식, 다른 사람 또는 다른 세대와 경험을 공유하는 방식, 나아가 그 이상의 모든 것을 바꿀 수 있게 되었다.


이 책을 읽고 나서 나는 6만원을 주고 HP에서 복합기를 하나 샀다. 프린팅은 필요없고 오직 스캔만을 위한 용도로 샀는데, 리눅스에서도 잘 동작하고 지불한 가격에 비해서 아주 마음에 든다.

나는 연말 정산이나, 건강검진 결과 같은 것들을 모두 스캔해서 클라우드 시스템에 올려두었다.
이런 것들은 1년이 지나고 나면 항상 다시 보고 싶은 것들이지만 그 동안은 한 번도 그럴 수가 없었다. 그렇다고 내 머리가 좋아서 작년에는 어땠는지 기억할 수 있는 것도 아니었다.
나는 그것들을 기록해두지 않은 것을 항상 후회하곤 했는데 이제는 내가 죽을 때까지 내 머리를 대신해서 영원한 기억으로 남아있을 것이다.

옛날보다 살기 편리해진 점 중의 하나는 바로 클라우드 시스템이다.
나는 구글 docs를 이용하는데, 언제 어디에서도 원할 때 내 데이터에 접근할 수 있다는 것은 정말 환상적인 일이다. 게다가 구글은 IDC 하나가 통째로 날아가더라도 데이터를 잃어버리지 않도록 시스템을 잘 설계해두었다.
이는 잘 사용하면 삶을 훨씬 편리하게 만들어주는 기술이지만 대부분의 사람들은 아직 이것을 적극적으로 이용하지 않는 것 같다.

그래도 마음에 걸리는 것이 있다면 구글 개발자들이 내 자료를 볼 수 있다는 걱정이다.
사용자 입장에서는 그냥 믿고 쓸 수 밖에 없는데, 혹시라도 그들이 정말 내 자료를 보고 있었다면 나는 샌프란시스코까지 미친듯이 달려가서 세르게이 브린의 아구창을 날려버릴 것이다.

90년대보다 많은 것이 좋아지긴 했지만 모든 것이 만족스러운 것은 아니다.
검색 기술과 OCR기술은 아직도 한참 멀었다.

나는 내가 검색어를 입력하면 이미지나 음성 파일에서도 검색이 될 수 있기를 바란다.
나중에 자료를 쉽게 찾기위해서 내가 직접 카테고리를 생성하고, 제목을 적절하게 짓는 것은 정말 고통스러운 일이다. - 사진을 저장할 때 특히 그렇다. 날짜별로 제목을 지을까? 누구랑 찍었는지? 아니면 어디에서 찍었는지.

OCR은 사람이 쓰거나 인쇄한 그림안에 있는 글자를 텍스트로 바꾸어주는 기술인데, 최근에는 꽤나 잘 동작하는 것처럼 떠들썩거리기도 하지만 아직 내 성에는 차지 않아서 사용하지 않고 있다.
하지만 데이터만 잘 보관하고 있는다면, 언젠가는 내가 스캔해둔 연말정산 자료나 건강검진 결과가 이런 기술에 의해서 HTML이나 PDF로 변환될 수 있을 것이다.

사실 이것들은 마이크로소프트보다 구글이 더 좋아하고 잘 하는 분야이기도 한데, 구글은 이미 훌륭한 기반기술(파일시스템과 검색 기술)이 있는 만큼 성과도 빨리 나올지 모르겠다.
누가 됐던 지금보다 더 좋은 시스템을 만들어줘서 우리의 삶을 더 편하고 흥미진진하게 해주기를 바란다.
오늘 일을 하는데 윈도우즈 세션이 종료될 때 애플리케이션들에게 보내지는 윈도우 메세지가 뭐였는지 기억이 나질 않는 것이다. 옛날에 김상형씨의 winapi 사이트에서 공부할 때 봤던 것 같은 생각이 언뜻 들어 오랜만에 winapi.co.kr을 찾았다.

들어가자마자 메인 페이지에 구인 광고가 있길래 찬찬히 읽어보다가 '예쁜 여성분 우대' 에서 뿜어버리고 말았다.


winapi의 공지사항들도 한번 읽어보면 더욱 즐거워 질 것이다.

유머 감각이 있는 사람들은 아름답다.
훌륭한 해커를 가졌고, 예쁜여자까지 선호하는 저런 바람직한 회사에 많은 인재들이 지원해보기를 바란다.

아참, 궁금했던 그 메세지는 WM_QUERYENDSESSION 이었다.

'에세이' 카테고리의 다른 글

자판기 동전 교환의 비밀  (7) 2010.08.19
예스24에서 중고책 팔기  (2) 2010.05.27
인터넷 서점에서 중고책 사고 팔기  (0) 2010.05.04
제 5회 알라딘 리뷰 대회  (3) 2009.11.01
임요환의 아름다운 열정  (4) 2009.07.14
1년정도 전까지만 해도 내가 가장 좋아하는 인터넷 서점은 Yes24알라딘도 아닌 강컴이었다.

강컴은 내가 대학에 다니던 시절부터 하루에 15분 이상을 항상 투자하며 즐겨찾던 가장 좋아하는 사이트였는데 아이러니하게도 그들이 좀 더 잘해보겠다고 사이트를 리뉴얼 하고나서 내 마음에서 멀어져버렸다. 그 후 부터 나는 알라딘을 이용하기 시작했다.

이제 알라딘은 내가 가장 좋아하는 인터넷 서점이다.
잘 정리된 카테고리를 제공해주는 알라딘의 피드도 마음에 들고 TTB 서비스도 아주 좋아한다.
여기에다가 최근에는 중고책 코너까지 좋아하게 되었다.

소프트웨어 공학은 내가 가장 싫어하는 분야 중 하나이지만, 스티브 맥코넬의 Rapid Development라는 책만은 꼭 보고 싶었는데, 이런 명서는 도서관에서 빌려서 보는 것보다는 하나 가지고 있는 것이 좋을 것 같아서 알라딘에서 중고로 구입해봤는데 상태도 깨끗하고 아주 마음에 들었다.

중고책을 구입해보니 팔아보고도 싶어졌다.
책장이 점점 부족해지면서 어떤 책을 팔아볼까 하다가 그 첫번째로 삼성을 생각한다가 당첨됐다.
아직까지 베스트셀러라서 잘 팔리기도 할 것같고, 명서만 모으고 싶은 내 책장에 이런 책이 자리를 차지하고 있는 것이 싫었기 때문이다.(물론 재밌기는 하지만 책장안에서 아름다워 보이는 책은 아니다.)

20000원에 산 책인데, 15000원에 내놓았다. 다른 사람들은 16000원 ~ 18000원에 팔고 있었는데 일단 팔리나 보자 하고 시험삼아 내놓았더니 바로 팔려버렸다.

누군가가 내가 내놓은 책을 사겠다고 주문을 하면 SMS와 메일로 연락이 오고, 그러면 나는 책을 박스에 포장해 놓으면 된다. 그러면 1~2일 후에 알라딘에서 보내주는 택배기사가 찾아와서 가지고 간다. 끝. 간단하지 않은가?

책장을 가만히 둘러보니 너무 오래된 기술이거나 이제는 잘 이해하고 있어서 다시 볼 필요가 없는 책들이 보이는데, 이 책들을 다 팔아버리고 새로운 책으로 들여놓기로 결심했다.

몇 일전에는 Yes24에서도 중고책 코너를 개설했는데, 나는 소비자로서 이렇게 기업들간에 경쟁이 붙는 것을 매우 좋아하고 즐긴다.
Yes24의 중고샵에서는 외국도서도 사고 팔 수 있는 것 같은데, 알라딘에서도 꼭 지원해주기를 바란다.

앞으로 또 다른 유용한 서비스들도 많이 생기기를 기대한다.
나는 가장 리마커블하고 좋은 서비스를 제공하는 쪽으로 언제든지 옮겨갈 준비가 되어있고, 일단 팬이 되고나면 그들을 열렬히 지지해줄 것이다.

세상을 뒤흔든 프로그래머들의 비밀 - 6점
에드 번즈 지음, 김도균 옮김/정보문화사

이 책은 여러 해커들에 대한 인터뷰를 담고 있다.
예전에 소개하기도 했던 책인 세상을 바꾼 32개의 통찰과 비슷한 종류의 책이다.

세상을 뒤흔든 프로그래머라고 제목이 지어지긴 했지만, 사실 제임스 고슬링 정도를 제외하고는 세상을 뒤흔들었다고 할만한 프로그래머는 별로 없다.
리누스 토발즈 정도는 되야 세상을 흔들었다고 할만할텐데 말이다.

게다가 거의 Java 쪽 사람들이라서 여러 분야의 해커 이야기를 기대했던 사람들에게는 조금 실망스러울 수도 있겠다. 그나마 앤드류 헌트나 데이비드 토마스 정도가 내게 익숙한 이름이고 나머지 사람들은 별로 들어보지 못한 이름들인데, 이것은 내가 Java를 많이 접해보지 않았기 때문일 수도 있겠다.

책의 제목처럼 여러 훌륭한 프로그래머들에게는 어떤 공통점이 있는지를 알아보는 것이 이 책의 목적이자, 인터뷰의 질문들이다.

이 책에서 언급되는 훌륭한 프로그래머들의 공통점을 정리하면 다음과 같다.

기본기에 충실하다.
 - 시스템의 동작 방식을 로우레벨 수준에서 잘 이해하고 있다.

호기심이 왕성하고 끈기가 있다.
 - 끊임없이 궁금해하며, 그런 궁금증을 풀어가는 과정에서 어려움에 봉착해도 쉽게 포기 하지 않는다.

막히면 잠시 쉬면서 해결책을 찾는다.
 - 잠시 다른 일을 하면서 불현듯 해결책을 떠올려 본 것은 많은 사람이 경험해본 일 일 것이다. 이들은 이런 경험이 많아서 그런지, 막히더라도 절대 초조해하지 않고 마치 자신이 곧 그 문제를 해결할 수 있음을 알고있는 것만 같았다. 여기서 '잠시'라는 시간은 하루 혹은 일주일 정도를 쉰다는 것은 아니다. 제임스 고슬링은 10분 혹은 1시간 정도를 다른 일을 하다 보면 마법같이 해결책이 나온다고 한다.

마지막으로 도구를 잘 다루는 것이 꼭 필요한 요소는 아니지만 대부분의 훌륭한 프로그래머들은 에디터나 개발관련 툴을 아주 잘 다룬다.

책 내용 중에 페이팔의 젊은 창업자인 친구 하나가 파이썬(문제를 해결 하는 방법은 한 가지여야 한다)과 펄의 철학(문제를 해결 하는 방법은 여러가지여야 한다)을 이야기 하면서 언젠가 귀도와 래리월이 논쟁하는 것을 본 적이 있다고 했는데, 정말 재밌었다고 한다. 하기사 그 정도 수준의 고수들이 논쟁하는 것을 보는 것은 흔치 않은 기회이고 재미있는 일임에 분명하다.
나는 래리월이 아주 젊잖고, 귀도가 다혈질인 사람일 것으로 상상되는데, 이 친구는 그 반대였다고 얘기한다.
정확히 어떤 내용인지 너무도 궁금해져서 구글을 통해 찾아봤지만, 찾을 수가 없었다.

나 역시 다른 사람들의 프로그래밍 습관을 지켜보며 어떤 차이점이 있나 하고 살펴보고는 하는데, 그 중 뛰어난 프로그래머 한 명에게서 특이할만한 사항을 발견했다.

코드를 작성하고 있는 동안에, 컴파일 혹은 빌드를 자주 하지 않는다.

그는 우선 코드를 작성하기 전에 로직을 머리 속에 잘 정리해 놓은 뒤에, 글을 쓰듯이 코드를 빨리 써내려 나간다. 보통의 많은 사람들이 이 과정에서 문법적으로 오류는 없는지 컴파일을 해보고, 혹시 문제가 있으면 얼른 수정하고 다음 코드를 작성하고는 한다. 그는 다른 사람들과는 다르게 함수 1개를 작성하던 5개를 작성하던지간에 절대로 중간에 컴파일 해보지 않고 끝까지 코드를 써내려 간다. 코드를 다 만들었으면 이제 컴파일 해볼만도 한데 자신이 쓴 코드에 문제가 없는지 한줄 씩 다시 꼼꼼히 읽어보고 머리 속에서 프로그램을 돌려본 후에 그제야 컴파일을 해본다. - 여기서 컴파일 까지 한방에 깔끔하게 된다면 완벽하겠지만, 대부분 그렇게 되지는 않았다. :)

나는 이 방식이 집중력을 계속 유지할 수 있고, 버그 없는 코드를 만드는데 도움을 준다고 느껴져서 혼자서 연습을 하고 있는 중이다.
따라하다보니, 나는 내 기억력이 한계치에 도달해서 이전에 무슨 코드를 입력했었는지 기억이 안나려고 하는 즈음에 무의식적으로 빌드 키를 누르는 나를 발견했다. 그리고 이렇게 잠시동안 빌드가 되는 순간에 집중력이 무너져서 이전에 생각하고 있었던 여러 로직들 중 하나를 까먹게 되곤 하는데, 컴파일이 성공적으로 되어 버리면 이런 까먹은 부분이 생각이 안나고 그대로 묻혀버리는 경우가 있다. 물론 이런 것들은 사소하거나 혹은 심각한 버그로서 다시 자신에게 돌아오게 될 것이다.

머리가 특별히 좋다면 처음부터 모든 로직을 꾸역꾸역 넣어 두고 프로그램을 짤수도 있겠지만, 보통의 두뇌를 가지고 있다면 차근차근 로직을 메모한 뒤에 한 번에 쭉 써내려간 뒤, 다시 한 번 자신의 코드를 리뷰하고나서 컴파일 해보는 것이 더 나은 프로그래머가 되기 위한 좋은 연습이 될 수 있을 것이다.


stackoverflow.com은 프로그래밍 전문 Q/A 사이트이다.

조엘 온 소프트웨어로 우리에게 아주 친숙한 조엘Coding horror제프가 함께 만든 사이트인데, 정말 신선하고 많은 가치를 가진 사이트이다.

이 사이트는 완전히 무료인데, 만일 이전에 프로그래밍 관련 검색을 하다가 experts exchange 같은 유료 사이트를 보고 열 받은 적이 있다면 스택오버플로우를 사랑하게 될 것이다.

프로그래밍에 관련된 질문은 어떤 것이든 할 수 있는데, 질문을 올리고나서 잠시 기다렸다가 새로 고침 한 번 하고나면 답변이 올라와 있을 정도로 빠른 답변을(그리고 훌륭한) 얻을 수 있다.

이 사이트는 아주 훌륭한 시스템으로 돌아가는데, 국내에도 이런 사이트가 있다면 프로그래머들이 정말 좋아할 것이다. 나는 국내 사이트 중에서는
KLDP
KLDP
가 가장 수준있고 괜찮은 사이트라고 생각하는데, 만일 스택 오버플로우의 대안 사이트가 생긴다면 아마 그 곳을 더 좋아하게 될 것 같다.

사이트를 이용하기 위해서 다음의 몇가지를 숙지하고 있다면 좋을 것이다.

1. 네트워크, 서버, PC 관리등의 질문은 스택오버플로우가 아니라 Server Fault라는 자매사이트에 물어본다.
소프트웨어 또는 하드웨어 트러블 슈팅등은 Super User에 물어본다.
HTML/CSS 는 Doctype에 물어본다.

2. 평판 시스템이 있는데, 이는 스택오버플로우가 얼마나 사용자를 신뢰하는지 측정하는 점수이다. 일단 시스템으로부터 신뢰를 얻고나면 다음과 같은 권한들을 얻을 수 있다.

15 Vote up
15 Flag offensive
50 Leave comments†
100 Vote down (costs 1 rep)
100 Edit community wiki posts
200 Reduced advertising
250 Vote to close or reopen your questions
250 Create new tags
500 Retag questions
1000 Show total up and down vote counts
2000 Edit other people's posts
3000 Vote to close or reopen any questions
10000 Delete closed questions, access to moderation tools
 you can always comment on your questions and answers, and any answers to questions you've asked, even with 1 rep.


10000이 넘고나면 신급 수준인데, 사이트 내에서 마치 root user인 것처럼 행동할 수 있다. 이런 재밌는 시스템 때문에 많은 사람들이 자신의 시간을 투자해서 좋은 답변을 제공하도록 동기를 부여한다.

뱃지제도도 있는데, 금뱃지를 하나 이상 달고 있는 사람들은, root급 혹은 준root급이다. 그들은 실력도 훌륭할 뿐더러 거의 이 곳에서 살고 있는 것만 같다.

2. 위키처럼 다른 사람의 질문이나 답변을 수정할 수 있다. 이것은 상당히 신선하다. 나는 다른 사람이 내 질문을 수정한 것을 보고 처음에 깜짝 놀랐는데, 생각해보니 아주 괜찮은 시스템이라고 여겨졌다. 나처럼 영어가 좀 짧은 경우에는 다른 사람이 교정해줄 수도 있다. 질문이 명확하지 않다면 다른 사람이 좀 더 이해하기 쉽게 수정해줄 수도 있다. 부적절한 태그를 달아놓았으면 이 역시 다른 사람이 수정해줄수 있다. 물론 이런 권한은 위에서 볼 수 있는 것처럼 어느 정도의 평판 점수가 필요하다.

3. 질문이나 답변을 수정하고 싶으면, 새로운 답글이나 코멘트로 달지 말고 자신의 원글을 수정하면 되며 또 그렇게 해야만한다.

4. 맘에 드는 답변에 점수를 부여할 수 있고 그 중 하나는 채택할 수도 있다.
채택된 답변과 점수가 높은 답변들이 상위에 보여진다.

5. 답변이 안달리면 자신의 점수를 조금 떼어내서 질문에 걸어 두어서, 답변을 유도해낼 수 있다.

6. 관심있는 주제나 실력있는 사람들의 답변이나 코멘트를 골라서 피드로 받아볼 수 있다.

제대로된 web 2.0 은 바로 이런 사이트가 아닐까 싶다. 기술적으로도 매우 훌륭하지만, 이런 좋은 시스템과 UI를 보면서 조엘과 그 친구들이 얼마나 영리하고 창의력이 있는지 느낄 수 있다.

오늘 본 글 중에 누군가가 프로그래밍 실력을 꾸준히 늘려가기 위해서 무엇을 하는게 좋겠냐고 물어봤는데, 그 답변이 참 걸작이다.

Read. Read blogs, white-papers (if thats your thing), books (read books by the truckloads), read anything and everything.

Write. Write down your views and opinions on whatever you are reading about. Make your point of view clear. Blogs are really excellent for this purpose.

Code. Write code every day. In your head, on paper, in a compiler. On a train in the rain on your way to Spain. Write code every day.

Talk. Talk with other programmers about programming. You will be amazed how often you A) never saw something from a particular angle, B) were flat out wrong, C) didn't know enough.

결국 가진 모든 시간을 프로그래밍에 투자하라는 내용인데 어떻게 보면 섬뜩한 내용 이기도 하지만, 한 편으로는 참 멋지다는 생각도 든다.
단, 아무리 프로그래밍을 사랑하더라도 소개팅 같은 곳에 나가서는 절대로 저따위 얘기를 해서는 안될 것이다.
난 정말 JAVA를 공부한 적이 없다구요 - 8점
윤성우 지음, 김문석 감수/오렌지미디어
이 책은 2009년 가을에 나온 비교적 최근의 자바 입문서이다.

나는 윤성우씨의 책을 아주 좋아하는데, 굉장히 쉽게 잘 읽히고 또 어려운 내용을 적절한 예를 들어서 쉽게 설명해주기 때문이다.
여태까지 나온 그의 책들은 모두 입문자를 위한 기초서적인데, 개인적으로는 조금 더 심도있는 내용을 다루어주었으면 하는 바램도 있다.

이 책은 책 제목에도 써있듯이 Java를 처음 접해보는 사람을 타겟으로 작성되었다.
대부분의 컴퓨터 언어 책들은 C언어와 비교를 하며 설명하곤 하는데, 이는 C를 알고 있는 사람들에게는 좋지만 그렇지 않은 사람들에게는 전혀 불필요한 설명일 수도 있다.
저자가 이런 독자들의 눈높이에 맞춰서 쉽게 쉽게 설명하려 애쓰는 부분들이 인상적이었고, 또 이것은 영리한 접근 방식이라 생각된다.

챕터마다 간단한 수준의 문제가 주어지고, 저자가 작성한 답안 코드가 있다.
연습문제 수준이 외국 서적들처럼 머리가 빠개지는 수준이 아니라서, 공부하는 학생들이 연습문제를 다 풀어 볼만 할 것 같다.

나는 책 앞의 절반은 다 건너뛰고 뒷부분만 읽어봤는데, 전체적으로 아주 만족스러웠다.
아마도 이 책은 자바의 기본기를 다지기에 가장 좋은 책이 아닌가 싶다.

여태껏 클래스패스나 패키지, 그리고 와일드카드를 사용하는 지네릭 문법은
다른 언어들을 사용해보면서 익혀둔 통밥으로만 대충 이해하고 살고있었는데, 책에 잘 설명이 되어있어서 좋았다.

자바의 I/O Stream 관련 클래스들은 사용할 때 마다 참 매력적으로 느껴진다.
아래 코드처럼 한 객체를 다른 객체와 연결하고 또 연결하고 하면서 프로그래밍 하는 것은 처음 자바를 하면서 많은 흥미를 제공해 주는 부분이면서 클래스를 어떻게 추상화 해야 하는지 가르쳐주기도 한다.
OutputStream os = new FileOutputStream("data.bin");
BufferedOutputStream bos = new BufferedOutputStream(os);
DataOutputStream dos = new DataOutputStream(bos);

스트림 클래스들의 역할을 잘 이해하지 못하면 어떤 것을 어디에 껴넣어야 할지 햇갈릴 수도 있는데,
책에서 이 내용들을 아주 잘 설명해주고 있다.

이런 파일과 스트림에 대한 내용은 기본적인 내용이면서 가장 많이 쓰이는 중요한 부분인데 거의 마지막 챕터에 있어서 사람들이 잘 읽어보려나 모르겠다.

쓰레드와 동기화 챕터에서는 쓰레드에 대한 아주 간단한 기초 설명과 함께 동기화에 대한 기본 기법들을 설명한다.
나는 쓰레드를 멈추는 것과 재시작 하는 부분이 꼭 있기를 기대했는데 이 내용이 없어서 너무 아쉬웠다.

예전에 stop과 resume 메소드를 사용 하려고 봤더니 두 메소드 모두 deprecate되어있는 것이 아닌가.

Sun의 문서 중에

위와 같은 내용이 있는데, 왜 아직도 새로운 API를 제공하지 않는지 모르겠다.

책 마지막에는 스윙을 맛뵈기로 다루고 있는데, 스윙에 대한 윤성우씨의 생각이 살짝 언급되어 있다.

윤성우씨는 자바 클라이언트 애플리케이션에 대해서도 찬성하고 있는 입장이다.
나는 예전에는 자바로 만드는 클라이언트는 끝내주겠다 생각한적이 있었는데, 한 번 만들어보고 나서는 생각을 고쳐먹었다.

Once write Run everywhere라지만, 그냥 아무 생각 없이 코딩한다고 해서 모든 플랫폼에서 문제없이 잘 동작하는 것은 아니다.
우리가 윈도우 네이티브 클라이언트 애플리케이션을 작성할 때, 사용하려는 Windows API가 어떤 윈도우즈 버전부터 지원되는지 잘 알고 있어야 하고,
운영체제 버전별로 검사하는 코드 또한 들어가듯이 자바 API역시 지원되는 버전을 항상 다큐먼트에서 찾아봐야 하며, 예외처리도 해주어야만 한다.
또한 많이 쓰이는 특정 플랫폼을 위해 만들어진 전용 API를 사용해서도 안된다.

위 문제는 사실 아주 자잘한 문제이고, 가장 큰 문제는 애플리케이션을 실행시키기 위해서 JRE가 필요하다는 것이다.
한번만 설치하면 되는데 그게 뭔 대수냐 라고 생각하고 있다면, 그 프로그램은 이미 널리 퍼지기는 힘들다.
사용자들은 우리가 원하는대로 좀처럼 움직여주질 않는다.

누군가와 예전에 이런 얘기를 했었는데, 멀티 플랫폼에서 돌아가게 프로그램을 만들려면 차라리 C#이 가장 좋은 선택일지도 모른다는 내용이었다. 그리고 리눅스나 맥은 Mono를 통해서 돌린다. 이것은 꽤 괜찮은 생각일지도 모르며, 이미 이런 프로그램들이 많이 나와있다.(하지만 기대치 만큼 잘 동작하지는 않는 것 같다. 앞으로는 더 좋아지겠지만)

앞으로 Windows XP가 점점 자취를 감출 때 쯤이면 닷넷으로 클라이언트 애플리케이션도 개발할 수 있고, 디바이스 드라이버도 좀 더 편하게 만들 수 있을텐데 나는 이 날이 제발 빨리 왔으면 좋겠다.

아래 페이지는 그간 Java 언어의 변화를 잘 보여주고 있다.

Java7도 어서 나와서 좀 더 편한 프로그래밍 세상이 되었으면 좋겠다.

WinDbg로 쉽게 배우는 Windows Debugging - 8점
김성현 외 지음/에이콘출판
회사에 처음 들어와서 윈도우즈 유저모드 애플리케이션들을 개발해온지 이제 3년이 조금 넘었다.
얼마전부터는 생전 처음으로 커널 레벨 코드를 작성하게 되었다.

3년이라는 시간은 길다면 길고 짧다면 짧은 시간이지만, 그동안 사용자 레벨 시스템에 대한 많은 부분을 배울 수 있었는데, 커널 레벨은 또 하나의 새로운 세계를 보여주는 느낌이다.

커널 레벨 프로그래밍을 하면서 윈도우즈 시스템의 깊숙한 부분들에 대해서 잘 몰랐던 부분들이 조금씩 명확해지는 기분은 아주 달콤하지만, 잘 설계된 하이레벨 언어들과 라이브러리들을 사용하지 못하고 또 사용자 레벨에서처럼 편하게 디버깅을 할 수 없다는 것은 많은 한숨이 나오게 하는 점이었다.

나는 마치 다시 신입사원 때로 돌아간 것만 같은 느낌인데, 당시에는 Win32 API도 거의 아는 것이 없어서 김상형님의 winapi.co.kr에서 Win32 API와 Window Messages들을 모두 출력해서 출퇴근길마다 읽고, 집에 들어가면 Windows API 정복이나 Windows via c/c++(당시에는 4판이었던), 디버깅 애플리케이션과 같은 좋은 책들을 읽으면서 지식을 쌓을 수 있었다.

반면에 불행히도 윈도우즈 디바이스 드라이버 프로그래밍을 다루는 책들은 그다지 많지 않다. 아니 거의 없다. 책을 쓰기도 어렵거니와, 수요가 워낙 적어서 잘 팔리지도 않을 것이기 때문이다.
그래서 가장 많이 참조하게 되는 것은 결국 MSDN인데, 나는 아직 영어를 정확하고 빠르게 읽을만한 수준이 되지 못해서 이런 한글 책이나 번역서에 항상 감사한다.

블루스크린이 뜨고 덤프를 보고도 문제를 찾아내지 못하면서, 나는 디버깅을 조금 더 잘 할 수 있어야겠다는 생각을 갖게되었는데, 이 책이 내게 아주 많은 도움을 주었다.

특히 Bug Check 0xCE는 바로 그저께 닥친 문제였는데, 이 책을 차근차근 읽으면서 어렵지 않게 해결할 수 있었다. 책을 읽지 않고 코드만 바라봤다면 계속 흰머리만 하나씩 늘어갔을 것이다.

나는 이 책을 이틀동안 읽었는데, 얇은 책이라고는 하지만 기술서적이 이틀동안에 읽혀진다는 것은 그만큼 읽기 편하게 쓰여졌다는 뜻이기도 하다. 물론 예전에 존로빈스의 디버깅 애플리케이션을 읽으면서 배웠던 지식들도 도움이 많이 되었다.

이 책은 대체적으로 쉽게 잘 쓰여졌다만 설명이 부족한 부분들이 몇몇 있고, 덤프 코드와 설명을 빨리 매치 시키기가 어려운 단점이 있다. 만약 덤프 코드 앞에 라인번호을 붙여놓고 라인 번호와 함께 설명했다면 훨씬 읽기가 좋았을 것이다. b0f128a4 어쩌구 하는 어지러운 주소값을 라인번호도 없이 눈으로 찾아야하는 것은 읽는이로 하여금 쓸데없는 집중력을 소비하게 만든다.

어쨌거나 이 책을 다 읽고나서 바로 이틀 전인 그저께 모습보다 나는 훨씬 많이 발전했는데, 이 책의 가격이 좀 비싼감이 들긴 하지만(500페이지 분량에 35000원이다) 내가 얻은 결과에 비하면 충분한 값어치를 하고도 많이 남은 셈이다.

2년여 동안 고생해서 좋은 책을 써주고, 내게 많은 지식을 얻게해준 저자들에게 감사를 표한다.
Windows 시스템 실행파일의 구조와 원리 - 9점
이호동 지음/한빛미디어

이 책은 PE(Portable Executable)라고도 불리우는 윈도우즈 실행 파일의 내부 구조에 대해서 다룬다.
EXE, DLL, OCX, SYS, DRV 확장자들로 된 파일들이 모두 PE파일이다.

이런 PE 파일들이 실행되는 순간에 메모리에 어떻게 매핑되고 그 자료구조는 어떻게 구성되는지가 바로 이 책이 다루는 내용이다.

이 책을 읽기 전에 제프리리처의 Windows Via C/C++

13장 윈도우 메모리의 구조
14장 가상 메모리 살펴보기
17장 메모리 맵 파일
19장 DLL의 기본
20장 DLL의 고급 기법

위 장들을 읽어보는 것이 이 책을 이해하는데 많은 도움을 줄 것이다.

나는 처음에는 헥사코드를 하나씩 따라가면서 정독해서 읽었는데, 관련 구조체들이 다 비슷비슷 하게 구성되어 있어서 중간쯤 부터는 그런 부분들을 제껴가면서 조금 더 편하게 읽을 수 있었다.

개인적으로 DLL의 깊숙한 부분에 대해서 많은 것을 얻을 수 있어서 좋았고, 또 리소스에 대해서는 거의 아는 것이 없었는데, 이 부분을 많이 다루어 주어서 특히 좋았다.

이 책의 단점을 꼽자면, 그림이나 코드들이 보기에 너무 조잡하다는 것이다.
또한 느낌표나 말줄임표를 잔뜩 붙여놓은 문장들이 곳곳에서 보이는데, 이는 잘 정제되지 못한 글의 느낌을 받게 한다. 마치 인터넷에 써서 올렸던 글을 추려서 책으로 낸듯이 말이다.
저자는 프로그래머이지 글쟁이가 아니므로 이런 것들은 출판사에서 신경을 써준다면 좋을 것이다.

이 책과 비슷한 경우로 김상형의 Windows API 정복이라는 명서가 있는데, 나는 이 책을 국내에서 출판된 가장 잘 쓰여진 프로그래밍 책이라고 생각하지만, 책 안의 그림들은 저자의 깔끔한 글솜씨에 비해 조잡하게 느껴진다.
이 책은 가남사에서 출판되었다가 한빛미디어에서 개정되었는데, 그림들이나 표는 아마도 그대로 옮긴 것 같다.

저자가 그린 그림을 출판사에 제출하면 편집없이 그대로 실는 것 같은 느낌인데, 만약 정말 그러고 있다면 출판사에서 좀 더 다듬어서 주기를 바란다.
오라일리 같은 출판사에서 발행하는 책들은 그림이나 표가 참 보기 좋게 그려져있다. 그 책을 쓰는 저자들이 모두 미술에까지 일가견이 있어서 그런 것은 분명 아닐 것이다.

다음은 내가 출판사에 바라는 점들이다.
1. 모든 코드 조각은 회색 박스로 둘러싼다.
2. 코드 폰트는 고정폭 폰트를(기왕이면 프로그래머가 많이 쓰는) 사용한다.
3. 지저분한 그림이나 표는 예쁘게 다시 그린다.

쓰다보니 단점의 내용이 길어져 버렸는데, 이 것은 이 책만이 아니라 국내에서 출판되는 모든 프로그래밍 서적에 대한 내용이다.

이런 자잘한 단점을 제외하면 이 책은 읽을만한 가치가 있는 아주 훌륭한 책이다.
이런 지식을 얻기위해서, Matt Pietrek이 쓴 다음과 같은 글 들을 눈이 빠지게 읽어야 하는데
보기만해도 질려버린다.




이미 이 책의 저자가 이 문서들을 잘 읽어본 후에 우리들에게 한글로 쉽게 설명해주고 있으니 그저 고마울 뿐이다.

이 책이 개정판이 또 나올 것 같지는 않지만 혹시 개정된다면, 위에서 말한 부분들의 교정과 함께 64bit PE나 Managed PE에 대해서도 살짝 다루어주면 좋겠다.

삼성을 생각한다 - 8점
김용철 지음/사회평론

원래 이런 종류의 책들은 집근처 도서관에 신청한 뒤에 빌려서 보는 편인데, 다른 블로그들에 쓰여진 리뷰들을 읽다보니 너무 재밌을 것 같아서 참지 못하고 주문해버리고 말았다. 알라딘은 책을 주문하면 바로 다음날 배송이 되는 점이 아주 마음에 든다.

나는 평소에 정치와 경제에 전혀 관심이 없고 기반지식 또한 없어서 책을 읽는데 애를 먹은 부분들이 많다. 예를 들어 신정아, 한나라당 차떼기. 뭐 이런 말들이 나올 때마다 예전에 한번쯤 들어본 것은 같은데, 당최 무슨 일이었는지 하나도 모르겠는 것이다. 이런 궁금증들은 위키피디아에서 풀 수 있었다. 그 곳에서는 원하는 모든 정보를 얻을 수 있다. 나는 위키피디아를 정말 너무너무 좋아한다.
이미 정치, 경제에 관심을 많이 가지고 있었다면 당시 사건들을 떠올려 보면서 이 책을 더 재밌게 읽을 수 있을 것이다.

이 책은 삼성의 비리들을 고발하는 내용으로 이루어져있고, 삼성의 장점에 대해서는 단 한마디도 없다.
책이 상당히 두꺼워서 읽는데 애를 먹었는데, 했던 얘기 또 하고 또 하는 부분이 많았다.
처음에는 충격적인 내용들에 푹 빠져서 미친듯이 재밌게 읽다가, 2/3 이상 읽다보니 점점 무디어져서 집중력이 떨어져버렸다.

이 책에서 다루는 주인공은 이건희, 이학수 그리고 김인주라고 할 수 있는데, 실제로 그들의 얘기가 나올 때 가장 집중이되고 재미있다.


나는 재벌들의 생활과 생각은 일반적인 사람들과 어느 정도나 다를까 궁금했었다.
예전에 누군가가 정몽준씨에게 버스비가 얼만줄 아냐고 물어봤는데, 70원이라고 대답했다길래 경악을 한 적이 있었다.
당시에는 설마 싶었는데, 이 책을 읽고나니 그럴수도 있었겠구나 싶다.
이건희의 부인인 홍라희씨는 100만원 짜리 옷을 대체 어느 누가 사가겠냐라는 말을 했었는데, 우리의 생각과는 반대로, 그런 싸구려 옷은 아무도 안사간다라는 뜻으로 한 말이다.
씀씀이가 워낙 크기 때문에, 버스비 같은 아주 작은 돈의 단위에 대해서는 짐작 조차 못하는 것이다.

또한 이건희의 생일 파티와 그의 전세기 내부 광경에 대해 쓴 장에서는 그들이 일반인과(그리고 2류 부자들과도) 얼마나 다른 세상에 살고있는지를 잘 보여준다.


물론 돈을 많이 벌고 많이 쓰는 것은 좋은 일이다.
하지만 그들이 쓰는 모든 돈은 그들의 돈이 아니라 회사 돈인 것이 문제라고 김용철은 지적한다.
나는 책을 읽으면서 살짝 계산해봤는데 지금까지 삼성 제품을 산 돈 중 한 5만원 정도는 그들의 비자금으로 들어가서, 이건희가 생일날 마시는 1000만원짜리 와인의 한 모금 정도 기여했겠구나 싶었다.

이건희와, 이학수 그리고 김인주를 보면서 군대 시절 생각이 자꾸 떠올랐는데, 그것은 이 책에 나타난 삼성의 모습이 군대의 모습과 너무도 흡사했기 때문이다.
삼성공화국이라고 불리기도 하는 것은 이런 이유일 것이다.

이건희는 별 5개(원수)
이학수는 별 4개(대장)
김인주는 별 3개(중장)
김용철은 별 1개(준장)

아마 이 정도가 아니었을까?

이건희는 거의 회사에 출근하지 않는데, 출근한 날에는 그가 탄 엘레베이터가 중간에 멈추지 않도록 특별히 신경을 써야만 한다.
군대에서 사단장급을 맞이하게되면, 사병들은 길거리에 먼지하나 없이 청소하고 간부들은 뭐가 그리 분주한지 전화 통화를 하면서 정신나간 사람들처럼 뛰어다녔었는데 아마 그 광경하고 참 비슷했을 것이다. 머리 속에 그려지지 않는가?

나머지 일반 임원들은 영관급이다(대령, 중령, 소령)
예를 들어 예전에 진대제사장 같은 경우는 중령 정도나 되었을 것 같다.
윤종용 사장 정도나 특별히 2스타 정도의 장관급 대우를 받았을 것 같은데, 김용철이 그에 대해서는 나쁜 말이 없는 것으로 보아 깨끗하고 강직한 사람이었던 것 같다.

책 중에, 김용철이가 양심고백이후 이학수가 문자메세지를 보내왔는데, 김용철이 그조차 언론에 공개해버려서 이학수가 마음을 꽤나 상했을 것이라며 살짝 미안해 하는 내용이 있었는데, 무슨 내용인지 궁금해져서 찾아봤다.

"김 변호사 우리 서로 좋았을 때를 생각해봅시다. 나는 김 변호사와 이렇게 될 만한 문제가 없다고 생각합니다. 만나서 뭐든지 풀어보면 서로 유익할 것입니다. 긍정적인 판단을 기대합니다."

번역하면 이쯤 되겠다.

"이보게, 예전에 내가 당신을 얼마나 아꼈고, 또 날 인간적으로 잘 따르기도 했지 않는가. 돈은 원하는대로 줄테니 이쯤에서 입 다물고 끝내자. 부탁이다."

실제로 김용철의 아들이 결혼할 때 이건희와 이재용은 100만원씩 축의금을 낸 반면에 이학수는 500만원을 냈는데, 당시 둘의 관계를 짐작해볼 수 있는 대목이다.


위키피디아에 보면 책의 내용들이 좀 더 자세히 기록되어져 있다.



이건희를 생각하면서 김우중이라는 예전 대우 회장 생각이 떠올랐다.
세계는 넓고 할일은 많다 라는 책은 20년동안 읽히고 있는 그의 스테디셀러인데, 젊은이들에게 희망과 열정을 가져다주는 아주 훌륭한 책이었다. -내가 지금까지 읽은 책 중 가장 감동적이고 열정적인 자서전이었다.
지금은 잘 기억이 나지 않지만, 책 내용 중에 그는 자신이 죽고나면 젊은이들에게 깨끗한 기업가로 기억되고 싶다는 말을 특별히 많이 했었는데 안타깝게도 이미 그렇게 되기는 틀려버린 것 같다.
만일 그가 이것을 보게 된다면 그는 펑펑 눈물 흘리게 될지도 모르겠다.
그 당시 무슨 일이 있었고 어떤 상황이 그 멋진 남자를 이렇게 변하게 만들었는지는 잘 모르겠지만, 수 많은 젊은이들의 우상이었던 사람이 한 순간에 이렇게 될 수 있구나 하는 것을 배울 수 있었다.


이건희 역시 훌륭한 기업가라는 얘기를 듣기에는 너무 많이 와버린 것 같다. 이제부터 열심히 노력하더라도 그의 평판을 다시 좋게 돌리기는 힘들 것이다.

어쨌거나 이 책을 사서 아주 재밌게 읽기는 했다만, 이 책이 좋은 책이라는 것은 아니다. 그냥 재밌는 책일 뿐이다. 또한 나는 이 책에 나오는 이야기들을 다 믿지도 않는다. 이런 류의 책들은 과장이 섞이기 마련이다.

진대제는 똑같이 삼성 임원을 지내고 나와서 젊은이들에게 열정을 불러 일으키는 훌륭한 책을 쓰는데, 이 책은 우리들에게 에너지를 건네주지는 않는다. 그렇다고 우리나라 최고의 기업에게 채찍을 가하는 이 책이 전혀 가치가 없다고 할 수는 없다만, 나는 그래도 진대제의 책이 훨씬 긍정적이고 읽을만한 책이라고 생각한다.

삼성은 정말 대단히 큰 기업이며, 내가 좋아하는 기업이기도 하다.
그들은 남들을 따라잡는 것에 아주 익숙하다. 남들보다 늦게 시작해서 빠른 속도로 성장한 후 1등까지 따라잡아 버리는 것이 바로 그들의 방식이다.
반면에 그들은 남들보다 먼저 혁신적인 제품을 내놓지는 못하는데, 이런 것들이 바로 이렇게 군대처럼 돌아가는 그들의 조직문화 때문인 것은 아닌가하는 생각을 했다.

좋게 말하면 '일사불란하게 집중해서 움직이는 조직' 이지만,
나쁘게 말하면 '마누라와 자식만 빼고 다 바꿔야할 썩어빠진 조직' 이다.