Media Log



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

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

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

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

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


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

컴퓨터를 사기 전에는 꼭 한번 이 곳을 둘러보고 사는 것이 좋지 않겠는가?
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

'디지털보단 아날로그' 카테고리의 다른 글

한빛 리더스 2기 모집  (0) 2010/11/10
최고의 미드, 24시  (10) 2010/09/24
아주 괜찮은 Cpu 벤치마크 사이트  (2) 2010/08/19
자판기 동전 교환의 비밀  (7) 2010/08/19
예스24에서 중고책 팔기  (2) 2010/05/27
김상형씨의 구인 광고  (2) 2010/05/13

http://www.benjaminlog.com/trackback/148 관련글 쓰기

  1. lovememory at 2010/10/14 00:00 [edit/del]

    데네브 구륙오는 ㅠㅠ

    Reply
    • Favicon of http://www.petabytes.org BlogIcon 김재호 at 2010/10/14 12:49 [edit/del]

      데네브 965는 클럭이 너무 높지않아?
      나 몇 일전에 집에 컴퓨터 새로 샀는데 투반으로 사버렸어.
      AMD 첨 사봤네.
      CPU에 돈을 너무 많이 썼나 제길 크크. 10만원짜리로 사야하는데

submit

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

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

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

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

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

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

한번씩들 해보시죠.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/147 관련글 쓰기

  1. at 2010/09/01 17:34 [edit/del]

    비밀댓글입니다

    Reply
  2. Favicon of http://d BlogIcon d at 2011/01/17 16:11 [edit/del]

    우왕 쩐당

    Reply
  3. 곽재상 at 2011/03/21 18:03 [edit/del]

    ㅋㅋㅋㅋㅋㅋ 아 이거 유용한 팁인데 재밌네요

    Reply

submit
코드로 읽는 리눅스 디바이스 드라이버 - 8점
스리크슈난 벤카테스와란 지음, 박재호 옮김/에이콘출판
에이콘 출판사에서 코드로 읽는 리눅스 디바이스 드라이버라는 새 책이 출간되었다.
이 책의 원제는 Essential Linux Device Drivers이며 2008년도에 발매되었다.

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

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

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

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

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

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

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

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

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


저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/146 관련글 쓰기

  1. Favicon of http://jhrogue.blogspot.com BlogIcon jrogue at 2010/08/28 17:41 [edit/del]

    이벤트 당첨 선물을 보내드리려고 합니다. 우편물 받으실 주소를 jrogue 에뜨 쥐메일.com으로 보내주시면 감사하겠습니다. ;)

    - 박재호 올림

    Reply
  2. at 2010/09/01 17:35 [edit/del]

    비밀댓글입니다

    Reply
  3. Favicon of http://namoda.springnote.com BlogIcon 나모 at 2010/10/28 14:10 [edit/del]

    박재호님이 옮기신 책을 김재호님이 블로깅하셨군요. ^^

    Reply

submit

Vim 7.3 released!

2010/08/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!
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/145 관련글 쓰기

  1. at 2010/09/01 17:35 [edit/del]

    비밀댓글입니다

    Reply

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

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

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

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

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

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

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

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

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

