새해들어서 처음으로 소개하는 DW Blogger review입니다. ^^
복 많이들 받으셨나요?

 이번에는 [Open developerWorks]의 문서를 소개하려고 합니다. JAVA 개발 자들에게 친숙한 아파치 톰캣에 관한 내용인데요. 톰캣을 이용해서 대용량 웹서비스를 운영하려는 사람에게 필요할것은 문서입니다.

흔히들 자바웹서비스 개발을 시작할떄 책에서 많이 접하는 톰캣은 실제로 대용량 서비스에는 잘 사용하지 않습니다. 웹로직, 웹스피어, 제우스 같은 WAS를 많이 사용하죠. 그런데웹서비스에 사용할 서버의 숫자가 수십에서 수배개 정도가 된다면 구매 및 유지보수 비용이라는 거인을 만나게 됩니다. 수천에서 억단위로까지 넘어가는 견적서를 보게되면... 눈물이 앞을 가리죠.
 그래서 아래의 문서를 소개하려합니다. 실전에서 바로 사용할 수 있을지는 잘 모르겠지만, 길을 제시해주고 있네요.

원문 : [Open developerWorks] 아파치와 톰캣을 활용한 대용량 웹서비스 운영


웹 개발자에게 있어 톰캣은 JSP를 배우거나 간단한 테스트를 하는 정도의 웹 컨테이너로 생각하는 경우가 많다. 하지만 근래 들어 기업 및 대형 포탈에서 상용 서비스를 위한 웹 컨테이너로서 톰캣을 선택해, 성공적으로 적용한 사례들이 늘고 있다. 톰캣에서 안정적인 웹 서비스를 제공하기 위해서 지원하는 기능은 5가지가 있다. 아파치 웹서버와 연동, 로드밸런싱, 세션 클러스터링, 데이터베이스 처리, 모니터링 및 관리 등이 그것이다.
이 문서에서는 로드밸런싱과 세션 클러스터링 위주로 설명을 할 것이며, 다음에 기회가 된다면 다른 부분에 대해서도 자세히 알아보도록 하겠다.
 흠... 크리스마스가 평온하게... 너무 평온하게 지나가서요... 크리스마스때 읽으려고 출력했던 문서를 소개하려고 합니다.
 제목에도 나와있듯이 자바의 클래스 로딩 문제 분석에 관련된 문서입니다.
[클래스 로딩의 작동 방법과 JVM에서 클래스 로딩 문제를 해결하는 방법]이라는 부제가 달린 문서입니다. Part 1에서는 클래스 로딩의 기초와 디버깅 툴을 소개하고 있습니다.

원문 : 클래스 로딩 문제 분석하기, Part 1: 클래스 로딩과 디버깅 툴 소개 (한글) (부제 : 클래스 로딩의 작동 방법과 JVM에서 클래스 로딩 문제를 해결하는 방법)


 아래는 원문의 서두부분입니다.
클래스 로딩 컴포넌트는 자바™ 가상 머신에 있어서 기본적인 것입니다. 개발자들이 클래스 로딩의 기초에 대해서 잘 이해하고 있더라도 문제가 생기면 이것을 진단하고 솔루션을 만드는데 어려움을 겪습니다. 네 편의 기술자료 시리즈에서 Lakshmi Shankar와 Simon Burns는 자바 개발 중에 발생할 수 있는 다양한 클래스 로딩 문제들을 설명하고 그 원인과 해결 방법을 설명합니다. NoClassDefFoundErrorClassNotFoundException 같은 일반적인 자바 예외와, 클래스 로더의 제약조건 위반 교착 상태 같은 보다 어려운 문제들 이해하고 해결하는데 도움이 될 것입니다. 이 첫 번째 글에서 자바 클래스 로딩의 작동 방법과 JVM에서 사용할 수 있는 툴을 사용하여 클래스 로딩 문제를 진단하는 방법을 설명합니다.

클래스 로더는 클래스들을 Java Virtual Machine (JVM)에 로딩하는 일을 담당한다. 단순한 애플리케이션들은 자바 플랫폼에 내장되어 있는 클래스 로딩 장치를 사용하여 클래스들을 로딩한다. 보다 복잡한 애플리케이션들은 고유의 클래스 로더를 정의하기도 한다. 어떤 종류의 클래스 로더를 사용하든지 간에, 클래스 로딩 과정 동안 문제가 생길 수 있다. 이 같은 문제를 피하려면, 클래스 로딩의 구조를 이해해야 하여야 하며, 이를 통해, 문제가 발생하면 진단 기능과 디버깅 기술이 문제 해결에 도움이 될 것이다.

본 기술자료 시리즈에서는 클래스 로딩 문제들을 설명한다. 첫 번째 기술자료에서는 클래스의 로딩의 기초를 설명하고, 두 번째 기술자료에서는 JVM 디버깅 기능들을 다룰 예정이다. 나머지 세 개의 기술자료에서는 클래스 로딩 예외를 해결하는 방법과, 보다 민감한 클래스 로딩 문제들을 설명할 것이다.


 리눅스포털에서 BitTorrent Azureus라는 프로그램 리뷰를 보고는 제 블로그에서도 소개를 해야겠다는 생각이 들어서 글을 올립니다. 소개하기로 마음먹은 이유는
