서재

2009년 7월 21일 화요일

당신만이 할 수 있는 일을 하라

당신만이 할 수 있는 일을 하라 - 10점
Toshino Hosogai 지음, 김성훈 옮김/성안당

Learn how to program

http://www.catb.org/~esr/faqs/hacker-howto.html

배워야 할 언어
: 오픈소스 진영에서 사용하는 언어
- 리눅스 컴파일러가 존재하는 언어들
1. XHTML
2. Python
3. C
4. C++
5. Java
5. Perl
6. LISP

배우지 말아야 할 언어
: 이식성이 떨어지는 프로그래밍 언어
: 비주얼베이직, MFC, 델파이 등

2009년 7월 18일 토요일

군생활 2년동안 읽은 컴퓨터서적들


군생활을 하면서 여유시간이 그리 많지는 않았으나 가끔씩은 책을 읽었다. 본 글은 그 2년간 읽은 컴퓨터서적들에 대한 정리이자 의견이다. 별 갯수는 본인이 읽으면서 어떻게 느꼈는지에 대한 지표이며, 기술서적이 아닌거랑, 다 못읽은거랑, 책 자체가 완전 별로였던건 뺐다.

컴파일러 제작 : 원리와 실제 / Kenneth C. Louden / ★★★★★
나도 언젠간 프로그래밍 언어를 한번 만들어볼까..하는 무모한 생각에 보게 되었다. 컴파일러론 관련서적의 입문서로 매우 좋고, 진행이 흥미진진하게 되어있다. 번역품질도 괜찮은 편이고, 예제로 나오는 소스도 깔끔하다. 책에서는 Tiny라는 이름의 Pascal과 닮은 자그마한 언어를 만든다.

Code Reading : 오픈소스 관점에서 본 코드 읽기 / ★★★☆
코드를 읽는 방법에 대한 유일무이한 책이다. (오픈소스를 예로 들면서) 큰 소스를 빠르게 분석하는 방법이랄까? 이미 Unix문화에 빠져있다면 새로 얻을 내용은 별로 없을듯. 번역은 류광님이다.

실용주의 프로그래머 / 앤드류 헌트, 데이비드 토머스 / ★★★☆
역자는 우리나라에 xp(익스트림 프로그래밍)을 처음 소개한 김창준님이다. 김창준님은 이 책은 개발자를 위한 탈무드라고 표현했고, IMC의 김학규님도 지금껏 본 책들중에 최고라고 했는데.. 내게는, 이런 책을 읽기엔 내공도 딸리고 경험도 너무 부족했던듯 싶다. 뭔 소린지 알긴 알겠는데, 피부에 와닿는 부분은 많진 않았다. 내공부족?!

만들면서 배우는 OS커널의 구조와 원리 / 김범준 / ★★★★
본인은 입대전에 자그마한 OS커널을 만들려고 발악을 했었다. 이런책이 그때도 있었으면 그렇게 일찍 포기하진 않았을텐데! 커널제작에 있어서 맨 앞부분과 기본틀을 설명하는 책이다. 하지만, 프로세스별 독립적인 가상메모리나 파일시스템 등의 부분은 전혀 없다는거~

조엘 온 소프트웨어 / 조엘 스폴스키 / ★★★★★
조엘이라는 사람이 자신의 블로그에 쓴 글들중에 멋진 글만 추려서 출판한 책이다. 프로그래머로서, 관리자로서의 현시대에 관한 굉장한 통찰력을 보여준다. 대충 이 업계에서 살아가고자하는 사람이라면 무조건 읽어야 한다. 조엘은 Microsoft에서 Excel의 VBA기능을 담당했었고, 지금은 자신의 회사를 차렸다. 박재호(jhrogue)님과 이해영님이 번역했다.

해커와 화가 / 폴 그레이엄 / ★★★★☆
통찰력이 뛰어난 한 해커의 에세이랄까? 쇼핑몰을 만들어서 야후에 팔아치운 이 사람은 꽤나 오만한 사고방식을 가지고 있는데, 듣다보면, 이 사람 말이 거의 다 맞다... -_-;; 이녀석. 글을 좀 잘 쓴다. 앞부분에선, 부자, 불균등한 수입에 대한 내용도 나오고, 뒷부분에서는 100년후의 프로그래밍 언어, 꿈의 언어에 대한 내용도 나온다. 굉장한 Lisp의 추종자이며, Arc언어의 창시자이다.

조엘이 엄선한 소프트웨어 블로그 베스트 29선 / 조엘 외 수십명 / ★★★☆
딴 사람들이 쓴 멋진 글들을 조엘이 모아서 책으로 낸 것이다. 이 업계에 대한 기술적/비기술적인 여러가지 이야기가 있다. 폴 그레이엄의 글도 있다. '조엘 온 소프트웨어'에 비하면 별로..