책을 읽는동안 실용주의 프로그래머라는 책을 읽을 때와 비슷한 느낌을 받았는데, 내 생각에는 이 책보다는 실용주의 프로그래머가 견습생들에게 훨씬 더 가치 있고 읽을 만한 책이다.
기술적인 내용들에 대해서는 조금만 더 구체적인 예를 들어가며 설명해줬으면 좋았겠지만 이 책에서는 아쉽게도 그런 것은 전혀 없다. 하지만 그렇기 때문에 좀 더 가볍게 머리 식힐 생각으로 읽어볼 수 있는 책이기도 하다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/144 관련글 쓰기

  1. 『프로그래머의 길, 멘토에게 묻다.』
    // 실용주의이야기(Pragmatic Story) 2010/08/16 00:13 x
  2. 멘토에게 물어본 프로그래머의 길
    // The nGelmaum Notes 2010/08/20 09:32 x
  3. 프로그래머의 길, 멘토에게 묻다
    // Practice for Insight 2010/08/20 13:31 x
  4. [Book] 프로그래머의 길, 멘토에게 묻다
    // Outsider's Dev Story 2010/12/12 10:33 x
  5. MSA: little rock sms marketing
    // MSA: little rock sms marketing 2014/09/15 14:23 x
  6. flashgamer.info
    // flashgamer.info 2014/09/15 14:40 x
  7. helpful site
    // helpful site 2014/09/15 15:01 x
  8. simply click the up coming web site
    // simply click the up coming web site 2014/09/15 15:05 x
  9. check this out
    // check this out 2014/09/15 15:45 x
  10. Rackspace Cloud
    // Rackspace Cloud 2014/09/15 16:17 x
  11. web storage free
    // web storage free 2014/09/15 16:18 x
  12. dental implants in Whittier
    // dental implants in Whittier 2014/09/15 16:18 x
  13. M88a
    // M88a 2014/09/15 16:20 x
  14. click the next web page
    // click the next web page 2014/09/15 16:20 x
  15. get him back forever
    // get him back forever 2014/09/15 16:25 x
  16. what is the best antivirus software
    // what is the best antivirus software 2014/09/15 16:27 x
  17. http://Doll.Youralice.net/qna/255305
    // http://Doll.Youralice.net/qna/255305 2014/09/15 16:29 x
  18. how to stop bleeding hemorrhoids
    // how to stop bleeding hemorrhoids 2014/09/15 16:45 x
  19. a cool way to improve
    // a cool way to improve 2014/09/15 17:06 x
  20. registry mechanic
    // registry mechanic 2014/09/15 17:06 x
  21. how to get her back
    // how to get her back 2014/09/15 17:31 x
  22. visit the following web page
    // visit the following web page 2014/09/15 17:45 x
  23. King of Backlinks
    // King of Backlinks 2014/09/15 17:54 x
  24. Http://Kidsedufair.Co.kr/
    // Http://Kidsedufair.Co.kr/ 2014/09/15 18:03 x
  25. online psychic readings
    // online psychic readings 2014/09/15 18:21 x
  26. pinoytambayan
    // pinoytambayan 2014/09/15 18:29 x
  27. Realistic Dildo
    // Realistic Dildo 2014/09/15 18:55 x
  28. www.solmedalliance.com
    // www.solmedalliance.com 2014/09/15 19:08 x
  29. pro-dom.com.ua
    // pro-dom.com.ua 2014/09/15 19:09 x
  30. at home std test
    // at home std test 2014/09/15 19:18 x
  31. continue reading this..
    // continue reading this.. 2014/09/15 19:25 x
  32. omega 3 fish oil supplements
    // omega 3 fish oil supplements 2014/09/15 19:49 x
  33. click the up coming document
    // click the up coming document 2014/09/15 19:53 x
  34. Naughty Toys
    // Naughty Toys 2014/09/15 20:09 x
  35. hair Free body
    // hair Free body 2014/09/15 20:22 x
  36. omega 3 fish oil
    // omega 3 fish oil 2014/09/15 20:43 x
  37. diets
    // diets 2014/09/15 20:57 x
  38. love psychic
    // love psychic 2014/09/15 21:09 x
  39. punjabi
    // punjabi 2014/09/15 21:13 x
  40. please click the next site
    // please click the next site 2014/09/15 21:23 x
  41. webpage
    // webpage 2014/09/15 21:27 x
  42. Suggested Reading
    // Suggested Reading 2014/09/15 21:58 x
  43. Learn Even more Here
    // Learn Even more Here 2014/09/15 22:49 x
  44. visit the up coming internet site
    // visit the up coming internet site 2014/09/15 23:37 x
  45. auto warranty
    // auto warranty 2014/09/15 23:53 x
  46. http://www.jocuri-tari.org/profile/hoehmann
    // http://www.jocuri-tari.org/profile/hoehmann 2014/09/16 00:20 x
  47. adult store online
    // adult store online 2014/09/16 01:06 x
  48. home std test kit
    // home std test kit 2014/09/16 01:28 x
  49. click the next document
    // click the next document 2014/09/16 01:29 x
  50. car warranty
    // car warranty 2014/09/16 01:32 x
  51. www.pcrefreshinc.com
    // www.pcrefreshinc.com 2014/09/16 02:14 x
  52. calorie burn calculator
    // calorie burn calculator 2014/09/16 02:25 x
  53. http://www.atvriders.tv/
    // http://www.atvriders.tv/ 2014/09/16 02:52 x
  54. bmi calculator men
    // bmi calculator men 2014/09/16 02:57 x
  55. regzooka
    // regzooka 2014/09/16 03:19 x
  56. authentic psychic readings
    // authentic psychic readings 2014/09/16 04:00 x
  57. war commande cheats
    // war commande cheats 2014/09/16 04:11 x
  58. free online tarot card readings
    // free online tarot card readings 2014/09/16 04:16 x
  59. credit card relief
    // credit card relief 2014/09/16 04:45 x
  60. over the counter std tests
    // over the counter std tests 2014/09/16 05:08 x
  61. he has a good point
    // he has a good point 2014/09/16 05:18 x
  62. bmi chart
    // bmi chart 2014/09/16 05:26 x
  63. click through the up coming web page
    // click through the up coming web page 2014/09/16 05:58 x
  64. iolo system mechanic
    // iolo system mechanic 2014/09/16 05:59 x
  65. bmr calculator
    // bmr calculator 2014/09/16 06:18 x
  66. read this
    // read this 2014/09/16 06:31 x
  67. Cellulite Factor.net
    // Cellulite Factor.net 2014/09/16 06:37 x
  68. tube.mo.com.sa
    // tube.mo.com.sa 2014/09/16 07:14 x
  69. This Web page
    // This Web page 2014/09/16 07:17 x
  70. personal loans for bad credit
    // personal loans for bad credit 2014/09/16 08:00 x
  71. http://wiki.planetbeast.net/tiki-index.php?page=UserPagechassidylecouteur
    // http://wiki.planetbeast.net/tiki-index.php?page=UserPagechassidylecouteur 2014/09/16 08:24 x
  72. extended auto warranty
    // extended auto warranty 2014/09/16 08:27 x
  73. http://www.tubehits.org
    // http://www.tubehits.org 2014/09/16 08:50 x
  74. infertility cure
    // infertility cure 2014/09/16 10:27 x
  75. arcadeworks.mobi
    // arcadeworks.mobi 2014/09/16 10:34 x
  76. click here for more info
    // click here for more info 2014/09/16 11:04 x
  77. simply click the following post
    // simply click the following post 2014/09/16 13:08 x
  78. online psychic
    // online psychic 2014/09/16 13:33 x
  79. http://www.gamesfloor.com/
    // http://www.gamesfloor.com/ 2014/09/16 13:46 x
  80. My Home Page
    // My Home Page 2014/09/16 14:40 x
  81. http://www.rxreviewllc.com/blog/?p=351874
    // http://www.rxreviewllc.com/blog/?p=351874 2014/09/16 15:20 x
  82. visit this site right here
    // visit this site right here 2014/09/16 15:41 x
  83. home std test
    // home std test 2014/09/16 15:42 x
  84. just click the next webpage
    // just click the next webpage 2014/09/16 15:52 x
  85. psychic solutions by lynne
    // psychic solutions by lynne 2014/09/16 15:54 x
  86. please click the next post
    // please click the next post 2014/09/16 16:00 x
  87. best registry cleaners
    // best registry cleaners 2014/09/16 16:10 x
  88. extended car warranty
    // extended car warranty 2014/09/16 16:13 x
  89. simtube.com
    // simtube.com 2014/09/16 16:20 x
  90. lilemo.com
    // lilemo.com 2014/09/16 16:45 x
  91. nguoimiennui.com
    // nguoimiennui.com 2014/09/16 17:00 x
  92. download hotspot shield Elite crack for android
    // download hotspot shield Elite crack for android 2014/09/16 17:37 x
  93. extended auto warranty
    // extended auto warranty 2014/09/16 18:19 x
  94. Alfredarbouw.breda.nl
    // Alfredarbouw.breda.nl 2014/09/16 18:23 x
  95. Baby.kyku.Tv
    // Baby.kyku.Tv 2014/09/16 18:38 x
  96. Continued
    // Continued 2014/09/16 19:28 x
  97. how much should i weigh
    // how much should i weigh 2014/09/16 19:33 x
  98. getsgames.com
    // getsgames.com 2014/09/16 19:49 x
  99. lose weight easily
    // lose weight easily 2014/09/16 20:12 x
  100. car warranty
    // car warranty 2014/09/16 20:15 x
  101. visit the following webpage
    // visit the following webpage 2014/09/16 20:32 x

