월별 글 목록: 2010년 12월월

특정 위치에 Unzip 하기..

linux/unix에서 unzip을 하면 압축되어 있는 폴더에 풀립니다…
특정 폴더로 unzip하기 위해서는 옵션만 주면 되는데… 그거네요.. ^^;;
아래처럼 하게 되면, xxxx.zip이 /xxx/xxx 폴더로 풀립니다.

unzip xxxx.zip -d /xxx/xxx

이클립스의 xml editor 플러그인 Rinzo XML Editor

이클립스(eclipse)에서 텍스트 에디터로 xml 문서 작업을 하기에는 좀 불편한 감이 있다. 그래서 텍스트 포맷별로 플러그인을 찾아보면 많은 에디터를 확인할 수 있다.

개인적으로 xml 문서 작업을 하는데 사용하는 에디터로 이클립스에서 플러그인으로 사용할 수 있는 툴로 Rinzo XML Editor를 추천한다. 이 에디터는 element action, validation, autocompletion 그리고 xpath view 기능 등을 지원하고 있어서 xml 문서 작업하는데 아주 편리하다.


위 이미지는 Rinzo XML Editor 사이트에서 확인할 수 있는 XPath Viewer 스크린샷이다.

자바(Java) NIO Scatter/Gater

자바(Java)도 NIO 패키지에서 채널(Channel)을 사용해서 버퍼(Buffer) Scatter/Gater를 지원하고 있다. 지금 하고 있는 프로젝트에서 서버와 클라이언트가 주고 받는 패킷의 형태가 Header + Body의 구조이고, 매번 단일(Single) 버퍼에 입력(put)하고 전송(send)하고 있고, 받을 때도 역시, 똑같이 하고 있다. 이 구조를 NIO의 Scatter/Gater의 형태로 바꾸면, 코드가 매우 깔끔해진다.

* 읽기(Read)

ByteBuffer header = ByteBuffer.allocate(128);
ByteBuffer body = ByteBuffer.allocate(1024);
ByteBuffer[] bufferArray = { header, body };
channel.read(buffers);

* 쓰기(Write)

ByteBuffer header = ByteBuffer.allocate(128);
ByteBuffer body   = ByteBuffer.allocate(1024);
ByteBuffer[] bufferArray = { header, body };
channel.write(buffers);

이상 간단한 Scatter/Gater의 사용방법에 대해서 알아봤다.

* Reference
http://tutorials.jenkov.com/java-nio/scatter-gather.html