Art of UNIX Programming / 에릭 S. 레이몬드 / ★★★★
유닉스문화에 대한 철학서(?) 어째서 유닉스문화가 뛰어난지에 대해 하나씩 짚어가며 설명하지만.. 이사람. 성격이 좀 삐뚤어졌다고 해야하나? -_-;; '성당과 시장', '오픈소스'의 바로 그 저자이다.

Perl 제대로 배우기 (Learning Perl의 번역서) / ★★★★☆
그냥 "나도 스크립트 언어를 하나 해야겠다."라고 생각해서 읽었다. 얇고! 간단하고! 대충 나올만한거 다 나오고 그런 책이다. 하지만~ 대세는 역시 Python이나 Ruby라는거~

Head First Design Patterns / ★★★★★
최고다! 디자인패턴을 정말이지 너무 쉽게! 익힐 수 있다. 처음에는 헤드퍼스트 시리즈 보고, "뭐 이렇게 산만해?"라고 생각했는데, 완전 오산이었다. 정말 빠져든다고 해야할까나? 이 책을 먼저 읽고나서, GoF의 디자인패턴을 보는게 좋을듯.

The C++ Programming Language / 비야네 스트로스트럽 / ★★★★★
일명, TC++PL이라 불리우는 바로 그 고전. 저자는 C++언어를 창시한 비야네 스트로스트럽. 번역은 곽용재님이고, 감수자들 중에는 류광님도 포함되어있다. 더 어떤 설명이 필요하랴? 별 다섯개도 모자른다. 한줄 한줄이 주옥이다. 언어를 만든 사람의 고뇌가 엿보인다. 최고다. (다만, 순서대로 읽으면 좀 졸립다. 1200쪽이 넘는다.. -_-) C++을 안해본 사람은 못읽는다.

Refactoring / 마틴 파울러 / ★★★★☆
객체지향 프로그래머라면, 오른손에 GoF의 디자인패턴을 들고, 왼손엔 이 책을 들고 객체와 맞서 싸워야 한다. 만약 당신이, 리팩토링이 뭔지 안다면 당연히 이미 이 책을 읽었을 것이고, 리팩토링이 뭔지 모른다면.. 언젠가 알 때가 오겠지? 절대 이런 책은 해당 주제에 관심이 없을땐 읽으면 안된다.

Effective C++ / 스캇 마이어 / ★★★★☆
일명, EC++이라 불리우는 그것. 예전에 팡야를 만든 서관희님에게 직접 들었던 말이 기억난다. 서관희님은 신입 프로그래머가 면접을 보러 오면 꼭 이 질문을 한다고 한다. "EC++과 MEC++을 읽었습니까?" C++을 사용한다면 꼭 읽어야 하는 책이다. More Effective C++이라는 후속편도 있다. 나는 2판을 봤는데 번역상태가 많이 안 좋다. 3판은 곽용재님이 번역을 했으니 반드시 3판으로 볼 것.

Lucene in Action / Erik Hatcher 등 / ★★★★☆
나도 '홈페이지에 검색창을 한번 달아볼까나'해서 읽었는데, 검색엔진에 관한 매력적인 내용들이 있다. 루씬이라는 오픈소스 검색엔진 라이브러리를 사용하는 방법에 관한 책이다. 나는 꽤나 재밌게 읽었는데, 강컴의 한 서평중에는.. IR(Information Retrieval)업계에서 일하는 분이 "별로다"라고 서평을 달아주셨다;; 어디선가 얼핏 들었는데, Daum의 검색팀이 검색엔진을 처음 만들때에 lucene을 참고했다고 한다. (근거는 없다.)

좋은 번역가

학자보다 <전문번역가>가 훨씬 번역을 잘한다.
원전과 원어(출발어)에 대한 이해만큼 중요한 것은 한국어(도착어)에 대한 이해이다.

로쟈의 번역가 관련 태그

-----------------------------------------------------------------

전문 번역가


-----------------------------------------------------------------

역사

박상익
http://www.aladdin.co.kr/search/wsearchresult.aspx?AuthorSearch=%b9%da%bb%f3%c0%cd@800260&BranchType=1

-----------------------------------------------------------------

사회

신기섭

문학

이윤기

-----------------------------------------------------------------

컴퓨터

김창준


류광
-----------------------------------------------------------------

종교

윤종석

전의우


-----------------------------------------------------------------

과학

이충호

장대익

김동광

박병철

김명남

이한음

-----------------------------------------------------------------

철학

2009년 7월 15일 수요일

김샘 추천도서 - C, 자료구조, C++, STL, Win32 API, MFC, 소켓

http://cafe.naver.com/applekoong.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=410

[주의사항]
1. 가격보고 책 사지 맙시다. 비싼 책은 두껍지 않다면 내용이 두껍습니다.
2. 두께로 책을 판단하지 맙시다. 두껍지 않아도 좋은 내용만 있으면 충분히 무겁습니다.
3. 모든 책은 열심히 집필되었으므로, 무조건 비판하지 맙시다.
4. 추천 서적외에도 좋은 책들이 많습니다. 미처 읽어보지 못했습니다.
5. 좋은 책이 있으면 알려주십시오. 이 문서를 계속 수정해 나가도록 하겠습니다.