submit
Win32 에러번호를 간편하게 확인할 수 있는 방법이 있는데도 불구하고 많은 사람들이 비주얼 스튜디오의 Error Lookup 툴을 사용하거나 심지어 툴을 따로 만들어 쓰는 것 까지 보고는 이 방법을 모르는 사람들이 상당히 많다는 것을 알게 되었다.


이보다 더 편할 수가 있겠는가.

응용 프로그램 레벨에서는 Win32 에러를 받게 되지만 커널부에서는 NTSTATUS 에러값을 확인하곤 한다.
다음 링크에서는 커널 코드에서 돌려지는 NTSTATUS 에러가 어떤 Win32 에러 코드로 매핑되어지는지 나와있다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/143 관련글 쓰기

  1. 지나가던 at 2011/07/28 15:03 [edit/del]

    헐.. 저런 기능이 있는지 몰랐네요! 감사합니다.
    앞으로 오류코드 보는게 더 편해지겠습니다.

    Reply

submit
Hadoop 완벽 가이드 - 8점
톰 화이트 지음, 심탁길.김우현 옮김/한빛미디어
나는 하둡의 분산 파일 시스템에 많은 관심을 가지고 있었는데, 이 책이 한빛미디어에서 번역되어져서 너무 반가웠다.

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

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

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

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

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

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

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

