|
자바 개발하는데 네트워크 관련된 거 찾아 보다가 네티 알게되었네요. 좋네요. 책 내용이 좋은데 혹시라도 읽고 싶은분들은 보시고 읽어 보시면 될듯 합니다. 꼭 책 내용 읽어 보시고 책 읽어서 사용하시기 바랍니다. 빠른 네트웍 관련 개발을 하시고 싶은 분들을 위해서 정말 강력하게 추천하고 싶습니다. 혹시 관심 있는 부분은 꼭 좋은 내용 참고하셔서 개발 및 스터디 진행하시기 바랍니다. 감사합니다. |
|
자바 네트워크 소녀 Netty [책 내용을 모르는 사람이 표지만 보면 뭐라 생각할지.. 그보다 충격이었던 건 생각보다 큰 사이즈의 브로마이드] 아는 분들은 알겠지만, 네티는 이희승씨가 주도적으로 만든 네트워크 프레임워크 이다. 시간이 꽤 많이 흘렀고, 네티도 현재 버전 5에 이르고 있다. 책에서는 안정화 버전인 4.0.31 을 기반으로 하고 있으니 참고하도록 하자. 책의 구성 1~2장 : 네티를 소개하고, 네티를 사용한 간단한 애플리케이션의 작성과 실습을 통해 이해를 돕는다. 3~6 장 : 네티를 이루는 주요 기능에 대해 다룬다. 네트워크 애플리케이션 설정을 담당하는 부트스트랩, 업무 로직을 추상화한 계층인 채널 파이프라인과 코덱, 이벤트 기반 처리를 위한 이벤트 모델과 이벤트 루프, 그리고 자바의 NIO 를 대체하는 네티의 바이트 버퍼가 이에 해당한다. 네티의 전반적인 동작을 알기 위해서는 반드시 익히고 넘어가야 하는 부분이다 7~9
장 : 네티를 응용하여 애플리케이션을 작성하는 방법을 다룬다. 네트워크 상에 데이터를 노출시키지 않기 위한 채널 보안과 메이븐,
스프링, JUnit 등 과의 연동방법, 그리고 지금까지 다룬 내용을 종합해 REST API 서버를 작성한다. 네
티 프레임웍이 자바로 이루어진 만큼, 실습을 해보거나 책의 내용을 이해하기 위해선 자바에 대한 경험이나 이해는 필수이다. 이
부분은 책에서 다루는 범위가 아니므로 참고하도록 하자. 다만, 저자는 네트워크 프로그래밍과 관련된 부분에 대해서는 충분한 지면을
할애해서 설명하고 있다. 그런 덕분에 이론적인 부분이 부족하거나, 관련된 내용을 정리하고 싶은 독자들에겐 유용할 것 같다. [필요한 이론적인 정보도 충실히 설명되어 있다] 주요 내용 네티와 관련된 핵심적인 내용은 책의 3~6장에 있다. 그러므로, 네티의 내부 동작이나 사용 방법을 잘 숙지하기 위해서는 해당 챕터를 시간을 들여 이해할 필요가 있다. 다행히, 부트스트랩, 채널 파이프라인, 코덱, 이벤트 모델, 바이트 버퍼 등 주요 내용에 대해서 적절한 기술적인 내용과 함께 사용법을 친절하게 설명하고 있어서 천천히 따라가다 보면 네티가 어렵게만은 다가오지 않는다. 각
챕터에서 사용되는 소스에 대해서는 꼭 필요한 부분만 설명하고 있다. 이는 소스가 길어질 경우 집중도가 떨어지는 것을 고려한
것이라는 설명이 있었는데 공감하는 부분이었다. 전체 소스를 보고 싶을 경우엔 github 에 공개된 소스를 내려받아 확인해야
한다. 6장 까지의 내용이 네티를 이해하기 위한 부분이었다면, 7, 8장은 9장의 최종 실습을 위한 챕터이다. 7장에서는 보안에 대한 간력한 설명과 한께, 네트워크 상의 보안과 데이터 캡춰에 대한 실습을 다룬다. 이를 통해 보안의 필요성에 대해 이해를 돕고, SSL 인증서의 설치 및 네티와의 연동을 통한 활용법을 다룬다. 8장은 자바 기반의 환경에서 자주 사용하게 되는 주요 서드파티와의 연동을 다룬다. 9장은 지금까지 학습한 내용의 총 집합이다. 설명이 자세히 되어있기 때문에 지금까지의 내용을 이해했다면 큰 무리가 없을 내용을 담고 있다. 총평 네
티는 한국인이 주도적으로 만들어 전 세계에서 쓰이는 오픈소스 임에도 불구하고 한글로 된 자료는 많지 않았다. 이런 환경에서 네티
창시자인 이희승 씨가 직접 감수한 책이 출판되었다는 것 자체만으로도 가지는 의미가 상당하다고 생각한다. 책의 내용도 상당히 좋아서, 이론적인 부분이나 실습적인 부분 모두 만족할 수 있는 구성이었다. 별다른 단점을 찾을 수 없던, 읽는 내내 즐거웠던 책의 서평을 마무리하며, 네티의 성능 지표 한장을 올리며 마무리 해본다. [네티의 성능. 고성능에도 에러가 없다는 점이 인상깊다] 관련 링크 책 소스 github : https://github.com/krisjey/netty.book.kor 네티 커뮤니티 : https://groups.google.com/forum/#!forum/netty-ko 네티 홈 : http://netty.io/ 네티 문서 : http://netty.io/wiki/ |
|
네트워크 프레임워크 Netty에 대해서 간결하게 잘설명해주고 있고 그리고 그걸 사용해서 프로젝트에서 개발하고 적용했을때 정말 완벽하게 잘적용되었다.. 어째 보면 상용프로그램 보다 더 빠른것 같다. 프로젝트에서 성능테스트 결과 처리속도는 더빠르게 나왔다. 당연히 상용프로그램 UI있고 엔지니어(프로그래머가 아닌 소프트웨어 사용자) 단에서 사용하는 프로그램이이라서 기능이 많아서 그런것 겠지만.. 네트워크 개발에 특화된 부분을 개발시에는 정말 유지보수도 쉽고 확장성이 좋은 프로그램 개발할수 있다. 당연히 이 책은 기초적이지만 나름 잘 응용만 잘한다면 정말 멋진 프로그램 나온다. 네트워크 서버개발에는 정말 망설 없이 Netty 를 사용하여 개발하게 되었다. 그런데 조금 아쉬운거는 Client개발에 대한 예제가 조금 적은것 같다. Google에서 검색해도 잘나오지 않아서 ㅠㅠ 책에도 그 내용을 많이 넣었으면 하는 나의 욕심이 있을뿐.. |
|
사진
난이도 - 네트워크 프로그램을 처음 접하는 분에게는 약간 어려울 수 있는 책 - 네트워크 프로그램 개발 경험이 조금이라도 있다면, 읽기 쉬운 책 내용 - 네티가 소켓의 이벤트들 중 무엇을 추상화 했는지 설명한 책 - 네티가 스트림 데이터를 처리 영역 로직까지 전달하는 과정을 설명한 책 - 네티를 구성하는 방법부터 시작하여, API Web 서버 개발까지 설명된 책 느낌 책을 2017년 12월쯤 구매하고, 2018년 12월이 돼서야, 이 책을 읽었습니다. 제일 처음 든 느낌은 더 빨리 읽지 않은 것에 대한 아쉬움이였습니다. 게임 서버를 설계/개발할 때마다, 쉽게 사용할 수 있는 C++ 네트워크 프레임워크가 필요하다고 느끼고 있어, 여러 가지 시도를 해보았지만, 조금씩 걸리는 게 있었습니다. 이 책을 읽고 나서, 걸리는 것을 조금이나마 해소한 것 같아 좋았습니다. |
|
초창기 네티를 영어 원문과 깃허브 소스를 보면서 한참 헤맸던 적이 있었다. 한국어 책이 나와서 참 다행이다. 읽다보니 네티의 설계 사상을 엿볼 수 있고 기본 프레임이 다시 정리가 되므로 네티를 자주 사용하는 개발자도 읽어볼 만한 책이다. 백엔드에서 네트워크 관련 개발을 자주 해본 개발자라면 초중급 정도의 수준의 책이라 생각되며 마지막 API 예제는 기본적으로 네티를 사용하는 방법과 저자의 노하우가 섞여 있어서 실무에 참고할 만하다. 다만 주제에서 다소 벗어난 암호화 관련 내용을 깊게 다루기 보다는 네티의 HTTP와 기본 문자열을 인코딩하고 디코딩하는 것 뿐만 아니라 커스텀 바이트 데이터 등을 핸들링하는 부분과 MQTT 같은 메시징 시스템 등의 내용이 추가되었다면 금상첨화였을 것 같다. |