[C 언어]
가벼운 책을 몇 번 보고 두꺼운 책으로 넘어갑니다.
어느 시점에 다다르면 코드가 많이 나오는 책을 봅니다.

1. [초급] C가 보이는 그림책
- 성안당 | ANK Co., Ltd | 번역서 | 2002-12-12 | 14,000
- 그림이 많이 나와서 추천했고, 간혹 어려운 부분도 있습니다.
과감하게 뛰어넘길 바라고 C 언어에 대한 기분만 느껴봅니다.
- 이외에도 쉽다고 알려준 많은 책이 있습니다.
반드시 자신에게 맞는 레이아웃을 가진 책을 보도록 하십시오.

2. [고급] C언어 프로그래밍
- 대영사 | Brian W. Kernighan | 번역서 | 2004-09-08 | 16,000
- C 언어를 만든 리치가 썼습니다. 간결한 설명과 부족했던 무언가를 채워주는 책입니다.
한때는 미치도록 읽어댔던 책이지만, 이제는 과거에 좋았던 책으로 남았다고 생각합니다.
국내 저자들이 쓴 책에도 비슷한 내용들이 많이 나옵니다. 물론 처음은 데니스 리치였습니다.
어쨌든 C 언어를 만든 사람의 철학을 들여다볼 수 있어 좋은 책입니다.

3. [초급] 열혈강의 C 프로그래밍
- 프리렉 | 윤성우 | 국내서 | 2003-12-15 | 22,000
- 동영상 강의와 함께 국내에서 가장 많이 팔리는 C 언어 입문서로 생각됩니다.
윤성우씨가 강의만 잘하는 줄 알았는데.. 책은 더 잘 씁니다. 부럽습니다.
더불어 강의를 하지 않고 현업에 있는 것에 대해 불만이기도 합니다.
그러나.. 초급서를 통해 익혀야 할 것은 문법뿐이고, 코딩과는 별개입니다.
코딩은 상상할 수 없는 많은 시간과 함께 해야 한다는 것을 명심하기 바랍니다.

4. [고급] IT 백두대간 C언어 펀더멘탈 : 견고한 프로그램을 위한 기본원리
- 한빛미디어 | 전웅 | 국내서 | 2003-01-25 | 32,000
- "이런 책도 있구나!" 싶을 정도로 C 언어를 깊이 있게 파헤친 책입니다.
이해가지 않는 부분이 많겠지만, 고수가 되면서 부딪히는 많은 의문들에 대해 해결을 해줍니다.
전체를 해결한다고는 할 수 없겠지만,
C 언어 원문에 충실하게 써내려간 저자의 통찰력을 높게 삽니다.
더욱이 저보다 더 어려서 화가 납니다.
대신 다음에는 좀 더 쉽게 집필하기를 바랄 뿐입니다.

5. [중고급] 포인터 실무 KIN
- 사이텍미디어 | 진용훈 | 국내서 | 2006-05-08 | 16,800
- 포인터에 대한 서적이 최근 들어 몇 권 나왔습니다.
개인적으로는 대부분의 포인터 서적들이 옳지 않다고 봅니다.
초급서가 그렇듯이 기본적인 내용에 대해서만 다루는데
포인터 서적들도 마찬가지가 아닌가 합니다.
다행스럽게도 이 책은 포인터에 대해 폭 넓은 시각을 제공합니다.

6. [중고급] 알고리즘과 함께 하는 C의 아름다움 : 실용적 사례 570제로 풀어보는
- 사이텍미디어 | 김정훈 | 국내서 | 2003-07-01 | 29,000
- 제가 쓴 책으로, 이론적인 부분은 건너 뛰고 코드에 집중한 책입니다.
지금도 그렇듯이 포인터 이론을 아는 것은 별 의미가 없을 수 있습니다.
제대로 알고 쓰면 좋겠지만, 쓰다 보면 알게 되는 것도 인생입니다.
강의에 사용했던 문제를 여과없이 실었고, 모든 코드에 대해 단계적인 설명을 합니다.
초급은 아니고 C 언어를 조금 하는 사람들이 봐야 합니다.
대부분의 문제에서 막힘이 없다면, 개발자로 자부해도 괜찮겠습니다.

7. [고급] 포인터와 함께 하는 C의 아름다움
- 사이텍미디어 | 김정훈 | 국내서 | 2005-07-30 | 33,000
- 제가 수업하는 방식은 독특합니다.
결과를 내기 위해, 수업 진도에 맞게 쓴 책입니다.
역시 강의 내용을 그대로 옮겼고, 수준은 고급입니다.
풀어쓴다고 썼는데.. 학생들이 이해를 못하더군요. 그래서, 고급입니다.
역시 코드에 집중했고, 포인터를 포함한 이론에 좀 더 집중했습니다.
모르고 지나갔던 부분들에 대해 자세히 설명하고 이해를 구합니다.
책에 실린 예제는, 이전 책보다 훨씬 고급 예제로 막힘이 없다면 진짜 개발자입니다.
개발자가 왜 이 책을 보는지는 모르겠지만, 틀림없는 개발자, 맞습니다.