파일 시스템이나 맵리듀스에 관심이 있는 사람들은 꼭 읽어볼 것을 추천한다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/142 관련글 쓰기

  1. Favicon of http://www.jayeth.net BlogIcon 곽재상 at 2011/07/25 16:05 [edit/del]

    형 이거 재밌어요 ?
    hadoop 찾아 돌다가 또 여기까지 ㅋ

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2011/07/25 20:19 [edit/del]

      분산 시스템에 관심이 많은 사람들한테는 재밌지. 2판 나왔으니깐 2판으로 봐. 별로 바뀐건 없는 것 같지만.

submit
이제는 마이크로소프트에 흡수된 구 Sysinternals가 만든 여러 유용한 툴 중 Process Monitor는 내가 가장 좋아하는 툴이다.
많은 사람들이 Process Explorer만을 사용하는데, 아마도 Process Explorer의 직관적인 사용자 인터페이스 덕분이리라.
Process Monitor는 잘 사용하려면, 툴에도 익숙해져야 하지만 Windows API를 많이 알고 있어야 하기 때문에 개발자가 아닌 QA팀 같은 곳에서는 사용하기 힘들다.
하지만 프로세스가 수행하는 모든 동작들을 잡아채서 보여주기 때문에 어떤 응용프로그램을 분석할 때 유용한 많은 정보들을 얻어 낼 수 있다.

DbgView 또한 우리 개발자들이 디버깅 할 때 많이 사용하는 애플리케이션 중 하나다. 응용프로그램이나 디바이스 드라이버에서는 OutputDebugString이나 DbgPrint 같은 함수로 로그를 작성한 후 이 툴을 통해서 프로그램의 상태를 추적하고는 한다.

파일 시스템 필터드라이버를 만들게 되면 이 두가지를 같이 병행하고 싶은 경우들이 생길 수 있다.
응용프로그램들이 어떤 Irp를 보내는지를 모니터하고, 내 필터 드라이버는 어떤 동작을 하는지를 함께 보고 싶은 것이다.

