메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

IT CookBook, 윈도우 네트워크 프로그래밍: TCP/IP 소켓 프로그래밍

한빛미디어

|

2004-04-27

|

by HANBIT

10,712

너른 밭에서 눈에 띈 먹음직스런 감자 한덩이를 캐내려고 호미질을 시작하면, 그 감자 한 덩이에 얽히고 설킨 덩쿨을 모조리 파내야 한다는 것을 곧 깨닫게 될 것이다. 물론 호미날로 감자 한 덩이만 싹둑 잘라낼 수 있겠지만, 제대로 된 농부라면 덩쿨에 얽힌 모든 감자를 너무 늦기 전에 파내야 한다는 걸 잘 알고 있을 것이다. - 필드어드바이저 머리말 중

그림1
[네트워크 프로그래머 기본 요건]


네트워크 프로그래밍은 그림처럼 여러 분야와 얽히고 설킨 관계에 자리하고 있다. 단순히 소켓 개념과 API 함수를 안다고 네트워크 프로그래밍을 잘할 수 있는 것이 아니다.

"운영체제에 대한 탄탄한 지식과 시스템 프로그래밍 경험을 동시에 필요로 하며, 프로그래밍이라고 하면 말할 수 있는 모든 것이 여지 없이 차례차례 따라 올라온다."

그렇다고 『IT CookBook 윈도우 네트워크 프로그래밍: TCP/IP 소켓 프로그래밍』(이하 윈네플)이 얽힌 감자를 캐내는 방법을 모두 제시하는가?

실제로 윈네플은 바이블도 아니고, 바이블 서적 조차도 이러한 역할을 모두 소화할 수는 없다. 우리는 다만 사람마다 제 역할이 있듯이, 윈네플도 하나의 역할을 맡게 하는 것이 옳다고 생각했다.

윈네플은 대상층에 따라 개발자/독학자용 바이블서, 개발자용 실용서, 강의용 교재 등으로 나눌 수 있다.

대개 저자들은 강의용 교재보다는 개발자용 서적 집필을 선호한다. 자신의 개성을 글에서 쉽게 발휘할 수 있기 때문이다.

하지만 김선우씨는 비트교육센터에서 해당 강좌를 개설한 강사였고, 여러 차례 강의하면서 녹여낸 노하우를 풀어내고, 풀어낸 노하우를 바탕으로 한 자신의 서적을 자신의 학생들에게 전해주고 싶다는 생각이 더욱 간절했다. 더우기 개발자/독학자용 바이블서와 실용서는 서점에서 심심치 않게 발견할 수 있었던 점이 강의용 교재 개발이 더 절실하다는 결론에 이르게 했다.

대상층을 결정된 후, 우리는 "윈도우 네트워크 프로그래밍 기본기를 다질 수 있는 강의용 교육교재"라는 컨셉을 정했다. 제대로 다진 기본기야말로 응용력을 발휘하는 핵심이라 믿었기 때문이다. 컨셉이 결정되고, 이러한 컨셉이 제대로 실현될 수 있는 구현 전략이 필요했다.

구현 전략의 큰 줄기는 다음과 같다.

① 명쾌한 설명을 통해 개념을 쉽게 이해하기,
② 애플리케이션 동작 과정을 그림으로 이해하기, 그림으로 이해하기 과정은 그 어떤 과정보다 중요하다. 동작과정을 머릿 속에 완벽히 그려낼 수 있다면 구현은 상대적으로 쉬워진다.
③ 실습을 통해 직접 구현해보기, 실제 머리 속으로 그린 것을 직접 코드로 작성해 보면 몇 가지 문제점을 발견할 수 있고, 그러한 과정 속에서 자신이 만들 애플리케이션을 좀더 견고하게 만들 수 있다.
④ 마지막으로 전체 내용을 정리하는 자리로 미니프로젝트를 할애했다.


이러한 줄기는 네트워크 프로그래밍 세계로 안전한 진입점 역할을 충분히 수행할 수 있으리라 믿는다. 하지만 서두에서도 밝혔듯이 네트워크 프로그래밍 세계는 넓고 방대한 분야다. 따라서 안전한 집입 이후 단계에 해당하는 해당 업무에 적합한 실무 기술과 응용력을 겸비하는 것은 여러분의 끊임없는 자기 학습과 실무 경험이라는 점을 밝혀둔다.

그림2
[그림으로 이해하기] TCP 서버/클라이언트 동작 원리 1단계에서 4단계까지


이 책에서 보내는 찬사

우리는 이런 소켓책을 읽기위해 태어났다.

실무에 바로 적용 가능할 정도로 내용이 알차고 폭넓은 주제를 다룬다. 보통 잘 다루지 않게 마련인 시리얼통신, 적외선통신은 물론이고 IOCP도 깊숙히 다루기 때문에 구성이 풍성하고 매우 유용하다.(심지어 raw 소켓까지...) 특히, 설명이 정말 이해하기 쉽고 자세하게 쓰여있다. 이런 명쾌한 설명은 어디에도 없다. 따라서 초심자도 큰 어려움 없이 소켓 프로그래밍에 길들여질 수 있으며, 중급자는 때때로 헷갈릴 때 든든한 참고자료로 활용할 수 있을 것이다. 비단 네트워크책뿐만 아니라, 여태까지 내가 읽어본 컴퓨터 서적중에 최고로 훌륭한 책이다. - 최화선님, 2004-03-02 작성
TAG :
댓글 입력
자료실

최근 본 상품0