[Data Structure]
자료구조를 배우는 목적은 대부분 C 코드의 연습에 있습니다.
자료구조를 이해하려 드는 것은 "위법"임을 분명히 밝힙니다.
이해를 해야 한다면, 상황에 맞게 골라쓸 수 있는 정도면 충분합니다.
현업에서 자료구조를 코딩하는 일은 없습니다.
포인터나 배열, 구조체가 판치는 세상,
이런 세상에서 코딩해야 실력이 늘지 않겠습니까?

1. [중고급] C로 배우는 알고리즘 1권, 2권
- 세화 | 이재규 | 국내서 | 1996-02-06 | 23,000
- 처음 출간할 때부터 독보적인 위치를 점유하고 있는, 자료구조의 대명사입니다.
아쉬운 것은 판권에 걸렸는지 어쨌는지 인쇄를 다시 하지 않는다는 점입니다.
예전 판형 그대로, 예전 내용 그대로임에도 불구하고 최고로 여깁니다.
그러나, 이 책은 초보자가 보기에는 좋지 않습니다.
다른 어떤 책들보다 많은 코드를 갖고 있지만,
코드가 세월을 타는 것은 아니지만, 현재 나오는 코드는 좀 더 이해하기 쉽고 보기좋은 코드입니다.
또한 최신 책들에 비해 설명이 난해한 것이 단점입니다.
그럼에도 불구하고 여전히 최고인 이유는
엄청난 코드 분량과 유일함에 있습니다. 이 책에는 다른 책에 없는 내용들이 많습니다.
아니 한 권에 다 들어있습니다. 특히 2권은 정말 특별하니 미리 사는 일이 없도록 주의하기 바랍니다.

2. [초급] IT COOKBOOK CㆍC++로 배우는 자료구조론
- 한빛미디어 | 주우석 | 국내서 | 2004-08-03 | 23,000
- 쉽게 설명하고 이해를 구합니다.
초보자들은 코드가 없어서 답답해 하지만, 앞의 설명을 읽어봤다면 괜찮은 책이란걸 알겁니다.
이 책을 읽으면 어떤 책보다 쉽게, 상황에 맞는 자료구조를 선택할 수 있습니다.
머리 아픈 일이 없는 자료구조를 지향하는 책입니다.

3. [중급] C++ 자료구조(2/E) : C++ Plus Data Structures
- 사이텍미디어 | NELL DALE | 번역서 | 2003-10-27 | 33,000
- 자료구조는 C++로 수업하는 것이 좋습니다. 당연히 사용하기에도 좋습니다.
많은 책들이 C로 진행하는 것에 반해 C++로 되어 있고 설명이 좋습니다.
아주 깊은 내용은 아니지만, 트리를 넘어 그래프까지 있으므로 대부분의 경우를 만족시킵니다.
제가 진행하는 자료구조 수업은 이 책에서 가장 많은 동기를 부여받았습니다.
코드와 함께 나오는 책 중에서 가장 분명한 책이라고 생각합니다.
제 수업의 교재로는 이 책과 2번중에 택일해서 사용합니다.

4. [고급] Introduction to Algorithms (개정판)
- 한빛미디어 | Thomas H. Cormen | 번역서 | 2005-05-13 | 42,000
- 저는 반대합니다. 그러나, 많은 고급 독자들이 이 책을 추천합니다.
사서 봤는데, 잘 이해가지 않았습니다. 나도 코딩 좀 하는데 말입니다.
전세계적으로 유명한 베스트셀러라서 실어봤지만,
개인적으로는 보지 않았으면 하는 책입니다.
코드 한 줄 없이, 의사 코드를 사용해서 내용을 풀어갑니다.
수학적인 지식 없이 보기에는 무리인듯 합니다. 참 1천쪽도 넘습니다.

[C++]
늘 이 부분에서 책을 추천할 때 문제가 됐습니다.
다행스럽게 최근에 입문서로 사용할만한 책들이 나왔습니다.
C++ 표준 라이브러리인 stl은 뒤에 따로 설명합니다.

1. [초중급] 뇌를 자극하는 C++ 프로그래밍
- 한빛미디어 | 이현창 | 국내서 | 2006-07-06 | 26,000
- 첫 판이 나온지 1년쯤 됐나 싶은데, "뇌"라는 이름을 달고 개정판이 나왔습니다.
언제나 제가 교재로 사용하는 책입니다.
쉬운 설명과 적당량의 코드를 제대로 조절했습니다.