두가지 툴을 번갈아 가면서 쳐다보는 일은 순서를 제대로 예측하기가 어렵기 때문에 정말 열받는 일인데, 이번에 프로세스 모니터에서 이런 기능을 해결하기 위한 인터페이스가 하나 추가되었다.

이 아이디어는 디버깅 애플리케이션으로 유명한 존 로빈스생각해내고 제안했는데, 현재 MS 최고의 프로그래머 중 하나인 마크 루시노비치를 자신의 꼬붕 프로그래머라고 농을 치는 것이 너무 웃긴다.

What I really wanted was for my trace statements to be part of the Process Monitor viewing so that way it would be trivial mapping the I/O activity to operations in my code. Fortunately, I have a personal developer at my disposal that is keen to tackle these kinds of challenges. He’s a very nice guy named Mark Russinovich who happens to be the author of Process Monitor. Mark is always eager to hear feature requests for his tools and I think he’s implemented at least 30 features in Sysinternals tools over the years that I thought would be great to have. Don’t hesitate to email Mark with feature ideas so he can be your personal developer as well.

존 로빈스의 유머 감각은 정말 끝내주는데 그의 디버깅 애플리케이션만큼 웃기는 컴퓨터 책을 아직도 만나보지 못했다.
이런 멋진 해커이자 명저자가 다시는 책을 안쓰기로 결정한 것은 정말 슬픈 일이다.

어쨌거나 마크는 콘트롤 코드를 하나 추가해서 DeviceIoControl 함수를 통해 인터페이스 할 수 있도록 기능을 제공해주었고, 최신버전의 프로세스 모니터를 보면 도움말에서 아래 코드를 찾아볼 수 있다.

#define FILE_DEVICE_PROCMON_LOG 0x00009535
#define IOCTL_EXTERNAL_LOG_DEBUGOUT (ULONG) CTL_CODE( FILE_DEVICE_PROCMON_LOG, 0x81, METHOD_BUFFERED, FILE_WRITE_ACCESS )

int main( int argc, char * argv[] )
{
  HANDLE hDevice = CreateFile( L"\\\\.\\Global\\ProcmonDebugLogger", 
                       GENERIC_READ|GENERIC_WRITE,
                       FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
                       NULL,
                       OPEN_EXISTING,
                       FILE_ATTRIBUTE_NORMAL,
                       NULL );

  if ( hDevice != INVALID_HANDLE_VALUE ) {
    WCHAR text[] = L"Debug out";
    DWORD textlen = (_wcslen(text)+1) *sizeof(WCHAR)
    DWORD nb = 0;

    BOOL ok = DeviceIoControl( hDevice,
               IOCTL_EXTERNAL_LOG_DEBUGOUT, text, textlen, NULL, 0, &nb, NULL );

    if ( ok ) {
      printf( "wrote %d\n", i );
    } else {
      printf( "error 0x%x\n", GetLastError() );
    }
  } else {
    printf( "error %d opening Process Monitor\n", GetLastError() );
  }
  return 0;
}
존 로빈스는 .NET과 C/C++에서 좀 더 편하게 사용할 수 있는 Wrapper 코드를 만들어서 올려놓았다.
커널 드라이버에서 사용하고 싶다면,
ZwDeviceIoControl
ZwDeviceIoControlFile 함수를 통해서 직접 Wrapper를 작성해야 한다. 존도 이제는 늙어서 커널 코드는 만들어주기가 귀찮은가보다.


이런 식으로 애플리케이션이나 드라이버에서 프로세스 모니터에게 직접 디버그 메세지를 보낼수가 있다.

기존에 OutputDebugString이나 DbgPrint로 찍은 함수를 Process Monitor가 잡아채서 찍어주는 것이 아니고, 우리가 직접 커스텀 함수를 호출해야만 로그 메세지를 보낼 수 있는 것에 주의하자.
즉, 꽁짜로 얻을 수 있는 것은 아니고 기존에 사용하던 애플리케이션이나 드라이버의코드를 고쳐야 한다는 것.(래퍼 함수를 작성하고, 필요한 곳에서 호출하는 만큼의 비용은 지불해야 한다.)

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/141 관련글 쓰기

