[도서리뷰] 자바개발자를 위한 Vert.x 애플리케이션 개발

한빛리더스 10기에서 두번째로 리뷰하게 된 책은 '자바개발자를 위한 Vert.x 애플리케이션 개발’입니다.

vert.x를 소개할때 가장 많이 하는 말이 자바버전의 node.js 라고 하는 말입니다.
요즘 추세인 Event기반 Non Blocking IO 를 손쉽게 구현하게 해주는 jvm기반 프레임웍입니다.
vertx어플리케이션은 jvm상에서 동작할 수 있는 자바, 그루비, 자바스크립트, 파이썬등에서 자기가 익숙한 언어를 가지고 개발할 수 있습니다.

이 책은 자바를 이용하여 vertx의 특징을 잘 살릴 수 있는 채팅프로그램을 만들면서 간단한 버전부터 클러스트링 및 다양한 클라이언트를 지원하는 버전까지 확장해가며 설명해줍니다.

1장에서는  개발환경세팅과 hello world를 찍는 verticle(vertx어플리케이션)을 만듭니다.
eclipse기반에서 maven기반으로 환경을 구축하는 설명이 자세히 나와있고, 따라하는 과정중 발생할 수 있는 jdk버전문제, pom.xml의 warning 처리방법등에 대해서도 언급해주고 있습니다.

2장부터 채팅어플리케이션을 만들기 시작한다.

서버를 만들던 클라이언트를 만들던 우선 verticle을 상속한 후 필요한 메소드들을 오버라이드해서 구현하면 되는데, java를 사용했기에  IDE의 도움으로 대부분의 코드얼개를 자동완성시킬 수 있으므로, 필요한 로직들만 코드안에 추가하고, 오타등이 났을때 IDE가 미리 체크해 준다든지, 로그를 남기고  확인하는 과정등이 nodejs 같은 언어로 하는것에 비해 확실히 코드는 길어질 수 있어도 괜찮은거 같습니다.

첫번째 채팅프로그램을 만든 후 서버를 여러개 띄었을때의 문제점을 보여주고, 이를 확인하기 위해 로그를 추가하고, 스레드간 공유를 위한 코드를 추가하여 문제를 해결하는 형태로 진행되며, 
TCP통신의 특성을 설명하며 연속된 메시지를 고정폭으로 잘라서 파싱하는법, delimeter를 기준으로 파싱하는법등을 알려줍니다.
그리고 스레드를 블락시키거나 오래걸리는 작업이 필요한 경우 workerverticle로 분리하는 방법소개등이 나옵니다.

3장에선 SocketJS 서버를 만드는 방법에 대해 다루고
단일 혹은 클러스터로 묶인 vert.x 인스턴스내의 verticle들이 서로 메시지를 주고 받을 수 있게 하는 이벤트버스에 대해 설명하고 채팅프로그램을 확장한다.

나머지 장에서도 이런식으로 새로운 기능혹은 모듈을 설명하고 그것을 통합해 사용할 수 있도록 
하는 형태로 구성되어 있다.



느낌: 250여 페이지의 부담없는 분량으로 새로운 기술인 vert.x 를 배우고, 이벤트기반의 서버 클라이언트 프로그램을 만들며 publish/subscribe등의 메시지 전송에 대해 배울 수 있는 좋은 책이었습니다. 
중간중간에 그림설명이 많아 이해하는데 도움이 많이 되었으며,
컴파일없이 바로 실행가능하므로 개발 및 테스트가 쉬었고, 
클러스트링과 멀티 인스턴스 지원이 쉽다는 점에서 실무에서 한번 꼭 사용해보고 싶다는 생각이 들었습니다.  


- 24p 예제코드는 github에서 확인할 수 있다. 라고 되어있는데 바로 링크가 적혀있었으면 함.
- TCPServer를 실행하는 방법은 나와있는데 텔넷 클라이언트로 확인하는 방법도 나와있었으면 한다 . (telnet localhost 8090 식으로)
- vert.x3 버전에 클러스트링환경에서의 데이타공유기능이 추가된다고 하니 그 후 개정판이 나왔으면 좋겠다.



[도서리뷰] 손에 잡히는 R 프로그래밍

한빛리더스 10기에 참여하게되어 첫번째 활동으로 '손에 잡히는 R 프로그래밍'을 리뷰하게 되었습니다.프로그래밍쪽 일을 하고는 있지만 업무상으로는 통계쪽과는 관계가 없지만 요새 가끔 IT기사나 블로그를 볼때 R에 대해 언급되고 있길래 개인적인 관심으로 읽어보게 되었습니다.이 책의 대상 독자는 제목에 '프로그래밍'  이라 적혀있듯이 R에서... » 내용보기

[리뷰] '글로벌 소프트웨어를 말하다'

이 책은 저자가 해외에서 십수년간의 IT를 경험하고, 국내로 돌아와 일하면서 느꼈던 점들을 비교하면서우리의 소프트웨어가 어떻게하면 외국에서도 널리 사용될 수 있는지에 대해 말해주고 있습니다.글로벌 소프트웨어 회사의 필요조건과 특징으로 다음과 같은 항목들이 있습니다.- 재택근무- 회의시 개발자 소환 없음, 보고로 낭비되는 시간이 없음 - 신입개발... » 내용보기

초급번역패턴 500플러스 증정 이벤트

평소 영어관련 좋은 글을 올려주시는 bluewater님의 이벤트네요 ^^http://blog.naver.com/bluewater_33/140212221477 » 내용보기

[후기] 라이프사진전

책벌레 이벤트를 통해 라이프 사진전 초대를 받아 다녀왔습니다.'라이프' 는 미국의 유명한 시사 화보 잡지였는데 몇 년전 폐간했고, 그 때의 사진들 중 선별하여 전시를 하고 있습니다.인물vs 인물  서로 비슷한 성장과정을 거쳤지만 역사적평가가 극단적으로 갈린 인물의 비교라던지 같은 목적을 추구했지만 전혀 다른 방식으로 추진한 인물간의 비... » 내용보기