2. [초중급] 열혈강의 C++ 프로그래밍
- 프리렉 | 윤성우 | 국내서 | 2004-04-01 | 25,000
- 역시 초급서 분야에선 윤성우씨가 잘 합니다.
저는 쉽게 설명하는 것에는 약한 것 같습니다.
수업 시간에 하는 설명을 그대로 옮겨도 어렵게 여기니..
그래도 학생들 말에 의하면 들을 때는 이해가 간다고 합니다, 하하..
동영상 강의를 제공하기 때문에 내용을 좀 더 잘 이해할 수 있는 책입니다.

3. [고급] 이펙티브 C++, 3판
- 피어슨에듀케이션코리아 | Scott Meyers | 번역서 | 2006-05-25 | 23,000
- 스캇 마이어스를 세계에 알린 책입니다.
물론 책 이전에도 개발자들 사이에선 유명했겠지만,
일반 독자들에게는 생소한 이름이었습니다.
두께도 얼마 되지 않는 책으로 세계를 제패했다니.. 부럽습니다.
C++를 올바르게 사용하는 방법들을 명쾌하게 설명합니다.
제시하는 클래스의 이름이 낯설어서 코드가 어렵게 느껴지는 면이 있지만,
반만 이해해도 어디 가서 고수 얘기 들을 수 있습니다.
C++를 잘 한다는 말을 다르게 표현하면, "너, 이펙티브 C++ 몇 번 봤어?"가 됩니다.
참.. 이곳에 있는 내용은 C++ 프로그래머라면 반드시 알아야 할 내용들입니다.

4. [고급] More Effective C++
- 인포북 | Scott Meyers | 번역서 | 2003-02-15 | 20,000
- 부족했던지 몇 년 지나 35가지를 추가했습니다.
저도 처음에는 이해하지 못했지만, 최근 들어 왜 그랬는지 알만한 것들에 대해 설명합니다.
많이 이해를 했다고 생각하면서 강의를 하는데,
강의를 하다 보면, 어느샌가 "이펙티브"에 대해 강의를 한다는 느낌을 받을 정도입니다.
꼭 보십시오.

5. [중고급] C++ 프로그래밍 언어 (특별판) : The C++ Programming Language
- 피어슨에듀케이션코리아 | Bjarne Stroustrup | 번역서 | 2005-04-20 | 42,000
- C++를 만든 사람이 썼지만, 간결하지 않습니다.
C 언어와는 달리 C++는 간결한 언어가 아니고, 창시자 역시 그런 성격이었나 봅니다.
모든 것들에 대해 빠짐없이 설명하려 했고,
다른 책들에 비해 원론적인 부분이 많습니다.
개인적으로는 추천하고 싶지 않습니다. 들이는 시간에 비해 결과가 적다고 생각합니다.

6. [중고급] Head First Design Patterns : 스토리가 있는 패턴 학습법
- 한빛미디어 | Eric Freeman | 번역서 | 2005-09-04 | 28,000
- C와 C++는 다른 언어입니다. 적용하는 프로그램의 영역이 다르니까요.
C++를 C++답게 만들어주는 것이 디자인 패턴입니다.
디자인 패턴을 공부하고 싶어도 어떻게 시작할지를 몰랐는데,
이 책이 나왔습니다. 일부 패턴에 대해서만 설명하지만, 그것만으로도 나머지를 독학하기에 충분할 정도입니다.
디자인 패턴과 관련해서 최고의 서적이라고 생각합니다.
참고로 자바 관련 서적에는 디자인 패턴이라는 이름을 달고 나온 것이 많습니다.

7. [고급] GoF의 디자인 패턴 : Design Patterns
- 한빛미디어 | 김성박 | 국내서 | 2004-04-19 | 25,000
- Gang of Four.
디자인 패턴계에서 가장 유명한 4사람이 모여 쓴 책입니다. 회사도 만들어서 대박 났답니다.
디자인 패턴에 관한 최초의 서적으로 현재까지도 불후의 서적으로 꼽히고 있습니다.
다만 개인적으로는 기본 설명이 부족해서 초보자에게는 맞지 않다고 생각합니다.
디자인 패턴과 관련해서는 책이 몇 권 없는데,
제대로 된 두 권의 책이 있다는 것이 얼마나 다행인지 모르겠습니다.

[stl]
stl을 모르고 코딩할 수 있습니까?
다차원 배열은 수업 시간에만 존재합니다.
현업에서 누가 다차원 배열이나 동적 배열 씁니까?
아하, stl을 사용할 수 없는 환경이라면 그럴 수도 있겠습니다.

1. [초중급] C++ Standard Library : 튜토리얼·레퍼런스
- 정보문화사 | Nicolai M. Josuttis | 번역서 | 2007-03-09 | 30,000
- stl 관련 최고의 서적이고, 전체 IT 서적을 털어서 최고의 서적일 수도 있습니다.
이 책을 통해서 C++의 나머지를 배웠고, stl을 확실하게 이해했습니다.
농담입니다. 아직 이해 다 못했고, 하고 있는 중입니다.
제가 stl도 한 권 썼는데, 국내에 책도 없던 그 시절, 물론 지금도 몇 권 없습니다.
초급서를 쓰지 못한 이유가 이 책 때문입니다.
도저히 이 책만큼 쓸 자신이 없어서, 프로젝트 위주의 책을 썼습니다.
한번 보고 싶습니다. 어떤 사람인지.
참.. 초급자용이기도 하지만, stl의 깊은 부분까지도 건드리기 때문에 고급이라고 불러도 괜찮을 정도입니다.