1. BitTorrent P2P 공유 프로그램이다.
2. 자바로 구현된 P2P 공유 프로그램이다.
3. GPL 라이센스를 따르는 공개 소프트웨어이다.
4. Linux와 MS-Windows를 지원한다.
그외에도 실행할때 뜨는 로고가 독개구리다...랄지 뭐... 걍 맘에 들어서요.

사용자 삽입 이미지

이 녀석입니다. 독개구리



프로젝트 홈페이지 주소 : azureus.sourceforge.net
라이센스 : GPL
 Eclipse Forms를 이용해서 애플리케이션에 웹 효과를 내는 방법을 설명하는 글입니다.
자바로 만든 프로그램이 이렇게 쓸만한 UI를 가지게 되는게 이클립스 덕이 아닐까합니다. 엄밀히 말하면 운영체제의 네이티브 UI와  같은 룩앤필을 제공해주는 Standard Widget Toolkit(SWT)[각주:1] 덕이겠죠.


원문 : Eclipse Forms로 애플리케이션에 새로운 활력을 (한글)

Eclipse Forms를 사용하여 Eclipse 애플리케이션의 사용자 경험을 향상시킬 수 있습니다. 임베디드 브라우저를 사용하지 않고 애플리케이션에 "웹과 같은" 효과를 나타낼 수 있습니다. 본 기술자료에서는 사용자 인터페이스(UI) 툴킷으로서의 Eclipse Forms를 간략히 소개하고, 사용하기 쉬운 예제도 제공합니다.

배경

Eclipse Forms란 무엇인가? 이 질문에 답을 하기 전에, Eclipse Forms의 사용 방법을 설명하도록 하겠다. 여러분은 Eclipse에 플러그인을 구현해 본 적 있는가? 그렇다면, 이것이 다음과 같은 깔끔한 UI라는 것을 아마 알 수 있을 것이다.



사용자 삽입 이미지

Hello world 예제

본문에서 Eclipse Forms로 구현한 Hello World 예제입니다. 어떤 언어를 배우든 일단 Hello World부터 ^^
  1. Eclipse의 구현 기반입니다. SWT는 다양한 플랫폼에서 실행됩니다. [본문으로]
 10월의 두번째 글을 작성합니다. 내일까지만 일하면 하루 쉽니다. :)
야호~

 이번에는 IBM DeveloperWorks에서 JAVA로 웹개발을 할때 도움이 될 만한 글을 찾았습니다. Cypal Studio for GWT라는 Eclipse에서 GWT[각주:1] 구현을 지원해주는 플러그인을 소개하는 글입니다. Cypal Studio for GWT의 설치 및 설정, 사용법을 알려주는 글입니다.
 Eclipse에서 GWT를 이용해보고 싶었던 분들이라면 편하게 이용하실 수 있을거같아서 소개합니다.

Cypal Studio for GWT를 사용하여 Ajax 개발 단순화 하기 (한글)

 원문의 내용대로 설치 및 설정까지를 따라해 봤는데, 본문에 나오는대로 GWT 1.4버전에서는 정상적으로 작동하지 않음을 확인했습니다. GWT 1.3버전을 설치하시길 바랍니다. 최신 버전인 GWT 1.4에서 작동하는 Cypal Studio가 빨리 나오면 좋겠네요.
최신 버전 설치하기... 이것도 병인데... :)

GWT는 JavaScript 없이 자바 프로그래밍 언어 내에서 동적인 웹 애플리케이션들을 완벽히 작성할 수 있도록 해주는 툴 세트이다. GWT 애플리케이션은 모든 주요 브라우저에서 실행되며, 사용자와의 상호 작동성도 뛰어나고, 자바 개발 환경 내에서 완벽히 테스트 및 디버깅 될 수 있다.

GWT 프레임웍은 네 개의 주요 컴포넌트를 갖고 있다. 자바 언어로 구현된 위젯 컬렉션은 Swing 보다 단순한 애플리케이션 프로그램 인터페이스(API)에서 기대하는 표준 사용자 인터페이스(UI) 기능을 제공한다. 원격 프로시저 메커니즘은 클라이언트와 서버 간 통신에 사용되며, GWT에서는 모든 파이프와 데이터 변환이 처리된다. 완전히 통합된 브라우저 시뮬레이터로 GWT가 개발 시 실행될 수 있으며, GWT 디버깅 세션 동안 에디터에서 중단점을 설정할 수 있다. 마지막으로, 컴파일러는 자바 코드를 클라이언트 브라우저에서 실제로 실행되는 크로스 브라우저 JavaScript 코드로 변환하며 브라우저 비호환성을 관리하기 때문에 여러분이 관리할 필요가 없다.

GWT가 Ajax 애플리케이션을 생성하는 프로세스를 단순화 하는 동안, 동기화 된 여러 부분들이 작동하도록 해야 한다. 이 글을 쓰고 있는 현재, GWT 고급 툴 지원은 주요 자바 개발 환경에 나타나기 시작했다.

Cypal Studio for GWT는 GWT 개발 시 수행되는 공통의 태스크들을 단순화 하는 Eclipse용 플러그인이다. 이 글에서는 GWT의 모든 부분을 설명하지 않는다. 참고자료 섹션에서 GWT 작동 방법과 애플리케이션을 생성하는 방법을 참조하기 바란다.



  1. Goole Web Toolkit(GWT)은 자바개발자들이 AJAX 어플리케이션을 개발하는데 사용할 수 있는 프레임워크입니다. Google Web Toolkit website [본문으로]

+ Recent posts