|
자바 네트웍을 하는 사람이면 누구나 한 권 쯤 가지고 있는 이 책은 매닝 출판사의 간판 자바서적으로 전세계적으로도 다수 판매된 바 있다. 네트웍에 대한 거의 모든 내용을 빠짐없이 담으면서도 체계적인 편집으로 쉽게 따라올수 있게 했다. 2판이 나오면서 더욱 돋보이는 면인데 의욕만 앞선 신간들이 뒤죽박죽 편집과 불필요한 내용인 경우가 많다는 것을 생각하면 이점은 단연 소문난 네트웍 기본서인 이책의 장점이다.
한가지 단점으로 번역을 들겠는데 유명 서적에 흠을 내지 않았나 한다. 이 책의 번역문제는 심각한 수준인데 대표적인 예를 들면 "이 메소드는 현재의 스트림에서 인코딩된 추가 정보를 읽어, 설정된 인터페이스 집합을 구현해 주는 프록시 클래스를 리졸브한다."를 보면 조사와 수식어구를 제외하고는 번역이 아니라 읽기 수준이다. 분명 책의 내용은 좋다고 판단되지만 국내 출판사인 인포북에서는 번역진의 교체를 심각하게 고려해야 한다고 본다. 2판까지 나오면서 이런 번역문제가 제기되지 않은 것은 주로 중급자 이상이 이책의 독자였기도 하겠지만 좋은 내용에 드문 자바 네트웍 서적이란 점도 작용한 것 같다. [인상깊은구절] 전송은 실제로 데이터를 발신지에서 목적지로 전달하는 과정이다. 이미 바이트 배열이나 파이프를 비롯한 몇 가지 스트림 기반 전송 매커니즘을 접했었고, 다음장부터는 스트림 기반의 네트워크 연결에 대해 살펴볼 것이다. 자바 객체 스트림은 바이트 기반의 표준 스트림에서 객체 직렬화 기능을 제공하므로 이러한 기전의 전송 매커니즘을 그대로 사용할 수 있다. |
| 이 책은 자바로 네트워크 프로그래밍을 하려는 사람들이면 누구나 한권 정도는 갖고 있지 않나 생각될 정도로 많은 사람들이 보고 즐기는 책인 것 같다. 실제로 내 주변에 있는 개발자들도 으레 한권씩 이 책을 갖고 있다. 많은 사람들이 찾을 정도로 이 책은 자바로 네트워크 프로그래밍을 하는데 필요한 다양한 내용들을 다루고 있다. 거의 자바 네트워크 프로그래밍 레퍼런스 서적이라 할 수 있을 정도이다. 게다가 암호화/복호화를 이용한 통신과 같이 일반 기초 서적에서는 거의 찾아볼 수 없는 내용도 다루고 있다. 그렇다고 해서 기본적인 내용을 등한시하는 것은 아니다. 기본적인 내용도 상세하게 다루고 있어서 초중급 개발자들이 책을 읽는 데 무리가 없도록 하고 있다. 많은 사람들이 자바를 이용한 네트워크 프로그래밍은 거의 하지 않고 단순히 JSP/서블릿/EJB 에만 집중하는 경향이 있는데 진정한 고급 개발자가 되기 위해서는 네트워크 프로그래밍을 자유자재로 할 수 있어야 할 것이다. 아마도 이 책을 통해서 고급개발자로 가기 위한 발판을 만들 수 있을 것이라 생각되며, 아직 읽지 않은 개발자가 있다면 반드시 읽어볼 것을 권한다. |
| 전반적인 네트웍 프로그래밍에 대한 것을 설명한다. 자바의 모든 네트웍 관련 클래스의 소개 및 예제를 제시하고 실재적인 적용의 예까지 제공하지만 전체적으로 레퍼런스 타입에 적당한 자세한 설명을 곁들인 것 같이 다분히 사전적인 나열이 보여 조금 복잡해 보이기도 한다. 하지만 내용만큼은 최고다. 자바를 가지고 네트웍 프로그램을 하는 사람은 이 책 하나면 충분하다. 더이상 책이 필요없을 정도다. 네트웍, 스트림, 분산, 암호화 까지 다루지 않는 부분이 없다. 적극 강추한다. 하지만 네트웍 전반에 대한 기초 상식은 가지고 있어야 할 듯 하다. |
| 위의 서평을 작성하신 분들께서 전부들 이책에 대해서 자랑만 하셔서 뭐라 특별히 자랑할 것은 없네요. 저 역시도 Orielly에서 나온 'Java Network Programming - Elliot Rusty Harold' 로 처음 자바네트웤 프로그래밍에 눈을 두게 되었었는데, Oreilly 의 책이 대부분 그렇듯, 깔끔한 편집으로 그리고 '엘리엇 러스티 해럴드' 의 시원한 문장과, 명백한 프로토콜 설명으로 쉽게 네트웍분야에 자바의 강점을 배울 수 있었습니다. 즉, 쉽게 보고 빨리 배운것이죠. 이 책은 위에 분들이 설명하셨듯이, 오히려 그리 극찬할만한 것은 아닌듯합니다. 1판을 보지못하고, 번역판이 1.3까지 다룬 2판을 와우에서 구입해서 봤는데, 앞부분의 각 프로토콜에 대한 설명은 정말 좋습니다. 요즘 JSP, Servlet 등 Java 서적을 주로(?) 펴내고 있는 Manning 에서 나온책이란 점과 저자의 명성으로 인해 빛을 보고 있는 것도 있지만, 정말 나무랄데는 없다는 점도 들 수 있고요. 그런데, 다른 관점에서 봐 볼까요. 이 책은 페이지 분량이 3000여쪽으로 대폭 늘어났다는 점을 꼽을 수 있는데, 책을 읽어보시면 아시겠지만, 너무 API 에 대해서 그것도 Stream 에 대해서 많이 다루고 있습니다. 오히려 미련스럽게 API를 보면서 느낀건데, 가장 자주 이용하는 Java SDK 1.2 API 를 웹에서 보는것과 그리 틀린점을 발견할 수 없다는 것입니다. API를 한글로 번역해 놨다는 것 외엔(사실 API 자체가 자세히 들여다봐야하는 것이므로) 쓸데 없이 책의 분량을 늘여놨다는 점으로도 들 수 있습니다. 물론 스트림의 중요성을 간과할 순 없겠지만, API 를 단순히 옮겨놓은 상태라면 정말 피해야 겠죠. 그리고, 실제 예제 코드도 조금 복잡한 면이 있구요. 오히려 레퍼런스식으로 여긴다면 불만이 사라지겠죠. 그래서 이 책은 중급 이상의 자바 프로그래머에게 추천하고 싶습니다. 쉽게, 그리고 빨리 자바 네트웍 프로그래밍을 배우고 싶다면, 이 책의 저자가 언급한 것처럼 I/O 에 대한 중요성을 빨리 깨닫는게 밑바탕인데, Oreilly 에서 나온 Java I/O로 I/O 에 대해 다듬고, Elliot Rusty Harold 의 Java Network Programming 으로 쉽게 네트웤 프로토콜을 이해하고, 간단한 예제를 통해 중급 이상의 실력으로 뛸 수 있을거라 생각합니다. 저 역시 영원한 초보겠지만, 꼭 전문성 있는 책이 더 나은 것 같지는 않습니다. 오히려, 쉬우면서 핵심적인 알고리즘을 알고 내부 Architecture 를 배우는게 좋을 거 같습니다. 이 책은 그 이후에 보시거나, 아님, 레퍼런스 식으로 미리 사 두고 필요할 때마다 보는게 더 나을 것 같군요. |
| 이책을 6개월동안 읽으면서 읽고 난 소감을 한마디로 하고 싶다. '이보다 더 좋을 순 없다.' 이책은 내가 자바라는 언어뿐 아니라, 프로그래밍에 대해 한층 성숙하게 만든거 같다. 우선, 이책을 읽으면서 3가지에 대해 눈을 떴는데, 첫째, 스트림이다. 스트림은 네트웍 프로그래밍뿐 아니라 그냥 보통 어플리케이션에서 빠질수 없는 부분인데, 이책은 스트림에 대해 그어떤 책보다 잘 서술하고 있다. 특히 스트림을 사용자 필요따라 어떻게 만들수 있다는것과 자바의 스트림 특징에 대해 잘 다룬다. 둘째, 쓰레드이다. 네트웍 프로그래밍에서 빠질수 없는 쓰레드를 RETHREAD라는 하나의 클래스로 완벽히 설명하고 있다. 다른 책 같으면 쓰잘데기 없는 예제만 나오지만, 이책은 이 쓰레드 하나로 네트웍에서 쓰레드가 어떻게 쓰이지 잘 보여준다. 셋째, OOP다. 웹서버나, 메세지 스트림 설계에서 특히 OOP에 대한 개념을 쌓을수 있을거 같다. 그냥 책에서 나오는 개념적 설명이 아니라 클래스 설계에서 OOP가 이런거다라는 걸 느낄수 있다. 결론적으로 이책은 네트웍 프로그래밍 뿐 아니라, OOP나 스트림에 대한걸로도 이책을 사봐도 돈이 아깝지 않을거 같다. 단지 아쉬운점은 RMI나, CORBA, SERVELT에 대한 내용이 좀 작다는 것이다. 하지만, 그림만 봐도 클래스의 역활을 알수 있는 최고의 책이라 말하고 싶다. |
| 다 읽지는 못해도 한권가지고 있으면 든든한 책이 있다. 이책이 그런책이다. 여태 많은 자바의 통신을 설명한 책이 있지만 이책은 바이블이다. 자바의 API부분에서 한단계 더 나아가서 여러가지의 쓰임새를 잘설명하고 있으며 또한 많이 쓰이지 않는 부분에 대한 설명도 간과하지 않고있다는 점이 중요하다. 이책은 또한 자바의 IO쪽도 설명을 하고 있어서 통신과 IO쪽의 좋은 참고가 될것이다. 풍부한 예제가 바로 사용하기에는 좀 무리가 있는 것도 사실이고 또한 번역도 상당히 딱딱한 것도 사실이지만은 그래도 네트웍에 관하여 다양하게 참고서가 필요한 분은 다른 책보다는 이책으로 해결하는 것도 많은 도움이 되지 않을까 한다. 책의 뒷면에서도 많은 찬사가 있었지만은 번역만 부드럽게했다면 별5+ 을 주어도 아깝지 않을 그러한 책이다. |
| 이 책은 자바의 강점인 네트워크에 관한 모든 프로그래밍 기술이 들어있다고 해도 좋습니다. 여기 서평을 보면 사람마다 차이는 있으나 제가 보기에는 알면 알수록 좋은 책인거 같습니다. 초보자가 덥썩 이책을 이해하기는 힘든거 같습니다. 이책의 예제들이 상당히 수준이 있기 때문이죠. 사실 이책의 전반부는 네트워크에 관한 net, io 에 관한 여러가지 api 들을 설명해 놓아서 이해하기 어려운 면도 있습니다만 이런 부분들은 필요할때 바이블처럼 사용할 수도 있구요 중요한것은 이 책에서 만들어 놓은 예제들입니다. 중반이후로 갈수록 네트워크에서 사용하는 프로토콜들을 분석하여 이에 맞도록 자바로 프로그램을 구현해 놓았는데 예제가 아주 좋습니다. RFC 문서를 분석하면서 구현된 예제들은 바로 사용해도 좋구요 코딩의 기술 또한 객체지향적으로 잘 짜여진거 같습니다. 이 책은 원본의 1판에서 2판으로 가면서 삭제한 암호부분을 번역판에서 다시 넣어구요 번역도 상당히 잘되었습니다. 분산 네트워크는 조금만 보여주고 J2EE, 웹서비스등의 내용은 없습니다. 책 나온지도 조금 되었구요. 약간씩 오래된 api 를 사용하기도 합니다. 하지만 자바의 기본적인 네트워크 프로그래밍의 기본을 쌓고 실제적인 프로토콜과 코딩을 보여준다는 것만으로도 대단한 책이라고 생각됩니다. |
| 이 책은 좋다. 하지만 좋다는 건 적합한 독자가 읽었을 때 좋다는 소리다. 이 책은 I/O API에 대해서는 거의 사전수준이다. 따라서 꾸준히 옆에 두고 참고하기에 좋고 개념적인 설명도 철저해서 개념을 이해하는데에도 훌륭하다. 단순히 네트웍 프로그래밍을 알고 싶어서 이 책을 집어들면 지루하기 쉽다. 이 책은 괜찮은 책이다. 하지만 이 책보다는 O'reilly에서 나온 같은 제목의 책(Java Network Programming 2/E) 이 좀 더 좋은 선택이 될 듯하다. 아직 국내 번역판은 없고 원서는 많이 비싸긴 하지만 이 책보다 좀 더 최근에 나왔고 따라서 좀 더 갱신된 내용에 대해 다루고 있다. |
| 자바를 만든 선(sun)사는 돈이 많은것도 아니고 조직이 거대한것도 아니다. 이러한 열세에도 불구하고 짧은 시간에 대표적은 언어로 성장하였을까? 그것은 웹상에 연동할수 있는 강력한 언어의 기능을 제공하기 때문이다. 호기심으로 자바를 공부한 사람이라도 직업으로 전향하기 위해서는 네트워크를 알아야 진정한 자바지식의 완성이라고 생각한다. 이책은 바이블이다. 모든 전반적 지식을 다루고 있지만 한번에 읽는것은 어려울것 같다. 이책은 번역서인 만큼 얼마나 원서에 충실한가가 책의 충실도를 좌우한다. 그래서 책의 부분 부분을 여러명이 맞아서 번역하고 또한 원서에 나오지 않았지만 알면 영양가 있는 부분을 첨가해서 네트워크를 배우려는 사람에게 유용한 책이 되려고 노력했다. 언제쯤이면 이책의 내용이 몸에 스며들까? 기대하는 마음으로 짬짬이 책을 펼친다. |