2. [고급] 이펙티브 STL : Effective STL
- 정보문화사 | Scott Meyers | 번역서 | 2006-03-29 | 18,000
- 스캇 마이어스의 3번째 서적으로 stl이 C++에 포함되었기 때문에 나온 서적입니다.
역시 올바르게 사용하기 위해 주제별로 설명하고 있습니다.
너무 좋은 책이라서 별도의 설명이 필요없습니다.
1번과 2번, 두 권만 있으면 stl 끝입니다.
그럼.. 제 책은?

3. [고급] 프로젝트와 함께 하는 STL의 아름다움
- 사이텍미디어 | 김정훈 | 국내서 | 2004-10-04 | 30,000
- 프로젝트를 하는 학생들, 교육센터에서 수강 중인,을 위해 쓴 책입니다.
출판사에도 얘기했듯이 많이 팔리지 않을 거라고 믿었고, 음.. 실제로도 그렇습니다.
4주동안 진행하는 프로젝트에서 결과물이 나오지 않는 것을 보면서 많이 괴로웠습니다.
제가 진행한 반은 모두 잘 나왔습니다. ^^
제가 하는 것처럼 코딩해서 좋은 결과를 얻기 바랬습니다.
그런데.. Win32 API, STL, GDI+.
이렇게 3가지를 모두 알아야 책을 볼 수가 있습니다.
이게 어떻게 프로젝트를 하는 학생들을 위한 겁니까?
너무 수준을 높게 잡은 것은 아닌지 심히 우려됩니다.
그런데도 800권 정도 나갔다고 합니다. 참, 이상하지요?
이 책에는 기초는 없고, 알고리즘 부분을 정리한 내용이 기초로 있습니다.
6개의 프로젝트로 구성되었고, 코드와 그에 대한 설명만 있습니다.

[Win32 API]
Win32 API 프로그래밍은 앞으로 한권 써볼까 생각하는 분야입니다.
이론 빼고 코드 위주로 설명하는 책 말입니다.
대부분의 책들에는 기본적이 내용만 나와있어
실제로 적용하려고 하면 문제가 됩니다.
이런 부분은 아쉽게도 추천 서적도 포함됩니다.
진짜 깊이 있는 코드가 부족한 곳이 이곳입니다.

1. [초중급] 윈도우즈 API 정복(개정판) : 1권, 2권
- 한빛미디어 | 김상형 | 국내서 | 2006-06-26 | 30,000
- 최고의 API 서적으로 방대한 양과 상세한 해설에 압도 당합니다.
누구든 API를 하면 이 책을 사야하는 것이 정설로 되어있을 정도로 좋습니다.
다른 책이 있으면 찾아보시던지요?
코드에 대한 깊이만 있다면,
모든 IT 서적을 통털어 가장 훌륭한 책이 됐을지도 모릅니다.
참.. 개정판으로 나오면서 두 권으로 바꼈습니다.
돈이 좀 필요하겠습니다.
참.. 이 책으로 스터디하면 안됩니다.
이 책은 참고서로써, 필요한 부분을 발췌해서 보아야 합니다.
굳이 해야겠다면, 14장 정도까지가 기본이니 거기까지만 합시다.
정말 더 해야겠다면, 필요한 부분을 발췌해서 하도록 합시다.
비트맵이라던가 스레드라던가 말입니다.

2. [중급] 찰스 페졸드의 Programming Windows, 5th Edition
- 한빛미디어 | Charles Petzold | 번역서 | 2004-12-05 | 44,000
- 세계적으로 가장 유명한 서적을 꼽으라면,
제가 보는 관점에서는 이 책이 아닌가 싶습니다.
벌써 5판입니다. 신간 찍어서 장사하는 게 아니라면
초판 이후로 10년이 넘었다는 얘긴데.. 지금도 최고의 서적입니다.
여러 권도 아니고, 이 책 한권으로 세계가 숨 죽였으니, 꼭 봐야겠지요?
두께가 있긴 하지만, 방대하기보다는 깊이 있는 내용으로 채워졌습니다.
이 책이 나오기 이전에는 윈도우즈 프로그래밍에 대해 알고 있는 사람이 없었습니다.

