Media Log

Taeyo's ASP.NET AJAX v1.0 - 8점
김태영 지음/한빛미디어


나는 특정 언어나 분야에 상관없이 두루두루 넓게 공부하는 것이 프로그래밍하는 데 많은 도움이 된다고 생각한다.
어떤 사람들은 한 우물만 파서( 예를 들어 C/C++ ) 거기에서 전문가가 되는 것이 진짜 최고라고 얘기하곤 하지만, 내 생각은 그렇지 않다.
내가 본 해커들은 다들 컴퓨터 과학 전반의 분야들을 두루 이해하고 있었다.

GET 메소드와 POST 메소드가 뭔지도 모르는 최고의 C 프로그래머를 본 적이 있는가?
Java와 C#을 못다루는 최고의 C++프로그래머를 본 적이 있는가?
리눅스에서 코딩을 못하는 최고의 윈도우 프로그래머를 본 적이 있는가?

비록 실제 프로젝트에서 사용하지 않을 지라도 다른 분야의 무엇인가를 꾸준히 공부하는 것은 해커의 필수 요건 중 하나이다. 그리고 그렇게 공부하는 것을 즐긴다면 훨씬 좋을 것이다.
 - 논란의 여지는 있지만 아마도 수학적 능력은 필수 요건은 아니다. 공통 수학의 정석을 이해할 수 있는 두뇌라면 STL 컨테이너들의 내부 동작이나 알고리즘과 함수객체 정도를 이해하는 데는 아주 충분하다.
실제로 언어의 설계자들이나 많은 해커들이 수학은 그다지 중요하지 않다고 말하는 것을 보아왔다.( 하지만 우습게도 그들은 하나같이 수학의 천재들이다. 빌어먹을 )

어쨌든 이렇게 다른 언어나 플랫폼에 대해 공부한 경험은 실제로도 많은 도움이 된다.
예를 들어 나는 대학에 다닐 때에 C#의 컬렉션들을 다루는 것이 너무 어려웠는데, C++의 STL을 공부하면서부터 comparer나 predicator들을 이용하여 자료구조를 제어하는 방법을 이해하게 되었다.
또한 다시 STL을 사용하게 되었을 때 C#의 이런 경험들이 예전보다 functor에 대해 좀 더 깊게 이해할 수 있게 만들어주었고, 이런 경험은 또 파이썬에서 lamda 표현식을 공부할 때 나를 찾아와 도움을 주었다.

그래서 나는 새 책이 나오면 이것 저것 닥치는 대로 다 골라서 집 앞에 있는 도서관에 신청 을 한다.

이 책은 작년 겨울에 Ajax를 이해하고 싶어 빌렸었던 읽기 좋은 분량의 얇은 책인데, 김태영씨가 쓴 책이라 역시 좋았다.
사실 다른 두꺼운 Ajax 책도 몇 권 빌려 봤었던 것 같은데 뭐가 그리 딱딱한지 정말 재미가 없었다.

김태영의 책은 정말 소설책 읽듯이 재밌다. 언제나 그렇듯이 심화된 내용은 전혀 없지만 초보자들에게 기본 원리를 이해시키는 데는 아주 좋다.
나는 이 분이 맨날 집에서 놀면서 책만 써줬으면 좋겠다.( 농담이다. )

TAEYO'S ASP - 8점
김태영 지음/삼양출판사

내가 이 책을 처음 알게 된 것은 2001년도 였다.
그 때는 그냥 ASP라는게 다 있구나, 이 빨간 책이 유명한책인가보다. 태요? 이름이 특이해서 왠지 끌리네 하는 느낌 정도 였었다.

군대를 다녀와서 복학한 후 연구실에 들어가서 공부를 한지 1년 쯤 지났을 때, 아마 그러니깐 2005년도 겨울 방학 때였다.

방학 때마다 항상 뭔가를 하나씩 만들었었는데, 그 방학때 만들기로 한 것은 연구실 홈페이지였다.

당시 우리는 웹 프로그래밍의 기본에 대해서 전혀 모르고 있었고, 단지 C/C++ 을 사용하여 고만고만한 응용 프로그램을 만들 수 있는 수준 정도 였었다.

홈페이지의 목적이나 레이아웃, 어떤 컨텐츠를 넣을 지에 대해서는 화이트 보드 앞에 모여 앉아서 지금 생각해도 제법 그럴 듯하게 회의를 하면서 잘 결론을 지어냈다.
나머지는 어떤 언어를 사용해서 만들까였는데,  나는 그 당시 C#을 공부하고 있었기 때문에 ASP.NET으로 한번 해보자고 주장했지만, 다른 모든 사람들은 ASP로 하길 원했다.