submit

SyntaxHighlighter 3.0.83

2010/08/07 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);
    }
}

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

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/140 관련글 쓰기

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

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

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

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

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




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

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

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

충돌나는 키들이 꽤 많기 때문에 자신의 선호에 맞게 잘 정리해줘야 할 것이다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/139 관련글 쓰기

submit
레이몬드 첸의 윈도우 개발 282 스토리 - 10점
레이몬드 첸 지음, 손광수 옮김/ITC(아이티씨)
윈도우즈 프로그래머라면 꼭 구독해야 할 블로그로 하나를 꼽으라면 단연 레이몬드 첸의 The Old New Thing 일 것이다.

그의 블로그는 포스팅이 꽤나 자주 올라오는데, 보통 한번에 2개씩 올라오고 하나는 기술적인 이야기 다른 하나는 잡소리이다.

윈도우즈 프로그래머가 관심있어 할만한, 그리고 얻어갈만한 주제들로 글을 쓰는데다가 유머감각도 꽤 있기 때문에 그의 블로그는 재미있다.


이 책은 2006년에 그의 블로그의 글들을 모아서 발행되었으며, 2007년에 번역서가 출간되었다.
처음 이 책이 나왔을 때 나는 UI 프로그래밍에 관심이 많아서 그 쪽으로 많이 읽었는데, 이번에 다시 읽을 때는 파일 시스템이나 윈도우 시스템 내부의 이야기를 중심으로 읽었다.

물론 재밌기도 할 뿐더러, 그의 놀라운 지식과 통찰력들을 많이 배울 수 있어서 좋은 주말이었다.

기술적으로만 보면 NTFS의 터널링이나 디렉터리의 읽기 전용 속성에 대한 내용이 가장 기억에 남지만, 그보다도 더 인상 깊었던 것은 쉽게 지나칠뻔 했던 어떤 챕터에서 나온 다음 문장이었다.

만약 어떤 애플리케이션이 윈도우 95에서 실행되지 않는다면(애플리케이션의 버그로 인하여) 필자는 이를 개인적인 실패로 받아들였다. 그리고 수많은 밤을 새면서 이들이 윈도우 95에서 실행될 수 있도록 하기 위해 서드파티 프로그램들의 버그를 수정했다.

얼마나 많은 개발자들이 버그를 남의 탓으로 돌리는지를 잠깐만 생각해보면, 왜 마이크로소프트의 윈도우가 이렇게 성공할 수 있었는지, 그리고 그가 왜 세계 최고의 프로그래머라는 소리를 듣는지를 조금이나마 이해할 수 있다.

2007년 이후 그의 블로그에 엄청난 양의 포스팅이 쌓였는데, 이제 2권을 낼 때가 되지 않았나 싶기도 하다. 2권을 낸다는 글을 얼마전에 어디선가 본거 같기도 한데(그게 이 책을 다시 찾은 이유였지만) 꿈에서 봤는지 아무리 찾아봐도 찾을 수가 없었다.

이렇게 얻어갈 것도 많으면서 재밌게 읽히는 책은 많지 않다.
빨리 2권이 나와서 내게 또 하나의 즐거움을 줬으면 좋겠다.

크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/138 관련글 쓰기

  1. Favicon of http://blogs.technet.com/sankim BlogIcon sankim at 2010/08/01 22:33 [edit/del]

    제 블로그 방문해 주셔서 가사합니다.
    근데 허헉.. 한글번역본이 있군요? 번역 상태는 어떤가요?

    Reply
    • Favicon of http://www.petabytes.org BlogIcon 김재호 at 2010/08/01 22:50 [edit/del]

      음 글쎄요. 다른 블로그들에는 번역이 엉망이라고 많이 쓰여있던데 저는 그렇게 나쁘지는 않았습니다. 단지 용어의 선택이 아쉬운 부분들이 많기는 했는데, 주의 깊게 읽으면 괜찮아요^^;

  2. fullc0de at 2011/06/18 16:16 [edit/del]

    저도 번역본 읽다가 원서 사본 1인 ㅋㅋ

    Reply

submit