3. [중고급] 뇌를 자극하는 윈도우즈 시스템 프로그래밍
- 한빛미디어 | 윤성우 | 국내서 | 2007-04-01 | 29,000
- 윤성우씨가 쓴 책입니다.
시스템에 대해서 얘기하는 책으로,
시스템과 관련한 내용만 보면, 역시 아주 깊게는 들어가지 않았고,
API를 하려는 학생에게 길을 제시하는 것 같습니다.
넣을 데가 없어서 넣었는데,
이 책을 Win32 API 프로그래밍 서적이라고 보면 곤란합니다.
시스템을 깊게 이해하기 위한 서적으로 보는게 좋습니다.
물론 윤성우씨는 그렇게 생각하지 않겠지만 말입니다.
참고로 윈도우 시스템과 관련된 내용은 추후 보충하도록 하겠습니다.
몇 권의 좋은 책이 있는데, 지금 생각이 나질 않습니다.

[MFC - VC++]
사용자 인터페이스와 관련한 최고의 클래스가 아닌가, 싶습니다.
겉은 MFC로 하고, 속은 API로 만들면 최고의 궁합이 만들어집니다.
개인적으로 MFC 강의를 싫어합니다.
드러나지 않는 것들에 대해 저주를 하는게 제 취미입니다.
그러나, 이곳에도 진짜 좋은 책들이 있습니다.

1. [초중급] Visual C++ 6 완벽가이드 2/E
- 영진.COM | 김용성 | 국내서 | 2004-02-10 | 33,000
- 예전에 "이상엽의 vc++ 프로그래밍"이라는 책이 있었는데,
이 책이 나오면서 과거의 책이 되어 버렸습니다.
설명 좋고, 코드 충분하고, 그림도 들어갔고, 가장 이상적인 형태의 학습서입니다.

2. [초중급] 변영철 교수의 비주얼 C++ 공개강의
- 삼각형 | 변영철 | 국내서 | 2005-11-30 | 35,000
- BnC 출판사에서 처음 나왔던 책으로 한때 절판되었었습니다.
제가 감히 최고의 서적으로 꼽았던 책으로 정말 쉬운 설명입니다.
이렇게 설명할 수 있었으면 하고 늘 바랄 정도였습니다.
단점이라면, 설명이 길어져서 1번에 비해 내용이 부족합니다.
개인적으로 왜 변영철 교수가 계속해서 책을 쓰지 않는지 이상할 정도입니다.
제가 거래하는 사이텍미디어에서도 의사를 타진했었는데,
결과가 좋지 않았습니다.
교수님이어서 굳이 책에 미련이 남지 않았을지도 모르겠습니다.
아니면 다른 책이 더 많이 팔리는게 신경쓰일 수도 있고요.
저도 좋은 책을 쓴다고 썼는데.. 기본서가 많이 나가는걸 보면 화갈 날 때가 있거든요. ^^

3. [고급] Programming Microsoft Windows with MFC (2/E)
- COMPEOPLE | JEFF PROSISE | 번역서 | 2000-04-26 | 45,000
- 몇 권 되지 않는 고급 서적인데, 절판되었습니다.
시간이 흘렀지만, MFC는 여전히 예전의 틀을 대부분 유지하고 있습니다.
MFC를 더 깊게 공부하려고 마음 먹었다면, 학교 근처 제본소에 연락해 보시기 바랍니다.
원서말고 번역판입니다. 영어 자신 있으면 원서 봐도 되고요..

[소켓]
제가 제일 강의하고 싶은 분야의 서적입니다.
지금도 강의를 위해 소켓 코딩을 하느라
지식인 활동을 뜸하게 할 정도입니다.
상용으로 사용할 정도의 코드가 만들어지면
숨김없이 모두에게 공개할 생각입니다.
나는 선생님이니까요..

1. [초급] TCP/IP 소켓 프로그래밍 C
- 사이텍미디어 | Kenneth L. Calvert | 번역서 | 2001-10-31 | 10,000
- 가격 보면 알겠지만, 책 얇고 읽기 편합니다.
필요한 내용만 넣었는데, 아쉽게도 유닉스 버전입니다.
소켓 기본 서적으로 추천하는데, 얼마 안되는 유닉스 코드 때문에 어려워합니다.
개념 이해하는데는 코드가 별 필요 없습니다.
초급입니다. 그냥 이해하는데 필요한..
참.. 헤더 파일 조금 수정하면.. 윈도우에서도 대부분 바로 쓸 수 있습니다.

2. [초급] 열혈강의 TCP/IP 소켓 프로그래밍
- 프리렉 | 윤성우 | 국내서 | 2003-04-02 | 25,000
- 가장 좋다고 알려진 입문 서적입니다.
다만 윈도우와 리눅스를 함께 다루고 있는데,
대부분의 학생에게 리눅스 부분은 필요없는데, 그게 개인적으로 불만입니다.
사실 너무 부러워서 트집잡는 겁니다. ^^
말 그대로 기본서이고, 고급 책을 봐야 합니다.

3. [중고급] 온라인 게임 서버
- 한국게임산업개발원 | 강정중 | 국내서 | 2005-06-30 | 15,000
- 게임 서버와 관련된 책으로 몇 권이 있었는데,
이전의 책들은 그다지 유용하다고 느껴보지 못했습니다.
좀 더 현실적인 코드를 제시하기 때문에,
막혔던 부분이나 궁금했던 부분들에 대해 언급하기 때문에 가치가 있는 책입니다.