결국 ASP로 하기로 결정하고는, 옛날의 기억을 살려 이 책을 빌려서 공부하기 시작했다.
이 책은 99년도에 나온 책이다. 이 책을 볼 당시인 2005년도 겨울은 슬슬 AJAX란 말이 들려오기 시작 할 때 였는데, 나는 너무 옛날 책을 보고 있는 것 아닌가 하는 걱정을 했지만, 그렇다고 딱히 ASP에 대한 다른 볼만한 책도 없었다. 이 책 내용 중에 저자가 추천하는 Wrox의 책을 선택했다면 아마 프로젝트를 중간에 포기했을지도 모르겠다.

이 책은 정말 재미있었고 쉬웠지만 지금 다시 곰곰히 생각해보면 이 책의 설명은 정확하고 수준 높은 지식을 전달해주지는 못했다.
아마 웹 프로그래밍에 어느 정도 익숙한 사람이 지금  이 책을 보게 된다면, 뭐 이런 쓰레기 같은 구시대 책이 다 있어 하고는 집어 던져버릴지도 모르겠다.
이 때 이 책을 보고 만든 홈페이지만 해도 공격당하기 쉬운 코드 투성이었으며 파이어폭스로 들어가면 괴물 형상으로 변해버리고 말았다.-물론 파이어폭스 문제는 드림위버로 만들어진 떡코드를 그대로 사용한 우리의 잘못이다. :)

회사에 들어오고 나서 재밌는 에피소드가 하나 있는데, 그것은 우리 팀장님이 연구실 홈페이지를 해킹한 것이다.
어느날 옆에 오셔서는,
"재호씨 학교에서 숙제가 나왔는데 홈페이지를 해킹해야해요."
"근데요?"
"요즘 만든 페이지들은 다 너무 잘만들어져 있어서 공격하기 쉽지가 않더라구요. 재호씨가 예전에 학교 다닐 때 만든 연구실 홈페이지에다가 좀 해보면 안될까요?"
"네........................"

최고의 굴욕적인 순간이었다. ;)

결국 팀장님은 우리 연구실 사람들의 주민등록 번호랑 개인정보들을 쉽게 빼낼 수 있었고, 아마 그걸로 A+을 받았을지는 잘 모르겠다.

음 어쨌든, 다시 돌아와서.
이 책의 예제코드는 구식이고, HTTP 프로토콜이나 웹프로그래밍 기술에 대해서 수준높게 다루지도 않는다.
하지만 그럼에도 불구하고, Server Side codes에 대해서 전혀 지식이 없는 사람들에게 이 책은 아주 많은 도움이 된다.
아마도 그것은 김태영씨가 초보자에게 쉽게 설명하는 훌륭한 능력을 가지고 있고, 또 둘째가라면 서러울만한 유머센스를 겸비하고 있기 때문일 것이다.

나는 현재 책을 쓰고 있는 국내 저자 중에서 김상형, 윤성우, 김태영씨를 특히 좋아하는데, 김태영씨는 다른 두 사람만큼의 깊은 내공을 갖고 있지는 않다고 생각한다.
하지만 김상형과 윤성우의 책들은 몇 몇 책들만을 훌륭하다고 생각하는데 반해 김태영의 모든 책들은 다 훌륭하다고 생각한다.
그것은 김태영의 책이 더 읽기 쉽고 재밌기 때문이다.
다른 두명의 책이 내용만 좋고 재미없다는 뜻은 아니다. 이 사람들 역시 읽기 쉽고 재밌게 글을 쓴다. 하지만 김태영의 책은 더 읽기 좋고 더 재밌다^^

내 친한 친구가 그 때 당시 선물해준 Aron 기계식 키보드와, 비주얼 스튜디오가 아닌 에디트 플러스에서 작성되는 분홍색 코드들. 처음 만나보는 괄호 없는 VB 문법. 그리고 김태영의 유머러스한 글.
이 모든 것들이 조합되어 한줄 한줄 코딩을 할 때마다 뇌에서 엔돌핀이 솟아 나오는 느낌이었다.

얼마전인 5월 스승의날에 졸업생들이 모여 연구실을 찾았을 때, 후배 중 하나가 연구실 홈페이지가 너무 낡았다며 새로 만들겠다고 했다.
우리들의 추억이 없어져 버리는 것 같아 조금 마음이 아프기도 했지만, 마치 몇 년전 우리들의 모습을 보는 것 같아 기분이 좋았다.
그나저나 그 때 프리젠테이션 했던 이 빌어먹을 후배녀석은 아무래도 아직까지 한줄도 코딩을 안하고 있는 것 같다, :(
이 녀석들의 방학이 끝날 때 쯤엔 이쁘고 새로운 우리의 공간을 볼 수 있었으면 좋겠다.^^