4. [중고급] 온라인 게임 서버 프로그래밍
- 정보문화사 | 한동훈 | 국내서 | 2006-11-30 | 16,000
- 정말 좋은 책입니다.
개발자에게는, 이미 회사에서 사용하고 있는 패턴으로 개발하는 분들에게는
평이한 내용이 될 수도 있지만, 일반 사람에게는 신선하기 그지 없습니다.
지금 하고 있는 코딩의 골격을 이 책으로부터 차용했고,
제 나름대로 수정해서 사용하고 있습니다.
아쉽게도 서평이 썩 좋지 않은데..
너무 많은 내용을 다루려고 했기 때문으로 보입니다.
그냥 일부 내용만으로도 책 값을 충분히 했기 때문에
저는 너무 만족했습니다.
패턴 생성, 덤프, 로그 등의 팁이 좋았고,
iocp와 관련된 내용을 설명이 적어서 그랬지만, 이만큼 나온 책도 없으니 대단하지 않습니까?

5. [중고급] 소리바다에서 한게임까지 TCP/IP 소켓 프로그래밍
- 교학사 | 김정훈 | 국내서 | 2003-04-20 | 40,000
- 제가 쓴 책입니다. 잘 모르던 시절에 썼고, 버그가 많습니다.
그러나, 아쉽게도 이 책만큼 많은 코드를 가진 책이 없습니다.
마지막에 클라이언트와 서버를 구현한 7,000줄짜리 코드와 설명이 나옵니다.
지금 생각해 보면 돌아가는 것이 이상할 정도의 코드이지만,
학습 자료로 공부하기에는 충분한 정도의 코드입니다.
여러 대의 클라이언트를 붙여서 테스트도 했기 때문에,
어느 정도까지인지는 모르지만, 상당히 돌아가지 않을까 생각합니다. ^^
당시에는 Nagle이나 Delay에 대해 생각하지 못했기 때문에
이 부분에 대한 처리만 해주면, 훨씬 더 안정적으로 동작할 것입니다.
소켓 기초부터 실전 코드까지 실었고,
파일 다운로드와 P2P 코드를 제시합니다.
다만 당나귀나 프루나처럼 알려진 방식이 아니라 가장 기본적인 방식을 사용했으므로
확장할 수 없다는 것이 단점이지만, 기본 개념을 익히기엔 너무 충분합니다.
뭐야..? 변명인가요? 음..

6. [고급] TCP/IP네트워크
- 진영사 | W. Richard Stevens | 번역서 | 1998-12-02 | 28,000
- 스티븐스는 죽었습니다. 그가 쓰던 마지막 저서를 미처 완성하지 못하고 죽었습니다.
이 책은 "TCP/IP ILLUSTRATED" 3부작 중 1부로, 나머지 두 권은 아직까지도 번역되지 않았습니다.
내용 자체가 프로그래머들에게 덜 필요했기 때문일 수도 있지만, 정말 아쉬울 따름입니다.
세계적으로 가장 유명한 소켓 서적. 이 책을 표현하는 말입니다.
소켓을 하기 위해서는 프로그래밍과 프로토콜.
양쪽을 모두 잡아야 하는데, 스티븐스는 두 가지 부분에서 완벽하다고 알려졌습니다.
책을 써도 프로그래머 입장에서 쓰기 때문에 훨씬 실감나게 다가올 수 있었고
그는 세계적으로 유명해질 수밖에 없었습니다.
다만 유닉스 버전이라서 공부하기에 좀 어렵다는 건데..
그래도 봐야 합니다. 아니면 소켓 프로그래밍 하지 말던가..
건방지게 들리겠지만, 사실입니다.
소켓 프로그래밍을 잘 한다의 다른 표현은 "TCP/IP네트워크" 몇 번 읽어봤어, 입니다.

7. [고급] TCP/IP 프로토콜 관련 서적
- 대학 교재로 사용하기에 딱 좋은 프로토콜 서적들이 있습니다.
이 중에서 TCP/IP만 묶어서 나온 것이 있는데, 반드시 봐야 합니다.
보지 않으면, 왜 그런 옵션을 사용해야 하는지 이해하지 못합니다.
초급서에는 그런 내용이 없고, 중급서에는 꽤 있고, 고급서에는 많이 있습니다.
또한 운영체제에서 제공하지 않는 프로토콜을 사용할 때에도 필요합니다.
프로토콜은 집을 짓는 설계도와 같습니다. 설계도만 있으면 무엇이건 가능합니다.
이 부분에 대한 자세한 내용은 추후 필요하다고 판단되면 넣겠습니다.
여기까지 오느라 수고하셨고..
언급한 책들을 한번에 보려 하지 말고..
하나씩 몇 년에 걸쳐 보기를 바랍니다.
나도 그랬습니다.
김샘.