 |
 |
 |
 |
 |
 |
GWT fu, Part 2: GWT의 고급 기능 구현하기 GWT(Google Web Toolkit)를 이용하면 브라우저에서 실행하는 데스트탑 형태의 애플리케이션을 구현할 수 있습니다. 두 부분으로 구성된 이 시리즈의
두 번째 기사에서는 이벤트 싱크하기, 타이머 사용하기 및 이벤트 미리보기와 같은 GWT의 고급 기능을 살펴볼 수 있습니다. |
|
|
|
2009년 10월 20일 (화) |
|
| |
Java development 2.0: EC2 역시 임대할 수 있다. 이번 Java development 2.0 연재물에서 Andrew Glover는 Amazon EC2(Elastic Compute Cloud)의 개발 및 전개 과정을 실질적으로
소개합니다. EC2와 Google App Engine의 다른 점 그리고 Eclipse 플러그인과 간결한 Groovy 언어를 사용하여 간단한 웹 애플리케이션을
만들고 EC2에서 바로 실행하는 방법을 학습합니다. |
|
|
|
2009년 9월 29일 (화) |
|
| |
JPA 2.0의 형식이 안전한 동적 쿼리 영속적 Java 오브젝트에 대한 쿼리는 컴파일러에서 쿼리의 구문 정확성을 확인할 수만 있으면
형식이 안전합니다. 버전 2.0의 JPA(Java Persistence API)에는 최초로 Java 애플리케이션에서 형식이 안전한
쿼리를 활용하는 기능과 런타임에 동적으로 쿼리를 생성할 수 있는 메커니즘을 제공하는 Criteria API가
새롭게 추가되었습니다. 이 기사에서는 Criteria API 및 관련성이 높은 Metamodel API를 사용하여 형식이
안전한 동적 쿼리를 작성하는 방법에 대해 설명합니다. |
|
|
|
2009년 9월 22일 (화) |
|
| |
Apache Mahout 소개 학계와 기업에서 연구를 위해 많은 예산을 투자하고 있는 독보적인 분야일 경우, 데이터 및 사용자가 직접
입력한 내용을 통해 학습하는 지능형 애플리케이션이 점차 많이 사용되는 추세입니다. 많은 그룹의 사람들 중에서 공통점을 찾아내거나 대량의 웹 컨텐츠에
자동으로 태그를 지정하는 등의 작업을 수행하기 위해 그 어느 때보다도 클러스터링, 협업 필터링 및 분류와 같은 기계
학습 기술의 필요성이 부각되고 있습니다. Apache Mahout 프로젝트의 목표는 지능형 애플리케이션을 쉽고 빠르게
개발하는 것입니다. 이 기사에서는 Mahout의 공동 설립자인 Grant Ingersoll이 기계 학습의 기본 개념을 소개한 후
Mahout을 사용하여 문서를 클러스터링하고, 추천 항목을 만들고, 컨텐츠를 구성하는 방법에 대해 설명합니다. |
|
|
|
2009년 9월 8일 (화) |
|
| |
GWT fu, Part 1: Google Web Toolkit 다루기 GWT(Google Web Toolkit)를 이용하면 Java 언어를 사용하여 브라우저에서 실행하는 리치 클라이언트 사용자 인터페이스를 구현할 수 있습니다. 두 부분으로 구성된 이 기사에서
David Geary는 GWT 최신 버전을 간단하게 소개하고 데스크탑 형태의 웹 애플리케이션을 구현하는 방법을 설명합니다. |
|
|
|
2009년 9월 1일 (화) |
|
| |
Google App Engine for Java: Part 3: 영속성과 관계 데이터 지속성은 엔터프라이즈 환경에서 확장 가능한 애플리케이션을 전달하기 위해
반드시 갖추고 있어야 하는 능력입니다. Google App Engine for Java를 소개하는 Rick Hightower의
시리즈 중 마지막 기사인 이 기사에서는 App Engine의 최신 Java 기반 지속성 프레임워크에 대해
설명합니다. 현재 프리뷰 릴리스의 Java 지속성이 아직 충분한 기능을 제공하지 못하는 이유를 살펴본
후 App Engine for Java 애플리케이션의 데이터를 지속적으로 유지하기 위해 수행할 수 있는 작업의
데모를 살펴봅니다. 이 기사에서는 JDO API를 사용하여 Contact 오브젝트를 지속적으로 유지하고, 쿼리하고,
업데이트하고, 삭제하는 방법을 다루므로 Part 2에서 작성한 연락처 관리 애플리케이션이 실행되고
있어야 합니다. |
|
|
|
2009년 8월 25일 (화) |
|
| |
Java development 2.0: Google App Engine 시작하기 오픈 소스 솔루션과 그 인프라스트럭처 덕택에 Java 개발의 특성 변하고 있으며 더 나은 소프트웨어를 낮은
비용으로 신속하게 제공하는 것이 가능해졌다. Andrew Glover는 이러한 현상이 누적되어 생긴 영향력을 요약한
용어인 Java development 2.0을 만들었으며 이와 관련된 일부 도구와 기술에 관한 새로운 시리즈를
시작하였습니다. 첫 번째 기사에서는 Java development 2.0의 도래를 예고하고 Java용 Google App Engine을 사용하여
그 개념을 실현하는 방법을 설명합니다. |
|
|
|
2009년 8월 18일 (화) |
|
| |
Google App Engine for Java: Part 1: 새로운 시작 얼마 전까지만 해도 Google App Engine은 Python 개발자만을 위한 것이었기에 조금은
암울한 시기였습니다. 그러나 2009년 4월에 Google Inc.에서 클라우드 컴퓨팅 플랫폼에 대한 문호를
Java 개발자에게도 개방했습니다. 세 편의 기사로 구성된 이 시리즈에서는 Java 기술 저자이자 강사인 Rick
Hightower가 Java 기반 개발을 위한 이 안정적이고 강력하면서도 재미 있는 플랫폼을 소개합니다. 이
기사에서는 Google App Engine for Java를 확장성 높은 킬러 애플리케이션의 전개 플랫폼으로 사용하기에
적합한 이유를 살펴본 후 Google Plugin for Eclipse를 사용하여 GWT(Google Web Toolkit)와 Java Servlet
API를 기반으로 하는 두 가지 예제 애플리케이션을 작성합니다. 애플리케이션을 처음부터 작성하는 과정과
애플리케이션을 전개하여 최대 5백만 개의 보기를 조정하는 과정을 통해 Google App Engine for Java의
진정한 가치를 알 수 있습니다. (게다가 이 제품은 무료 버전입니다.) |
|
|
|
2009년 8월 11일 (화) |
|
| |
Google App Engine for Java: Part 2: 킬러 애플리케이션 작성하기 Google App Engine for Java와 같은 클라우드 플랫폼의 가장 중요한 특징은 매우 많은
비용과 노력을 들이지 않고도 전문가 수준의 킬러 애플리케이션을 상상하고, 개발하고, 전개할
수 있다는 것입니다. Google App Engine for Java를 소개하는 세 편의 기사 중 이 두 번째 기사에서는
기존 예제를 설명했던 Part 1과는 달리 Google App Engine for Java를 사용하여
간단한 연락처 관리 애플리케이션을 작성 및 전개하는 과정을 단계별로 안내합니다. |
|
|
|
2009년 8월 11일 (화) |
|
| |
팁: JBoss 4에서 JBoss 5로 마이그레이션하기 EJB 코드를 JBoss 5로 마이그레이션하고 싶습니까? 전개 및 실행에 필요한
코드를 구할 수 없습니까? 그렇다면 이 팁을 활용하십시오. 혹은 JBoss 5를 처음 접해본
사용자로서 EJB 3 환경에 빠르게 적응하고 싶습니까? 이 팁에서는 JBoss 5에서 EJB 3
코드를 작성, 전개 및 실행하는 데 필요한 XML 전개 파일에 대해 자세히 설명합니다. |
|
|
|
2009년 7월 21일 (화) |
|
| |
JSF 2 fu, Part 3: 이벤트 처리, JavaScript 및 Ajax JSF(JavaServer Faces) 2 Expert Group의 회원인 David Geary가 JSF 2의 새 기능을
소개하기 위해 집필한 세 편의 기사로 구성된 시리즈 중 마지막 기사입니다. 프레임워크의 새로운
이벤트 모델 및 Ajax에 대한 내장 지원 기능을 사용하여 강력하고 재사용 가능한 구성 요소를 만드는
방법에 대해 설명합니다.
|
|
|
|
2009년 7월 14일 (화) |
|
| |
JSF 2 fu, Part 2: Templating 및 복합 구성 요소 JSF(JavaServer Faces) 2를 사용하면 templating 및 복합 구성 요소라는 두 가지 강력한
기능을 통해 쉽게 수정하고 확장할 수 있는 사용자 인터페이스를 구현할 수 있습니다. JSF 2의 새
기능을 다루는 3편의 기사로 구성된 시리즈의 두 번째 기사인 이 기사에서는 JSF 2 Expert Group의
회원인 David Geary가 웹 애플리케이션에서 templating 및 복합 구성 요소를 효과적으로 활용하는 방법을
보여 줍니다. |
|
|
|
2009년 6월 2일 (화) |
|
| |
JSF 2 fu, Part 1: 웹 애플리케이션 개발 합리화하기 JSF(JavaServer Faces) 버전 2.0에서는
강력한 Ajaxified 웹 애플리케이션을 쉽게 구현할 수 있습니다. 이 기사는 JSF 2.0 Expert Group 회원인
David Geary가 집필한 3편의 기사로 구성된 시리즈의 첫 번째 기사이며 JSF 2의 새 기능을 활용하는 방법에
대해 설명합니다. 또한 JSF 2 개발 작업을 합리화할 수 있도록 XML 구성을 어노테이션 및 규칙으로 대체하는
방법, 탐색을 간소화하는 방법 및 리소스에 쉽게 액세스하는 방법에 대해 설명합니다. 또한 애플리케이션에서
Groovy를 사용하는 방법에 대해서도 살펴봅니다. |
|
|
|
2009년 5월 12일 (화) |
|
| |
Dojo 1.x로 위젯 개발하기 Dojo JavaScript 툴킷을 사용하여 HTML 위젯을 개발하는 기본적인 방법을
설명하는 이 기사에서는 이 툴킷을 소개한 후 여러 예제를 통해 샘플 위젯부터 단계적으로
복잡한 위젯을 살펴보면서 개발 단계에서 발생할 수 있는 일반적인 문제를 찾아보고 해결합니다. |
|
|
|
2009년 4월 28일 (화) |
|
| |
XML: GWT와 PHP의 연결 고리 역할 GWT(Google Web Toolkit) 애플리케이션은 오랫동안 사용되어 온 Java 방식으로 서블릿에
연결하는 방법 외에도 PHP 웹 서비스를 사용하여 XML 형식으로 데이터를 주고 받을 수 있습니다. 이
기사에서는 Java 언어와 PHP로 XML 문서를 생성하고 처리하는 방법을 살펴봅니다. |
|
|
|
2009년 4월 7일 (화) |
|
| |
S3를 통해 간편하게 스토리지 만들기 Amazon S3(Simple Storage Service)는 웹 애플리케이션 개발자가 이미지, 비디오, 음악 및 문서와 같은
디지털 자산을 저장하는 데 사용할 수 있는 공개 서비스입니다. S3는 프로그래밍 방식으로 서비스와 상호 작용할 수
있도록 RESTful API를 제공합니다. 이 기사에서는 오픈 소스 JetS3t 라이브러리를 통해 Amazon의 S3 클라우드 서비스를
활용하여 데이터를 저장 및 검색하는 방법에 대해 설명합니다. |
|
|
|
2009년 4월 7일 (화) |
|
| |
사용자 정의 Ant 태스크를 사용해야 하는 이유와 사용 방법
|
|
|
|
2009년 3월 24일 (화) |
|
| |
JiBX 1.2, Part 2: XML 스키마를 Java 코드로 변환 XML 스키마 정의에서 코드를 생성하는 방법은 웹 서비스를 포함한 모든 유형의
XML 데이터 교환에 많이 사용되고 있습니다. 대부분의 데이터 바인딩 도구는 사용자의
애플리케이션과 관련이 없는 부분을 포함한 스키마의 모든 부분을 기반으로 엄격하게
구조화된 코드를 생성합니다. JiBX 1.2는 스키마를 자세히 해석한 후 불필요한 클래스
항목을 제거하여 정돈된 코드를 생성합니다. 불필요한 스키마 구성 요소를 쉽게 제거하기
위한 사용자 정의를 비롯하여 여러 가지 강력한 사용자 정의 기능을 생성된 코드에 사용할
수 있습니다. |
|
|
|
2009년 3월 3일 (화) |
|
| |
JiBX 1.2, Part 1: Java 코드를 XML 스키마로 변환 XML 스키마 정의는 대부분의 웹 서비스 양식을 포함한 많은 유형의 데이터
교환에 사용되는 기본 기술입니다. 그러나 XML 스키마가 복합 표준이며, 스키마 정의를
작성 및 수정하는 대부분의 도구가 Java 코드 작업에 사용하기에 적합할 정도로 강력하거나
편리하지 않습니다. JiBX 1.2의 새 기능을 사용하면 Java 코드에서 데이터 구조와 일치하는
높은 수준의 스키마 정의를 쉽게 생성할 수 있습니다. 그런 다음에는 JiBX 데이터 바인딩의
사용 여부와 관계 없이 스키마를 직접 사용할 수 있습니다. |
|
|
|
2009년 3월 3일 (화) |
|
| |
진화적 아키텍처와 발현적 설계: 아키텍처와 설계 조사하기(영문) 소프트웨어 아키텍처 및 설계에 대한 열띤 논의가 많이 이루어지고 있기는 하지만 명확한 해답을 찾지는 못하고 있습니다. 이 주제에 대한 대체 논의 방법을 찾기 위한 대화를 새롭게 시작하기 위해 진화적 아키텍처와 발현적 설계에 관한 연재 기사를 시작합니다. 진화적 아키텍처 및 발현적 설계는 책임이 따르는 마지막 순간까지 중요한 의사 결정을 미루는 애자일 기술입니다. 이 첫 번째 기사에서는 아키텍처와 설계를 정의한 후 연재 기사에서 다루게 될 주요 사항을 소개합니다.
학문으로서의 소프트웨어 개발이 복잡하게 얽혀 있는 여러 가지 어려운 주제를 아직까지 충분히 해결하지 못하고 있기 때문에 소프트웨어 아키텍처 및 설계에 대한 정의도 명확하게 내려져 있지 않습니다. 그러나 이들 주제에 대한 합리적인 논의를 시작하려면 논의의 출발점이 될 수 있는 주제가 있어야 합니다. 이 연재 기사에서는 진화적 아키텍처와 발현적 설계에 대한 논의를 진행하기 위해 먼저 몇 가지 정의, 고려 사항 및 기타 배경 정보에 대해 설명합니다.
|
|
|
|
2009년 2월 24일 (화) |
|
| |
사람을 위한 자동화: 전개 자동화 패턴, Part 2 Java 전개는 복잡하고, 오류가 발생하기 쉬우며, 수작업으로 진행되기 때문에
소프트웨어를 사용자에게 제공하기 전까지 많은 시간이 지연되기도 합니다. 2편의 기사
중 Part 2에서는 자동화 전문가인 필자가 Java 애플리케이션에 대한 원클릭 전개 기능을
제공하는 신뢰할 수 있고, 반복 가능하며 일관된 전개 프로세스를 개발하는 데 도움이
되는 추가 주요 패턴들에 대해 설명합니다. |
|
|
|
2009년 2월 10일 (화) |
|
| |
사람을 위한 자동화: 전개 자동화 패턴, Part 1 Java 전개는 복잡하고, 오류가 발생하기 쉬우며, 수작업으로 진행되기 때문에
소프트웨어를 사용자에게 제공하기 전까지 많은 시간이 지연되기도 합니다. 2편의 기사로
구성된 사람을 위한 자동화 시리즈의 Part 1에서는 자동화 전문가인 필자가 Java 애플리케이션에
대한 원클릭 전개 기능을 제공하는 신뢰할 수 있고, 반복 가능하며 일관된 전개 프로세스를
개발하는 데 도움이 되는 주요 패턴들에 대해 설명합니다. |
|
|
|
2009년 1월 13일 (화) |
|
| |
불필요한 코딩을 줄이자! 아파치 Commons 프로젝트의 Lang 라이브러리에 포함된, 실전을 통해 다듬어진 오픈 소스 유틸리티를 활용해 코딩을 줄여 봅니다. 다른 사람이 작성한 신뢰성 높은 코드를 재사용하면 여러분의 소프트웨어를 더욱 빨리 출시할 수 있고 오류도 줄일 수 있습니다. |
|
|
|
2008년 12월 16일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 계산기 만들기, Part 2 분야 특화 언어(domain-specific language, 약자로 DSL)는 많은 관심을 끄는 주제가 되었습니다. 함수 언어에 대한 떠들썩한 논의는 상당 부분 함수 언어로 분야 특화 언어를 만들 수 있다는 사실에 대한 것입니다. "바쁜 자바 프로그래머를 위한 스칼라 입문" 연재의 최신 편인 이 글에서는 "외부(external)" DSL을 구축하는 데 있어서 함수 언어의 위력을 보여 주기 위한 예제인 간단한 계산기 DSL을 계속 만들어 보면서 텍스트 입력을 실행하기 위한 AST 형태로 변환하는 문제를 다뤄봅니다. 텍스트 형태의 입력을 파싱해서 지난 글에서 만들어 본 해석기(interpreter)가 사용할 트리 구조로 바꾸기 위해, 이런 일을 위해 설계된 표준 스칼라 라이브러리인 파서 콤비네이터(combinator)를 소개합니다. (지난 글에서는 계산기 해석기와 AST를 만들어 보았습니다.) |
|
|
|
2008년 12월 2일 (화) |
|
| |
XML 구문을 분석할 때 발생하는 오류 처리하기 XML 파싱은 거의 대부분의 기업 애플리케이션에서 일부분입니다. 그렇지만 에러 처리는 그러한 애플리케이션에서 대부분 빠져 있습니다. SAX로 XML 파싱 에러를 처리하는 법을 배우겠습니다. 여러분의 애플리케이션에서 DOM, JAXP, 또는 XML을 처리하는 또 다른 API를 사용하더라도 도움이 될 것입니다. |
|
|
|
2008년 12월 2일 (화) |
|
| |
무복사 기법을 통한 효율적인 데이터 전송 이 글은 무복사(zero copy) 기법을 통해 리눅스와 유닉스에서 실행되는 I/O 위주의 자바 애플리케이션의 성능을 향상시키는 방법에 대해 설명합니다. 무복사 기법은 중간 버퍼 간의 불필요한 데이터 복사를 피하게 해 주고, 사용자 공간(user space)과 커널 공간(kernel space) 사이의 맥락 전환(context switch) 횟수를 줄여 줍니다. |
|
|
|
2008년 11월 25일 (화) |
|
| |
사람을 위한 자동화: 마법사 기반 설치 프로그램 사용하기 소프트웨어 설치는 많은 사용자에게 보통 고통스러운 일에 해당합니다. 여러분이 생성한 설치 패키지(소프트웨어 개발의 "마지막 일정")는 사용자에게 채택되거나 쓰레기통에 버려지는 갈림길에서 예전보다 나아질 수 있습니다. 이번 사람을 위한 자동화 기사에서, 자동화 전문가 Paul Duvall은 무료로 이용할 수 있는 오픈 소스 IzPack 도구를 사용하여 마법사 기반 설치 프로그램을 만들어 여러분의 소프트웨어를 사용자가 간단하게 설치할 수 있게 하는 방법을 살펴보겠습니다. |
|
|
|
2008년 11월 25일 (화) |
|
| |
Eclipse와 Java SE 6을 사용하여 독립형 웹 서비스 개발하기, Part 1: 웹 서비스 서버 애플리케이션 Eclipse IDE(Integrated Development Environment)와 Java SE(Java Platform, Standard Edition) 6을
사용하여 콘솔에서 실행할 수 있는 독립형 웹 서비스 애플리케이션을 개발합니다. 이 튜토리얼 시리즈의 첫 번째 기사에서는
Eclipse IDE를 익히는 과정부터 시작합니다. 환경을 구성하고, 프로젝트, 패키지 및 클래스를 작성한 다음 명령행에서
애플리케이션을 실행합니다. |
|
|
|
2008년 11월 13일 (목) |
|
| |
Eclipse와 Java SE 6을 사용하여 독립형 웹 서비스 개발하기, Part 1: 웹 서비스 서버 애플리케이션 Eclipse IDE(Integrated Development Environment)와 Java SE(Java Platform, Standard Edition) 6을
사용하여 콘솔에서 실행할 수 있는 독립형 웹 서비스 애플리케이션을 개발합니다. 이 튜토리얼 시리즈의 첫 번째 기사에서는
Eclipse IDE를 익히는 과정부터 시작합니다. 환경을 구성하고, 프로젝트, 패키지 및 클래스를 작성한 다음 명령행에서
애플리케이션을 실행합니다. |
|
|
|
2008년 11월 13일 (목) |
|
| |
자바 이론과 실습: 상태 의존형 웹 애플리케이션은 깨지기 마련인가? HttpSession은 서블릿 프레임워크가 제공하는 세션의 상태 관리 메커니즘입니다. 이것 덕분에 상태 의존형(stateful) 애플리케이션을 쉽게 작성할 수 있는 반면, 이를 자칫 오용하기도 쉽습니다. 많은 웹 애플리케이션에서 HttpSession을 충분한 조율 없이 사용하여 (자바빈 클래스처럼) 수정 가능(mutable) 데이터를 관리하므로, 잠재적으로 동시성 위험(concurrency hazards)을 안고 있습니다. |
|
|
|
2008년 11월 11일 (화) |
|
| |
사람을 위한 자동화: 지속적인 리팩터링 리팩터링은 기존 코드를 개선하는 방법으로 잘 수용된 실천법입니다. 하지만 일관적이고 반복적인 리팩터링이 필요한 코드를 어떻게 찾을까요? 이번 사람을 위한 자동화 기사에서는 역겨운 코드를 개선하는 예제를 통해 정적 분석 도구를 사용하여 리팩터링할 코드 냄새를 식별하는 방법을 살펴볼 것입니다. |
|
|
|
2008년 11월 4일 (화) |
|
| |
바쁜 프로그래머를 위한 스칼라 입문: 계산기 만들기, Part 1 분야 특화 언어(domain-specific language, 약자로 DSL)는 많은 관심을 끄는 주제가 되었습니다. 사람들이 함수 언어에 대해 이야기하는 상당 부분은 분야 특화 언어를 만드는 데 적용할 수 있느냐 하는 것입니다. 바쁜 프로그래머를 위한 스칼라 입문의 여덟 번째인 이번 글을 시작하면서 우선 "외부(external)" DSL을 구축하는 데 있어 함수 언어가 얼마나 효과적인지를 잘 보여주는 예제로 간단한 계산기 DSL을 만들어 봅니다. 이를 위해 스칼라의 새로운 특성인 "케이스 클래스(case classes)"를 살펴 본 후 함수 언어의 오랜 특성인 "패턴 일치(pattern matching)"를 다시 살펴 봅니다. |
|
|
|
2008년 10월 28일 (화) |
|
| |
자바 환경에서 XQuery 사용하기 XQuery API를 사용해 XML 문서를 쉽게 질의하고 검색할 수 있습니다. 그리고 썬의 자바용 XQuery API는 자바 애플리케이션에 이러한 기능을 가져다 줍니다. |
|
|
|
2008년 10월 28일 (화) |
|
| |
자바 이론과 실습: 제네릭스 해부, Part 2 자바 언어에 제네릭이 포함되었는데, 그 중 와일드카드는 혼란스럽기 그지 없는 부분입니다. 경계 지정 와일드카드(bounded wildcard) 두 가지("? super T"와 "? extends T") 중 하나를 잘못 선택하는 실수는 흔하게 저지르기 마련입니다. 독자들도 이런 실수를 범한 적이 있습니까? 전문가들조차 실수하게 마련이니 걱정하지 마십시오. 이 달에는 Brian Goetz가 실수를 피하는 법을 알려 줄 것입니다. |
|
|
|
2008년 10월 21일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 패키지와 접근 제한 지시어 실생활에서는 코드를 참조하고 관련 있는 코드끼리 묶을 수 있어야 합니다. 이 연재의 일곱 번째인 이번 글에서는 스칼라의 패키지와 접근 제한 지시어(access modifier)를 살펴봄으로써 그 동안 간과해 왔던 문제들을 바로잡아 봅니다. 그 다음에는 스칼라의 함수적 측면에 대해 계속해서 살펴봅니다. 이번에는 “apply” 개념을 간단하게 알아봅니다. |
|
|
|
2008년 10월 7일 (화) |
|
| |
JRuby와 스윙(Swing)으로 크로스 플랫폼 개발 루비로 웹과 콘솔 애플리케이션을 제작할 수 있지만, 또한 다수의 플랫폼에서 실행 가능한 복잡한 GUI 데스크톱 애플리케이션도 작성할 수 있습니다. JRuby 덕택에 루비 GUI 툴킷에서 자바 플랫폼이 제공하는 UI 도구도 사용할 수 있습니다. JRuby는 루비의 C 구현을 대신할 수 있는 안정된 대체 구현입니다. 본 문서에서는 Monkeybars를 소개하고, 이와 관련된 예제 애플리케이션도 더불어 제공합니다. Monkeybars는 JRuby와 스윙을 써서 애플리케이션을 제작하기 위한 라이브러리입니다. |
|
|
|
2008년 10월 7일 (화) |
|
| |
사람을 위한 자동화: 매우 중요한 부분을 병렬로 개발하기 대부분의 개발 팀이 버전 관리 시스템을 사용하여 코드 변경을 관리하지만 여러 개발자가 동일한 코드에 병렬적으로 손을 대면 상당한 골칫거리가 됩니다. 이번 사람을 위한 자동화 연재에서는 자동화 전문가 Paul Duvall이 무료로 사용할 수 있는 오픈 소스 서브버전(Subversion) 버전 관리 시스템을 사용하여 소스 코드를 효율적으로 태깅하고, 나누고, 병합하는 방법을 보여줄 것입니다. |
|
|
|
2008년 10월 7일 (화) |
|
| |
영속성 패턴, Part 2: 코드 재사용을 늘리고 성능을 높이자 2부로 된 이번 연재 중 Part 1에서는 현대적인 객체 관계형 매핑(ORM: object-relational mapping) 도구를 사용해 일관되고 간결한 도메인 모델과 영속성 티어(persistence tier)를 만들 수 있는 기본을 다뤘습니다. Part 2에서 필자는 도메인 모델의 행동으로 기본 도메인 엔티티와 좀 더 발전된 기능인 제네릭 DAO(Generic DAO)를 설명합니다. 또한 도메인 모델을 사용하는 데이터 검색(data-retrieval) 성능을 향상시킬 수 있는 전략을 공유합니다. |
|
|
|
2008년 9월 30일 (화) |
|
| |
WebSphere sMash에서 Java와 PHP 통합하기 WebSphere sMash 환경에서는 PHP 등의 유명한 웹 기술을 기반으로 하는 대화식 웹
애플리케이션을 빠르게 개발할 수 있으며 PHP 스크립트를 통해 기존 Java 자산을 재사용할 수도
있습니다. 이 기사에서는 Java Bridge를 소개한 후 PHP에서 Java 클래스에 액세스하는 방법을 보여 줍니다. |
|
|
|
2008년 9월 24일 (수) |
|
| |
RESTful한 웹 서비스 만들기 구상화 상태 전송(역주: 현재까지는 명확히 한국어로 번역되어 쓰이는 말은 없다)을 뜻하는 REST(Representational state transfer)는 메시지가 아닌 이름이 부여된 자원에 의존하는 느슨히 연결된(loosely coupled) 애플리케이션을 디자인하는 한 형식입니다. "RESTful"한 애플리케이션을 만드는 데에 가장 어려운 부분은 노출하고자 하는 자원을 결정하는 일입니다. 일단 하겠다고 마음먹었다면 오픈 소스 Restlet 프레임워크를 사용하는 게 RESTful한 웹 서비스를 만드는 데 있어 가장 손쉬운 방법입니다. 이 튜토리얼에서는 REST의 기본 개념에 대해 소개하고, Restlet을 이용해 단계별로 애플리케이션을 만들어 갈 것입니다. |
|
|
|
2008년 9월 23일 (화) |
|
| |
자바 이론과 실습: 제네릭스 해부, Part 1 자바 언어의 제네릭(generic)에서 가장 복잡한 측면 중 하나가 바로 와일드카드입니다. 와일드카드의 사용법도 복잡할 뿐 아니라 와일드카드 캡처(wildcard capture)와 관련된 에러 메시지 역시 혼란스럽기 그지 없습니다. 이번 자바 이론과 실습 연재에서는 베테랑 자바 개발자인 Brian Goetz가 javac에서 생성하는 괴상한 에러 메시지를 해독하고 제네릭을 쉽게 쓸 수 있는 몇 가지 비법과 우회 기법을 제시합니다. |
|
|
|
2008년 9월 16일 (화) |
|
| |
Ajax와 자바 개발을 간단하게, Part 3: DOM, 자바스크립트, JSP 태그 파일을 기반으로 동작하는 UI 만들기 본 연재의 Part 1에서 자바스크립트 코드를 사용하여 Ajax 요청을 보내고 Ajax 응답을 처리하는 방법을 살펴보았습니다. Part2 에서는 규약과 JSP 태그 파일을 사용하여 셋업과 설정을 최소화하는 형태로 HTML 폼을 생성하는 방법을 알아보았습니다. 이번 Part 3에서는, 서버 쪽 검증은 물론 자바스크립트 기반의 클라이언트 쪽 검증을 개발하는 방법을 살펴볼 것입니다. JSP 태그 파일을 사용하여 자바스크립트쪽을 보조하여 구현하겠습니다. 애플리케이션을 다시 시작할 필요 없이 변경이 있을 때 자동으로 다시 읽어 들이는 리소스-번들 사용법도 배우겠습니다. |
|
|
|
2008년 9월 16일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 컬렉션 타입 객체는 스칼라에서 중요한 역할을 합니다. 하지만 튜플(tuple), 배열, 리스트(list) 같은 함수적 타입도 마찬가지입니다. 이 Ted Neward의 인기 연재에서는 함수 언어에서 일반적인 타입을 스칼라에서 어떻게 지원하는지를 살펴보는 것을 시작으로 앞으로 스칼라의 함수 언어적 측면을 살펴 보려고 합니다. |
|
|
|
2008년 9월 9일 (화) |
|
| |
Ajax와 자바 개발을 간단하게, Part 2: 규약을 사용하여 설치와 설정을 최소화하자 웹 프레임워크는 대부분 그것을 사용하는 각기 다른 애플리케이션의 요구와 개발 스타일에 따라 가능한 최대로 유연하고 확장 가능한 형태가 되려고 합니다. 하지만 불행히도, 보통 이러한 요구 때문에 복잡도가 높아지고, 처리가 과도해지며, 설정 파일이 많아집니다. 본 기사는 JSTL(JSP Standard Tag Library)과 JSP 태그 파일을 사용해 데이터 바인딩, 페이지 내비게이션, 스타일 규약을 구현하는 방법을 보여줄 것입니다. 이것으로 개발과 유지보수가 더 쉬워질 수 있습니다. 독자들은 애플리케이션을 빠르게 수정할 수 있는 동적인 속성들을 사용하여 커스텀 JSP 태그를 만드는 방법을 익힐 것입니다. 추가로, 이 글의 마지막 절에는 Ajax를 사용하여 웹 폼을 제출하는 예제를 담고 있습니다. |
|
|
|
2008년 9월 2일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 구현 상속 스칼라는 자바 언어와 동등한 정도의 구현 상속을 지원합니다. 하지만 스칼라의 상속은 몇몇 특이한 점이 있습니다. 이번 글에서는 함수 언어 스타일과 객체 지향 언어 스타일을 섞으면서도 자바 플랫폼의 상속 모델에 정확히 대응되는 스칼라 식의 다형성(polymorphism)을 소개합니다. |
|
|
|
2008년 9월 2일 (화) |
|
| |
IBM Cognos SDK Validation 도구 (영문) IBM Cognos SDK를 사용해 Java로 작성된 명령행 유틸리티인 IBM Cognos Validation 도구를 다운받자. 이 도구는 Report Studio 검증 프로세스로 Content Store의 모든 보고서를 완벽히 검증할 수 있다. |
|
|
|
2008년 9월 2일 (화) |
|
| |
Ajax와 자바 개발을 간단하게, Part 1: JSP 태그 파일로 자바스크립트 코드 동적으로 생성하기 많은 웹 개발자가 자바 EE가 너무 복잡하고, 새로운 웹 컴포넌트를 작성하는 것이 어려우며, 기존의 것을 커스터마이징하는 것이 충분히 간단하지가 않고, 모든 변경 사항에 대해 재시작을 요하는 것에 불만을 토로합니다. 본 연재는 코드 생성기, 컨벤션, 스크립트 언어, 그리고 최신 JSP(JavaServer Pages) 기술을 사용하여 이런 어려움들을 해결할 간단한 솔루션을 제공하려고 합니다. 변경 사항이 있을 때, JSP 태그 파일은 애플리케이션을 재시작할 필요 없이, 자바 EE 서버에 의해 자동으로 다시 컴파일됩니다. 게다가, 여러분은 생성된 코드를 완전히 제어할 수 있으며, JSP 문법을 사용하고 있기 때문에 이런 가벼운 컴포넌트들을 쉽게 커스터마이징할 수 있습니다. |
|
|
|
2008년 8월 26일 (화) |
|
| |
Java XPath API XPath 식은 상세한 Document Object Model (DOM) 네비게이션 코드 보다 작성하기가 훨씬 더 쉽습니다. XML 문서에서 정보를 추출하는 가장 빠르고 간단한 방법은 자바 프로그램 안에 XPath 식을 삽입하는 것입니다. Java 5에는 XPath로 문서를 쿼리하는 XML 객체-모델 독립형 라이브러리인 javax.xml.xpath 패키지가 포함되었습니다. |
|
|
|
2008년 8월 25일 (월) |
|
| |
믿을 만한 자바 벤치마킹, Part 2: 통계와 해법 고성능 하드웨어의 시대라 할지라도, 프로그램 성능은 변함없는 관심사입니다. 두 편의 연재 중 두 번째인 본 문서에서는 벤치마킹 통계를 다루고, 사용자 코드 내에 벤치마크 코드를 포함하는(self-contained) 마이크로벤치마크부터 외부에서 전체 애플리케이션을 호출하는 코드에 이르기까지 다양한 자바 코드를 벤치마크할 수 있도록 프레임워크를 제공합니다. |
|
|
|
2008년 8월 19일 (화) |
|
| |
사람을 위한 자동화: 전자동 문서화 프로젝트 문서화는 소프트웨어 제품을 내놓을 때 종종 필요악이 됩니다. 하지만 문서를 버튼 클릭 한 번으로 작성할 수 있다고 상상해 보세요. 사람을 위한 자동화 연재에서, 자동화 전문가 Paul Duvall은 오픈 소스 도구를 이용해 어떻게 UML(Unified Modeling Language), 빌드 다이어그램, ERD(Entity-relationship diagram), 그리고 심지어 사용자 문서까지 생성할 수 있는지 설명합니다. |
|
|
|
2008년 8월 12일 (화) |
|
| |
영속성 패턴, Part 1: 현대적인 ORM 도구의 전략과 모범 사례 많은 개발자가 애플리케이션의 영속성 티어에서 객체 관계형 매핑(ORM) 도구를 사용하지만, 일부 개발자는 ORM을 어떻게 사용해야 하는지 혼란스러워 해서 불필요한 코드 중복을 만들기도 합니다. 필자는 영속성 티어를 많이 구축해본 경험을 바탕으로 영속성 패턴에 대한 이해와 모범 사례를 확실하게 제시합니다. 2부로 구성된 연재 중 1부인 이번 글에서는 일관성 있고, 간결한 도메인 모델과 영속성 티어를 구축하는 기본을 다룹니다. 2부에서는 이번 글에서 다룬 개념을 구축하고, 확장해 봅니다. |
|
|
|
2008년 8월 5일 (화) |
|
| |
믿을 만한 자바 벤치마킹, Part 1: 다양한 이슈 고성능 하드웨어의 시대에서조차 프로그램 성능을 고려하지 않을 수 없습니다. 두 편의 연재 중 첫 편을 다루는 본 문서에서는 자바 코드 벤치마킹과 관련된 여러 함정을 소개합니다. 2편에서는 벤치마킹 관련 통계를 다루고 자바 벤치마킹을 위한 프레임워크를 제시할 예정입니다. 거의 대부분의 새 언어는 가상 기계 기반이므로, 본 연재가 다루는 일반적인 원칙은 프로그래밍 커뮤니티 전반에도 중요한 시사점을 제공합니다. |
|
|
|
2008년 7월 29일 (화) |
|
| |
데이터 웹 서비스를 사용하는 pureXML을 위한 유니버설 서비스 유니버설 서비스를 구성, 테스트, 수정하는 방법을 소개합니다. |
|
|
|
2008년 7월 15일 (화) |
|
| |
사람을 위한 자동화: Ivy로 의존성 관리하기 여러 프로젝트와 도구 사이의 소스 코드 의존성들을 관리하는 것이 보통 큰 짐이 되기 마련인데, 더 이상 그럴 필요가 없습니다. 이번 사람을 위한 자동화 연재에서 자동화 전문가 Paul Duvall은 아파치 앤트(Ant) 프로젝트의 아이비(Ivy) 의존성 관리자를 사용하여 보통의 자바 프로젝트가 관리해야만 하는 무수히 많은 의존성을 어떻게 다룰 수 있는지 살펴볼 것입니다. |
|
|
|
2008년 7월 15일 (화) |
|
| |
Grails 마스터하기: Ajax를 가미한 다 대 다 관계 다 대 다(m:m) 관계는 웹 애플리케이션에서 신중하게 다뤄야 합니다. Grails 마스터하기의 이번 회에서 Scott Davis는 어떻게 하면 Grails로 성공적인 다 대 다 관계를 구현할 수 있는지 보여줍니다. GORM(Grails Object Relational Mapping) API와 백엔드 데이터베이스를 다루는 방법도 함께 살펴보겠습니다. 또한 Ajax(Asynchronous JavaScript + XML)를 일부 사용해 사용자 인터페이스를 효율적으로 개선하는 방법도 함께 알아보려 합니다. |
|
|
|
2008년 7월 1일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 특성(trait)과 동작(behavior) 스칼라는 단순히 JVM에서 함수적 개념을 사용할 수 있게 해 주는 것뿐만 아니라 객체 지향 언어 설계에 대해서도 현대적인 시각을 제시합니다. 바쁜 자바 프로그래머를 위한 스칼라 입문의 이번 글에서는 스칼라에서 특성(trait)을 이용해 어떻게 객체를 더 간단하고 쉽게 만들 수 있는지를 살펴봅니다. 앞으로 알게 되겠지만 특성은 자바 인터페이스와 C++의 다중 상속이라는 기존의 대조되는 개념과 비슷한 면도 있고 다른 면도 있습니다. |
|
|
|
2008년 6월 24일 (화) |
|
| |
사람을 위한 자동화: 전혀 귀찮지 않은 로드 테스팅 로드 테스팅은 보통 개발 주기 후반부 활동으로 취급됩니다. 하지만 실제로는 그럴 필요가 없습니다. 사람을 위한 자동화 연재의 이번 회에서는, 자동화 전문가 Paul Duvall이 주기적으로 JMeter 테스트를 실행하는 통합 빌드 작성을 통해 개발 주기를 통해 문제를 발견하고 고치는 방법을 설명할 것입니다. |
|
|
|
2008년 6월 17일 (화) |
|
| |
자바 이론과 실습: 포크 찌르기, Part 2 자바 7의 java.util.concurrent 패키지에 포크-조인 스타일의 병렬 분할을 돕는 프레임워크가 포함될 예정입니다. 저자인 Brian Goetz는 본 연재의 1편에서 여러 알고리즘을 분할하여 하드웨어 병렬을 효과적으로 활용하는 자연스러운 메커니즘으로 포크-조인의 원리를 소개했습니다. 이번에는 ParallelArray 클래스를 다룹니다. 이 클래스는 메모리 상의 자료 구조를 대상으로 한 병렬 정렬과 검색 작업을 단순화합니다. |
|
|
|
2008년 6월 10일 (화) |
|
| |
자바 이론과 실습: 포크 찌르기, Part 1 자바 7에는 java.util.concurrent 패키지에 포크-조인 스타일의 병렬 작업 분할을 돕는 프레임워크가 포함될 예정입니다. 이 추상화된 포크-조인 프레임워크는 하드웨어 병렬 기능을 효과적으로 활용하여, 알고리즘을 자연스럽게 분해하는 메커니즘입니다. |
|
|
|
2008년 6월 3일 (화) |
|
| |
WebSphere Service Registry and Repository V6.1로 비즈니스 모델 템플릿 만들기 (영문) 기업에 특화된 새 비즈니스 모델을 IBM WebSphere Service Registry and Repository로 만들어 자신의 비즈니스 구상을 나타내고 그것을 다른 구상과 관련지을 수 있습니다. WebSphere Service Registry and Repository의 거버넌스 기능을 이용해 이 모델들을 관리할 수 있습니다. 기본 비즈니스 모델은 WebSphere Service Registry and Repository로 표현한 것을 보여줍니다. 그런데 자신만의 모델은 어떻게 만들 수 있을까요? 이 글에서는 WebSphere Service Registry and Repository V6.1로 새 비즈니스 모델을 만들고 로드하고 업데이트하고 사용하는 방법을 설명합니다.
|
|
|
|
2008년 6월 3일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 루프 때문에 당황하지 말자! 스칼라는 자바 플랫폼을 위해 만들어진 언어입니다. 그 때문에 스칼라 문법은 자바 프로그래머가 편하게 느끼도록 설계되었습니다. 동시에 스칼라는 JVM에서 함수 언어 고유의 능력을 활용할 수 있게 해 줍니다. 물론 그런 함수적 개념에 익숙해지는 데는 시간이 걸리지만 말입니다. 바쁜 자바 프로그래머를 위한 스칼라 입문의 이번 글에서는 if, while, for 같은 제어문을 시작으로 자바와 스칼라 간의 미묘한 차이에 대해 소개합니다. 곧 알게 되겠지만 스칼라 제어문은 자바 제어문과 비교해서 더 유용하기도 하지만 복잡하기도 합니다. |
|
|
|
2008년 5월 27일 (화) |
|
| |
CSS와 자바스크립트, JSF를 사용하여 Ajax 애플리케이션 만들기, Part 2: Dynamic JSF 폼 2부로 이루어진 본 연재의 첫 번째 기사에서, 저자이자 자바 개발자인 Andrei Cloroiany는 JSF(JavaServer Faces)에서 스타일 속성을 사용하는 방법을 설명하고 그것들의 속성에 기본값을 적용하는 방법을 보여주었습니다. 이 연재의 두 번째 기사인 본 글에서는 표준 JSF 컴포넌트의 자바스크립트 관련 속성을 살펴보겠습니다. DOM(Document Object Model) API, 자바스크립트 그리고 CSS에 기반을 둔 몇 가지 웹 기술을 배울 것입니다. 웹 페이지를 다시 읽어들이지 않고 부가적인 JSF 컴포넌트를 숨기거나 보이는 방법, 클라이언트의 웹 브라우저에서 동작하는 검증을 구현하는 방법, 개발자들이 커스텀 컴포넌트를 만들어 웹 폼의 입력 요소에 도움말 메시지를 보여주는 방법을 알아볼 것입니다. |
|
|
|
2008년 5월 27일 (화) |
|
| |
XStream으로 자바 객체를 XML로 직렬화하기 XML 직렬화는 객체 퍼시스턴스와 데이터 전송을 포함한 무수히 많은 쓰임새가 있습니다. 그러나 일부 XML 직렬화 기술은 구현하기 어렵습니다. XStream은 자바 객체를 XML로 직렬화하거나 그 반대로 역직렬화할 수 있는 가볍고 사용하기 쉬운 오픈 소스 자바 라이브러리입니다. XStream을 설정하고, 이를 이용해 객체를 직렬화하고 역직렬화하는 방법을 배웁니다. 또한 설정 속성들을 XML 설정 파일에서 읽어오는 방법도 알아봅니다. |
|
|
|
2008년 5월 20일 (화) |
|
| |
Grails 마스터하기: Groovy Server Pages로 뷰 변경하기 Groovy Server Pages(GSP)는 Grails 웹 프레임워크에서 웹 페이지 부분을 담당합니다 Grails 마스터하기의 세 번째인 이번 회에서 Scott Davis는 GSP에 대해 자세하게 설명합니다. Grails TabLibs를 사용하고, GSP와 부분 코드 조각을 함께 섞어 사용하면서, (스캐폴딩으로) 자동으로 생성되는 뷰에 기본 템플릿을 커스터마이징하는 게 얼마나 쉬운지 살펴볼 것입니다. |
|
|
|
2008년 5월 6일 (화) |
|
| |
이클립스 플러그인이 OSGi에서 어떻게 동작하는지 이해하기 이클립스 통합 개발 환경(IDE)의 핵심과 이클립스 리치 클라이언트 플랫폼(RCP) 애플리케이션은 OSGi(Open Services Gateway Initiative) 명세서의 구현체에 의해 주도되었습니다. 본 기사는 이클립스 플랫폼 입장에서 바라본 플러그인이 무엇인지 살펴보는 것을 통해 이클립스와 OSGi의 관계를 살펴보고 이클립스 V2.1부터 오늘날의 OSGi 기반 구현체가 되기까지 플러그인의 진화 과정을 살펴보겠습니다. 또한, 이클립스와 함께 제공되는 부가기능과 함께, OSGi manifest.mf 파일 옵션을 설명하겠습니다. |
|
|
|
2008년 4월 29일 (화) |
|
| |
javax.tools를 이용한 동적 애플리케이션 생성 GUI에서 사용자가 임의의 계산식을 입력할 수 있는 애플리케이션처럼, 오늘날 많은 애플리케이션은 정적 기능 이상의 동적 기능을 요구합니다. javax.tools 패키지가 자바 소스 컴파일을 위한 표준 API로 자바 SE 6에 포함되었습니다. 이는 동적 기능 제공을 위한 제법 괜찮은 도구입니다. 이 글에서는 이 패키지의 주요 클래스를 소개하고, 파일 대신 자바 String에 저장된 자바 소스를 컴파일하기 위한 라이브러리를 작성하는 방법을 제시합니다. 끝으로, 이 라이브러리를 활용해 대화형 그래프 애플리케이션을 구현해 봅니다. |
|
|
|
2008년 4월 29일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 클래스 동작 자바 프로그래머가 스칼라를 이해하기 위해서는 우선 객체부터 쳐다보는 것이 자연스럽습니다. 이 연재의 두 번째인 이번 글에서는 언어의 효용은 새로운 기능을 통합할 수 있는 능력으로 평가할 수 있다는 언어 평가의 기본 전제를 따라 복소수(complex number) 지원 예를 살펴 봅니다. 그 과정에서 스칼라의 클래스 정의와 사용에 관한 흥미로운 사실들을 알게 될 것입니다. |
|
|
|
2008년 4월 22일 (화) |
|
| |
IBM Directory Server로 웹 애플리케이션에서 프록시 인증(가장) 활용하기 기업 전체의 전화와 메일 디렉토리 같은 LDAP 서비스에 접근하는 게이트웨이를 제공하는 웹 애플리케이션은 주로 LDAP “수퍼유저(superuser)” 계정을 사용해 인증이 이뤄지도록 디자인됩니다. 그 결과 사용자는 자신의 LDAP 권한 대신 더 높은 권한을 가진 계정을 통해 디렉토리를 읽고 업데이트합니다. IBM® Tivoli® Directory Server는 프로그래머가 특정 계정을 사용해 자신을 인증하는 애플리케이션을 작성하고 실제 유저 대신 운영하는 ‘프록시된 인증(RFC 4370)’이라는 강력한 기능을 제공해 LDAP 서버의 모든 권한 강화를 위할 수 있습니다. |
|
|
|
2008년 4월 15일 (화) |
|
| |
바쁜 자바 프로그래머를 위한 스칼라 입문: 객체 지향론자를 위한 함수 프로그래밍
자바 플랫폼은 전통적으로 객체 지향 프로그래밍의 영향권이었습니다. 하지만 최근에는 충실한 자바 언어
지지자조차도 애플리케이션 개발에 있어 가장 최근의 복고 추세인 함수 프로그래밍에 관심을 가지기 시작했습니다.
이번에 시작하는 연재에서는 함수와 객체 지향 기법을 혼합한 JVM을 위한 프로그래밍 언어인 스칼라를
소개합니다. 언어 소개와 함께 동시성(concurrency) 등 굳이 스칼라를 배워야 하는 이유를 설명하고,
스칼라를 얼마나 빨리 써먹을 수 있는지를 살펴봅니다.
|
|
|
|
2008년 4월 15일 (화) |
|
| |
새로운 IBM pureQuery를 사용해 자바 데이터베이스 개발의 생산성 높이기, Part 4:: Informix 데이터베이스용 Data Studio와 pureQuery 살펴보기 (한글) Informix 데이터베이스를 사용해 Data Studio와 pureQuery에 대해 완벽히 살펴볼 것입니다. Data Studio에서 데이터베이스를 사용해 애플리케이션을 빌드하는 것에 대해 알고 싶던 모든 것을 배워보겠습니다. |
|
|
|
2008년 4월 8일 (화) |
|
| |
Ropes: 이론과 실제 (한글) 자바의 String과 StringBuilder 클래스는 많은 문자열 데이터를 처리해야 하는 시스템에는 그다지 적합하지 않습니다. 이 경우 로프(rope) 자료 구조가 더 나은 대안이 될 수 있습니다. 이 글에서는 자바 플랫폼을 위한 로프 구현인 Ropes for Java를 소개하고, 성능 관련 이슈를 살펴 봅니다. 또, 해당 라이브러리를 효과적으로 사용하기 위한 지침을 제시합니다. |
|
|
|
2008년 4월 8일 (화) |
|
| |
Grails 마스터하기: GORM: 재미있는 이름, 진지한 기술 (한글) 좋은 웹 프레임워크에는 대부분 견고한 영속화(persistence) 전략이 필요합니다. Scott Davis의 Grails 마스터하기 연재 2회에서는 Grails 객체 관계 매핑(GORM: Grails Object Relational Mapping) API를 살펴봅니다. 어떤 방법으로 테이블 간 연관을 만들고, 데이터 유효성 검증을 강제하며(enforce), 관계형 데이터베이스를 변경하는 작업을 쉽게 해내는지 알아보겠습니다. |
|
|
|
2008년 4월 1일 (화) |
|
| |
코드 품질 향상을 위해: 행위 주도 개발의 모험 (한글) 테스트 주도 개발(TDD)은 실제로 위대한 생각이었지만, 몇몇 개발자는 단지 '테스트'라는 단어가 주는 개념적 도약을 극복하지 못했습니다. 이 기사에서 Andrew Glover는 TDD의 위력을 프로그래밍 실천 속에 자연스럽게 녹아들게 하는 방법을 보여줍니다. JBehave를 통해 행위 주도 개발을 시작하면서, 프로그램의 결과물이 아닌 행위에 주목할 때 일어나는 일에 대해 살펴보세요. |
|
|
|
2008년 3월 25일 (화) |
|
| |
JSF, CSS, 자바스크립트를 사용하는 정교한 Ajax 애플리케이션 Part 1: JSF 페이지 외관 개선하기 전형적인 웹 애플리케이션들은 CSS(Cascading Style Sheet)와 자바스크립트를 JSF(JavaServer Faces) 같은 서버 쪽 프레임워크와 함께 사용해야 합니다. CSS는 Ajax 또는 다른 애플리케이션에서 사용하는 웹 컴포넌트의 외관 특성을 변경하여 보기 좋고 눈에 띄도록 보여줄 수 있습니다. 2회로 구성된 이 기사의 Part 1에서는, 표준 JSF 컴포넌트에서 CSS와 관련된 속성을 살펴볼 것입니다. 그 외에 안에 들어 있는 컴포넌트의 기본 스타일을 정하는 커스텀 JSF 컴포넌트를 만드는 방법에 대해 알아보겠습니다. 이것을 배우면 웹 애플리케이션에 있는 모든 페이지가 일관되게 보이도록 설정하는 것이 매우 간편해질 것입니다. 이 기술을 사용해 다른 컴포넌트의 속성을 설정할 수도 있습니다. 이것에 관해서는 Part 2에서 다룰 것이고, 거기에서는 자바스크립트를 사용해 JSF 폼을 동적으로 만드는 방법을 보여줄 것입니다. |
|
|
|
2008년 3월 25일 (화) |
|
| |
J2EE 커넥터 아키텍처 소개 (한글) 이번 튜토리얼에서는 JCA(Java 2 Enterprise Edition Connector Architecture)를 살펴봅니다. JCA를 먼저 높은 수준에서 살펴보는 것을 시작으로, 엔터프라이즈급 시스템과 어떻게 통합되어, 아키텍처의 기본 요소로 작동되는지를 공부함으로써 J2EE 아키텍처에서 JCA의 역할을 살펴볼 것입니다. 이어지는 절에서는 각 요소에 대해 단계별 설명과 예제를 곁들여 좀 더 자세히 알아보겠습니다. JCA와 호환되며(JCA-compliant), 이용 가능한 시스템의 각 부분이 어떻게 함께 연동되는지 볼 수 있는 예제 애플리케이션을 살펴 봄으로써 마무리하겠습니다. |
|
|
|
2008년 3월 18일 (화) |
|
| |
Grails 마스터하기: 첫 번째 Grails 애플리케이션 구축하기 (한글) 자바 프로그래머는 최신 웹 개발 프레임워크에 적응하는 데 자신들이 가장 좋아하는 언어와 기존 개발 기반을 포기할 필요가 없습니다. 자바 전문가인 Scott Davis의 새로운 연재인 Mastering Grails의 1회에서는 Grails를 소개하고, 첫 Grails 애플리케이션을 구축하는 방법을 설명하겠습니다. |
|
|
|
2008년 3월 18일 (화) |
|
| |
자바 SE 6의 성능 모니터링 및 진단 (한글) 자바 SE 6(Java Platform, Standard Edition 6)은 성능에 초점을 맞춰 응용 프로그램을 모니터링, 감시하고 공통적인 문제를 진단하기 위해 확장된 도구들을 제공합니다. 이 기사에서는 자바 SE 플랫폼의 모니터링과 관리에 대한 기본적인 사항들을 소개하고, 자바 SE 6에서 보강된 사항들에 대한 상세한 정보를 제공합니다. |
|
|
|
2008년 3월 11일 (화) |
|
| |
Geronimo의 배신: GlassFish JSTL 1.2와 Apache Geronimo 2.0 통합 패키지 사용하기 (한글) 아파치 제로니모(Apache Geronimo) 팀은 새로운 자바 EE(Java™ Platform, Enterprise Edition) 5.0 스펙을 성공적으로 구현했습니다. 자바 EE 5에는 주목할 만한 기능이 많이 있지만 그 중 하나가 새로운 자바 표준 태그 라이브러리(Java Standard Tag Library, JSTL) 1.2 스펙입니다. JSTL 1.2의 핵심인 통합 표현식 언어 덕분에, JSTL의 기능들을 JSF(JavaServer Faces)와 함께 쓸 수 있게 되었습니다. 이 기사에서는, 자바 웹 기술의 역사를 통해 JSTL 1.2의 중요성을 알아보고, 또한 제로니모 팀이 JSTL 1.2를 지원하기 위해 글래스피시(GlassFish) JSTL 1.2 구현에 어떤 영향을 주었는지를 알아봅니다. |
|
|
|
2008년 3월 11일 (화) |
|
| |
이클립스를 사용해 아이폰 웹 애플리케이션 개발하기 (한글) 이클립스, Aptana의 플러그인 그리고 iUi 프레임워크를 사용해 아이폰 웹 사이트를 만드는 방법을 배웁니다. 아이폰에서 사용할 수 있는 Javadoc 뷰어 개발 과정을 통해 사용자 인터페이스 디자인를 위한 팁을 살펴보고 아이폰 개발의 미래에 들어보겠습니다. |
|
|
|
2008년 3월 4일 (화) |
|
| |
Java EE가 Web 2.0을 만났을 때! (한글) 표준 Java Platform, Enterprise Edition 5 (Java EE)-기반 방식으로 개발된 Web 2.0 애플리케이션들은 심각한 성능 및 확장성 문제에 직면해 있습니다. 이유는, Java EE 플랫폼의 디자인-특히, 동기식 API의 사용-을 지탱하고 있는 많은 원리들이 Web 2.0 솔루션의 요구 사항에 맞지 않기 때문입니다. 이 글에서는 Java EE와 Web 2.0 방식 간 차이에 대해 설명하고, 비동기식 디자인의 효과를 분석하며, 자바 플랫폼에 비동기식 웹 애플리케이션을 개발할 수 있는 몇 가지 솔루션을 평가해 봅니다. |
|
|
|
2008년 2월 26일 (화) |
|
| |
새로운 IBM pureQuery 툴을 사용하여 자바 데이터베이스 개발의 생산성 높이기, Part 3: pureQuery로 신속한 애플리케이션 개발 (한글) IBM pureQuery 플랫폼과 이클립스 도구를 사용하면 JDBC보다 코드 작성을 덜 하고도 간단하면서도 고성능의 데이터 액세스 레이어와 애플리케이션을 신속하게 만들 수 있으며 다른 어느 이클립스 기반 도구보다 더 높은 생산성을 얻을 수 있습니다. |
|
|
|
2008년 2월 19일 (화) |
|
| |
새로운 IBM pureQuery 툴을 사용하여 자바 데이터베이스 개발의 생산성 높이기, Part 3: pureQuery로 신속한 애플리케이션 개발 (한글) IBM pureQuery 플랫폼과 이클립스 도구를 사용하면 JDBC보다 코드 작성을 덜 하고도 간단하면서도 고성능의 데이터 액세스 레이어와 애플리케이션을 신속하게 만들 수 있으며 다른 어느 이클립스 기반 도구보다 더 높은 생산성을 얻을 수 있습니다. |
|
|
|
2008년 2월 19일 (화) |
|
| |
REST 서비스 작성하기 본 튜토리얼은 REST(Representation State Transfer)와 APP(Atom Publishing Protocol)의 개념에 대해 토론하고 서비스에 이것들을 적용하는 방법을 다룹니다. 또한 자바 기술을 사용하여 REST/APP 기반 서비스를 구현하는 방법도 살펴봅니다. |
|
|
|
2008년 2월 4일 (월) |
|
| |
사람을 위한 자동화: 자동화를 통한 신속한 전개 (한글) 자동화는 개발 팀만을 위한 것이 아니라, 소프트웨어를 개발에서 제품화 하는 데에도 적용할 수 있습니다. 이번 시간에는, 자동화 전문가 Paul Duvall이 Ant와 Java Secure Channel을 사용하여 여러 대상 환경에 소프트웨어를 원격에서 전개하는 방법을 설명합니다. |
|
|
|
2008년 2월 4일 (월) |
|
| |
새로운 IBM pureQuery 툴을 사용하여 자바 데이터베이스 개발의 생산성 높이기, Part 2: 자바 프로그램의 SQL 문제 탐지 및 수정하기 (한글) IBM pureQuery 기술과 툴을 사용하여, 자바 프로그램 내에서 SQL을 코딩 할 때 생기는 다양한 문제들을 탐지합니다. 제품 개발과 전개 사이클 동안 다양한 시나리오에서 데이터베이스 애플리케이션의 개발 생산성을 높이고, SQL 밸리데이션을 여러분의 필요에 맞게 개인화 합니다. |
|
|
|
2008년 2월 4일 (월) |
|
| |
XMLBeans에서 이벤트 받기 Eclipse에 Sudoku 게임 애플리케이션을 구현하고, eventing으로 사용자 인풋의 유효성을 검사하는 방법을 배워봅시다. |
|
|
|
2008년 2월 4일 (월) |
|
| |
이클립스 유로파로 웹 개발하기, Part 2: 이클립스를 위한 Java EE (한글) 웹 개발자가 어떤 기술을 결합하여 사용하는지에 상관없이 이클립스는 생산성을 높일 수 있는 최고의 통합 개발 환경(IDE)입니다. 3회 연재인 "이클립스 유로파로 웹 개발하기" Part 1에서 최신 이클립스 유로파로 자바 웹 애플리케이션을 신속하게 개발할 수 있는 방법을 다뤘습니다. Part 2에서는 PDT(PHP Development Toolkit)라 알려진 이클립스 플러그인의 다른 세트를 사용하여 얼마나 쉽게 PHP 애플리케이션을 개발할 수 있는지를 살펴보겠습니다. |
|
|
|
2008년 1월 29일 (화) |
|
| |
이클립스 유로파로 웹 개발하기, Part 2: PHP 개발 도구 (한글) 웹 개발자가 어떤 기술을 결합하여 사용하는지에 상관없이 이클립스는 생산성을 높일 수 있는 최고의 통합 개발 환경(IDE)입니다. 3회 연재인 "이클립스 유로파로 웹 개발하기" Part 1에서 최신 이클립스 유로파로 자바 웹 애플리케이션을 신속하게 개발할 수 있는 방법을 다뤘습니다. Part 2에서는 PDT(PHP Development Toolkit)라 알려진 이클립스 플러그인의 다른 세트를 사용하여 얼마나 쉽게 PHP 애플리케이션을 개발할 수 있는지를 살펴보겠습니다. |
|
|
|
2008년 1월 29일 (화) |
|
| |
새로운 IBM pureQuery 툴을 사용하여 자바 데이터베이스 개발의 생산성 높이기, Part 1: pureQuery 툴 개요 (한글) 자바 개발자를 지망하거나, 현재 자바 개발자라면 이 글이 도움이 될 것입니다. IBM pureQuery 툴로 SQL을 이용한 자바 프로그래밍의 생산성이 그 어느 때보다도 높아졌습니다. 자바 에디터에서 SQL과 자바 애플리케이션을 코딩하고, 동등한 생산성을 경험할 수 있습니다. 자바 에디터를 떠나지 않고, 에러가 없는 자바 애플리케이션과 SQL을 구현합니다. JDBC보다 훨씬 적은 코드로 간단한 데이터 액세스 레이어를 생성합니다. 정적인 SQL을 사용하여 애플리케이션 성능을 높이고, SQL을 사용하여 데이터베이스와 인-메모리(in-memory) 컬렉션에 액세스 합니다. |
|
|
|
2008년 1월 29일 (화) |
|
| |
pureQuery 이해하기, Part 2: 데이터 모델링으로 클래스 모델러 보조하기 pureQuery의 기능인 전통적인 클래스 모델링을 사용하여 데이터베이스 관계형 생성물들을 정의하는데 도움이 될 수 있습니다. |
|
|
|
2008년 1월 29일 (화) |
|
| |
지속적 통합으로 조기에 결함 발견하기 (한글) 지속적 통합(Continuous Integration, 이하 CI)이란 지속적으로 소스코드를 컴파일, 테스트, 검사, 배치하는 처리과정을 말합니다. 많은 CI 환경에서 이는 소스코드 관리 저장소에 변경 사항이 생기면 빌드가 새로 실행됨을 의미합니다. CI의 장점은 간단합니다. 비교적 관리하기 쉬울 때 소프트웨어를 어셈블해 보면 결함을 조기해 발견할 가능성이 매우 높아집니다. 본 튜토리얼은 Andrew Glover의 In pursuit of code quality 연재와 더불어 CI의 기초를 소개하고 최신 오픈 소스 기술을 사용하여 CI 처리과정을 설정하는 방법을 단계별로 설명합니다. |
|
|
|
2008년 1월 22일 (화) |
|
| |
jpa2web으로 Ajax J2EE 웹 애플리케이션 구현하기 J2EE Ajax 기반 웹 애플리케이션을 JPA-주석 빈에서부터 생성하는 새로운 오픈 소스 툴인 jpa2web을 배워봅시다. |
|
|
|
2008년 1월 22일 (화) |
|
| |
Acegi로 자바 애플리케이션 보안화 하기, Part 3: 자바 객체를 위한 액세스 컨트롤 (한글) Bilal Siddiqui는 자바 클래스의 인스턴스에 대한 액세스를 보안화 하는 방법을 통해 Acegi Security System을 세 편에 걸쳐 소개합니다. 자바 클래스로의 액세스를 보안화 해야 하는 이유, Spring이 자바 클래스의 인스턴스를 생성 및 보안화 하는 방식, 자바 애플리케이션에 클래스 보안을 추가하기 위해 Acegi를 설정하는 방법을 설명합니다. |
|
|
|
2008년 1월 22일 (화) |
|
| |
이클립스 유로파로 웹 개발하기, Part 1: 이클립스를 위한 Java EE (한글) 웹 개발자가 각광받는 시기입니다. 지금만큼 기술에 대한 선택 폭이 넓었던 적이 없었습니다. 굉장히 훌륭한 오픈 소스 웹 서버, 데이터베이스, 프로그래밍 언어, 개발 프레임워크가 많습니다. 어떤 기술 결합을 선호하든 생산성을 높일 수 있는 통합 개발 환경(IDE)이 있습니다. 이클립스(Eclipse)가 그 중 하나입니다. 자바 기술, PHP, 루비(Ruby)를 사용하여 웹 개발을 할 때 이클립스를 사용하는 방법에 관한 3부로 이뤄진 본 "이클립스 유로파(Europa)로 웹 개발하기" 연재의 1회에서는 이클립스의 최신 버전인 유로파를 통해 신속하게 자바 웹 애플리케이션을 개발하는 방법을 배웁니다. 여기서는 이클립스를 위한 Java EE 5를 사용하여 야구 통계를 추적하고 계산하는 웹 애플리케이션을 만들겠습니다. |
|
|
|
2008년 1월 15일 (화) |
|
| |
이클립스 유로파로 웹 개발하기, Part 1: 이클립스를 위한 Java EE (한글) 웹 개발자가 각광받는 시기다. 지금만큼 기술에 대한 선택 폭이 넓었던 적이 없다. 굉장히 훌륭한 오픈 소스 웹 서버, 데이터베이스, 프로그래밍 언어, 개발 프레임워크가 많다. 어떤 기술 결합을 선호하든 생산성을 높일 수 있는 통합 개발 환경(IDE)이 있다. 이클립스(Eclipse)가 그 중 하나다. 자바 기술, PHP, 루비(Ruby)를 사용하여 웹 개발을 할 때 이클립스를 사용하는 방법에 관한 3부로 이뤄진 본 "이클립스 유로파(Europa)로 웹 개발하기" 연재의 1회에서는 이클립스의 최신 버전인 유로파를 통해 신속하게 자바 웹 애플리케이션을 개발하는 방법을 배울 수 있을 것이다. 여기서는 이클립스를 위한 Java EE 5를 사용하여 야구 통계를 추적하고 계산하는 웹 애플리케이션을 만들 것이다. |
|
|
|
2008년 1월 15일 (화) |
|
| |
Acegi로 자바 애플리케이션 보안화 하기, Part 2: LDAP 디렉토리 서버 사용하기 (한글) Part 1을 기반으로, Acegi Security System의 고급 사용법을 배울 차례가 되었습니다. 이 글에서, Bilal Siddiqui는 유연한 고성능 자바 애플리케이션 보안을 위해 Acegi와 LDAP 디렉토리 서버를 결합하는 방법을 설명합니다. 액세스 컨트롤 정책을 작성하고, 이것을 ApacheDS에 저장하고 나서, 인증과 권한에 디렉토리 서버와 인터랙팅 하도록 Acegi를 설정하는 방법을 설명합니다. |
|
|
|
2008년 1월 15일 (화) |
|
| |
SSL on ISC, Part 1: SSL은 무엇이며, 왜 이것을 사용해야 하는가? (한글) 암호화, 인증서 기반 인증, 보안 협상을 제공하는 Secure Sockets Layer (SSL)를 사용하여 오픈 통신 채널에서 데이터 보안을 이룩해 봅시다. 본 시리즈 Part 1에서는 SSL을 설명하고, Integrated Solutions Console에 이를 구현해야 하는 이유를 설명합니다. 나머지 Part 2와 Part 3에서는, Integrated Solutions Console Versions 5.1과 Versions 6.0.1에 각각 SSL을 구현하는 방법을 설명합니다. |
|
|
|
2008년 1월 8일 (화) |
|
| |
AjaxTags로 Ajax 개발을 쉽게 (한글) 개발자와 사용자는 Web 2.0 시대에 웹 기반 애플리케이션의 가용성과 반응성에 대한 높은 기대를 갖고 있습니다. 지난 2년 동안 은둔 생활을 하지 않았다면 Asynchronous JavaScript + XML(Ajax)에 대해 들어보았을 것입니다. Ajax를 사용하여 브라우저 페이지의 재 로드 없이, 반응성 있고 동적인 브라우저 기반의 사용자 인터페이스를 구현할 수 있습니다. 이 글에서는 AjaxTags를 설명합니다. Java/JavaScript Library는 Ajax 기능을 JSP 페이지로 쉽게 통합할 수 있도록 해줍니다. |
|
|
|
2008년 1월 8일 (화) |
|
| |
바쁜 자바 개발자를 위한 db4o 가이드: 트랜잭션, 분산, 보안 db4o가 자바 엔터프라이즈 개발과 관련된 세 가지 문제점(트랜잭션, 분산된 데이터 관리, 웹 애플리케이션 보안)을 어떻게 다루는지를 설명합니다. |
|
|
|
2008년 1월 8일 (화) |
|
| |
사람을 위한 자동화: Continuous Integration 반패턴(anti-pattern) Continuous Integration (CI)가 프로젝트의 위험 요소를 줄이는 데는 매우 효과적이지만, 매일 매일의 코딩에 대해서는 큰 중요성을 두고 있습니다. 사람을 위한 자동화 시리즈에서는, 자동화 전문가이자, Continuous Integration: Improving Software Quality and Reducing Risk 의 공동 저자인 Paul Duvall이 CI 반패턴(anti-pattern)을 설명하고, 이를 피하는 방법을 설명합니다. |
|
|
|
2008년 1월 8일 (화) |
|
| |
Mylyn 2.0, Part 2: 자동화 된 콘텍스트 관리 (한글) Mylyn 2.0 릴리스 (전 Mylar)는 태스크들을 Eclipse로 완벽하게 통합함으로써 생산성을 강화했고, 이러한 태스크들의 콘텍스트를 자동으로 관리합니다. Mylyn 프로젝트 리더인 Mik Kersten은 Mylyn 사용 가이드를 업데이트 했습니다. Part 1에서는 Mylyn의 태스크 관리 장치와 Bugzilla 같은 저장소와의 통합을 설명했습니다. 두 번째 글에서는 Mylyn의 콘텍스트 관리 장치로 멀티 태스킹이 얼마나 쉬워지고, Eclipse에서 대규모 애플리케이션 작업을 할 때 정보 오버로드를 어떻게 줄이는지를 설명합니다. |
|
|
|
2007년 12월 31일 (월) |
|
| |
Graphical Editing Framework을 사용하여 Eclipse 기반 애플리케이션 생성하기 (한글) Graphical Editing Framework (GEF)를 사용하여 Eclipse 기반 애플리케이션을 구현하는 초기 단계를 설명합니다. GEF는 상태 다이어그램, 액티비티 다이어그램, 클래스 다이어그램, AWT용 GUI 빌더, Swing과 SWT, 프로세스 플로우 에디터를 포함하여, Eclipse용 다양한 애플리케이션을 구현하는데 사용되었습니다. Eclipse와 GEF는 모두 오픈 소스 기술입니다. 또한 IBM WebSphere Studio Workbench에도 포함되어 있습니다. |
|
|
|
2007년 12월 31일 (월) |
|
| |
로봇, 미로, subsumption 아키텍처 Simbad를 사용하여 빛 감지 및 미로 탐색 기능의 가상 로봇을 자바로 구현하여 subsumption 아키텍처의 로봇 디자인 개념을 실현합니다. |
|
|
|
2007년 12월 11일 (화) |
|
| |
Eclipse Platform에서의 C/C++ 개발 C/C++ 개발 프로젝트에서 Eclipse Platform을 사용하는 방법을 설명합니다. Eclipse는 주로 자바 개발 환경이지만, 다른 프로그래밍 언어들도 지원합니다. 이 글에서, Eclipse에 사용할 수 있는 최상의 C/C++ 툴킷인 C/C++ Development Toolkit (CDT)을 사용하는 방법을 설명합니다. |
|
|
|
2007년 12월 11일 (화) |
|
| |
JAX-WS 2.0 웹 서비스 설계와 개발 (한글) JAX-WS(Java API for XML Web Services)를 사용하여 웹 서비스를 설계하고 개발하면 많은 이점을 얻을 수 있습니다. 자바를 사용한 웹 서비스와 웹 서비스 클라이언트의 구조를 간소화할 수 있으며, 웹 서비스 개발과 배치가 간편하며, 웹 서비스 개발을 가속할 수 있습니다. 본 튜토리얼에서는 이 모든 장점을 어떻게 얻을 수 있는지 설명하고 웹 서비스로 주문 처리 기능을 제공하는 간단한 애플리케이션 샘플을 개발하겠습니다. 본 튜토리얼에 대한 학습을 마친 뒤에는, 웹 서비스 개발에 대한 새로운 지식과 개념을 JAX-WS 기술을 사용한 애플리케이션 개발에 적용할 수 있을 것입니다. |
|
|
|
2007년 12월 4일 (화) |
|
| |
Mylyn 2.0, Part 1: 통합된 태스크 관리 (한글) 최근 출시된 Mylyn 2.0 버전 (전 Mylar)은 태스크들을 Eclipse로 완벽하게 통합하고, 그러한 태스크들의 콘텍스트(context)을 자동으로 관리함으로써 생산성을 향상시킵니다. Mylyn 프로젝트 리더인 Mik Kersten은 Mylyn 1.0 이후 많은 사용자 피드백을 받았고, 이를 두 파트로 된 Mylyn 가이드에 적용하여 업데이트 했습니다. Part 1에서는 Mylyn의 태스크 관리 장치와 Bugzilla, Trac, JIRA 같은 저장소와의 통합에 대해 설명합니다. Part 2에서는 콘텍스트 관리로 멀티 태스킹을 쉽게 하는 방법과, 정보 오버로드를 줄이는 방법을 설명합니다. |
|
|
|
2007년 12월 4일 (화) |
|
| |
XSLT 2.0에서 커스텀 컬레이션(collation) 사용하기 국제화와, 특히 텍스트의 분류와 비교 지원이 강화된 XSLT 2.0을 만나보십시오. |
|
|
|
2007년 12월 4일 (화) |
|
| |
동적인 언어를 동적으로 호출하기, Part 2: 런타임 시 스크립트 찾기, 실행하기, 변경하기 (한글) Java SE 6에 추가된 자바 스크립팅 API와 Java SE 5와의 백워드 호환성으로 인해 수십 개의 스크립팅 언어들이 자바 애플리케이션에서 간단하고 일관된 방식으로 런타임 시 호출될 수 있습니다. 본 시리즈 Part 1에서는 API의 기본 기능을 소개했습니다. Part 2에서는 API의 기능을 더욱 자세히 살펴볼 것이며, Ruby, Groovy, JavaScript로 작성된 외부 스크립트들이 런타임 시 실행 및 변경되어 애플리케이션을 중지하거나 재시작 하지 않고도 어떻게 비즈니스 로직을 변경하는지를 설명합니다. |
|
|
|
2007년 12월 4일 (화) |
|
| |
사람을 위한 자동화: Raven으로 자바 프로젝트 구현하기 (한글) Ant는 명실상부한 자바 플랫폼을 위한 빌드 툴입니다; 하지만, XML에 부족한 보다 표현적인 패러다임을 지원하는 다른 빌드 툴들이 생겨나고 있습니다. 사람을 위한 자동화 시리즈에서는, 자동화 전문가 Paul Duvall이 Ruby를 기반으로 구현된 빌드 플랫폼인 Raven이 빌드 중심의 Domain Specific Language의 단순함과 완벽한 프로그래밍 언어의 힘을 어떻게 활용하는지를 설명합니다. |
|
|
|
2007년 12월 4일 (화) |
|
| |
Castor를 이용한 데이터 바인딩, Part 1: Castor의 설치와 설정 데이터 바인딩 기능을 오픈 소스에 적용해 봅시다. 데이터 바인딩용 Castor를 다운로드, 설치, 구성해 봅시다. |
|
|
|
2007년 11월 20일 (화) |
|
| |
Acegi로 자바 애플리케이션 보안화 하기, Part 1: 아키텍처 개요와 보안 필터 (한글) 세 편으로 구성된 시리즈에서는 자바 엔터프라이즈 애플리케이션을 위한 막강한 오픈 소스 보안 프레임웍인 Acegi Security System을 소개합니다. 첫 번째 글에서는, 컨설턴트 Bilal Siddiqui가 Acegi의 아키텍처와 컴포넌트를 소개하고, 이것을 자바 엔터프라이즈 애플리케이션을 보안화 하는데 사용하는 방법을 설명합니다. |
|
|
|
2007년 11월 13일 (화) |
|
| |
아마존 웹 서비스를 이용한 애플리케이션 쾌속 개발, Part 3: 아마존 심플 큐 서비스 (한글) 아마존 SQS(Simple Queue Service)를 사용하여, 메시지 기반 패러다임을 이용해 통신하는 분산 애플리케이션을 만들 수 있습니다. 휴대전화와 기타 자바 ME(Micro Edition) 장치 들도 간단한 HTTP 요청을 통해 아마존 SQS를 쉽게 사용할 수 있습니다. 이번 튜토리얼은, 아마존 웹 서비스로 애플리케이션을 만드는 것에 관한 연재의 세 번째로, 자바 ME 장치들에서 SQS를 사용하는 방법을 살펴보겠습니다. |
|
|
|
2007년 11월 6일 (화) |
|
| |
pureQuery: 자바 데이터베이스 애플리케이션을 작성하는 IBM의 새로운 패러다임 (한글) pureQuery라는 프로젝트 코드는 데이터베이스 애플리케이션 개발자들에게 쉬운 GUI 기반의 방식을 제공하여 디자인과 구현 단계에서 생산성을 매우 높여줍니다. 데이터의 액세스와 조작을 위해 관계형 데이터를 자바 객체로 자동 변형을 수행합니다. 한편, 이러한 객체들은 일반적인 객체 지향(OO) 프로그래밍 패러다임에서 활용되어 비즈니스 로직과 기반 코드를 작성합니다. pureQuery의 기능은 쿼리 언어를 자바와 통합함으로써 전통적인 JDBC 프로그래밍을 효과적으로 줄여줍니다. |
|
|
|
2007년 10월 30일 (화) |
|
| |
바쁜 자바 개발자를 위한 db4o 가이드: 구조화된 객체와 컬렉션 db4o에서 쿼리를 생성할 때 핵심 기능으로서 상속을 사용하는 것이 얼마나 쉬운 것(효율적)인지를 증명합니다. |
|
|
|
2007년 10월 30일 (화) |
|
| |
자바 진단, IBM 스타일, Part 3: Lock Analyzer for Java로 동기화 및 잠금 문제 진단하기 애플리케이션을 수정하여 잠금 경쟁을 줄이고, IBM Lock Analyzer for Java로 성능을 높일 수 있습니다. |
|
|
|
2007년 10월 23일 (화) |
|
| |
이클립스 테스트와 성능 개선 도구 플랫폼, Part 3: 애플리케이션 테스트 (한글) 이클립스 테스트와 성능 개선 도구 플랫폼 튜토리얼 연재의 이번 회에서는 웹 애플리케이션의 반응 시간(response time) 측정을 위해 이클립스 TPTP(Eclipse Test and Performance Tools Platform)의 테스팅 기능을 어떻게 사용하는지 배웁니다. 그리고 나서 개선된 JUnit 테스트를 만들고 관리하는 법과 컴퓨터가 유도하는 수동 테스팅을 만드는 법을 배웁니다. |
|
|
|
2007년 10월 16일 (화) |
|
| |
동적인 언어를 동적으로 호출하기, Part 1: 자바 스크립팅 API (한글) 자바 애플리케이션에서 사용하기 위해 동적인 언어를 자바 바이트코드로 컴파일 할 필요가 없습니다. 수 십 개의 스크립팅 언어들이 Java Platform, Standard Edition 6 (Java SE)(Java SE 5와 백워드 호환)에 추가된 스크립팅 패키지를 사용하여 단순하고, 통합된 방식으로 자바 코드에서 런타임 시 호출될 수 있습니다. 두 편의 기술자료로 구성된 본 시리즈의 Part 1에서는 자바 스크립팅 API의 기능을 소개합니다. 간단한 Hello World 애플리케이션을 사용하여 자바 코드가 스크립팅 코드를 실행하는 방법과 스크립트가 자바 코드를 실행하는 방법을 설명합니다. Part 2에서는 자바 스크립팅 API의 힘을 보다 심층적으로 설명합니다. |
|
|
|
2007년 10월 16일 (화) |
|
| |
Apache Geronimo JNDI 네이밍과 자바 리소스 커넥션 풀(connection pool), Part 3: 메일 세션 (한글) 본 시리즈에서는 데이터 소스 커넥션과 Java Message Service (JMS) 리소스 그룹을 구현하여, 이것이 Apache Geronimo와 Java Naming and Directory Interface (JNDI)에서 어떻게 작동하는지를 연구했습니다. 이번 시간에는, Apache Geronimo, JNDI, 메일 세션들이 어떻게 상호 연관되는지를 알아보기로 합니다. 메일 세션을 만들고 JNDI를 사용하여 간단한 Geronimo 애플리케이션에서 여기에 액세스 하는 방법을 설명합니다. |
|
|
|
2007년 10월 16일 (화) |
|
| |
자바 진단, IBM 스타일, Part 2: Extensible Verbose Toolkit을 이용한 가비지 컬렉션 Extensible Verbose Toolkit은 메모리 관련 자바 성능 문제를 진단 및 분석합니다. |
|
|
|
2007년 10월 16일 (화) |
|
| |
보안 퍼블리케이션과 효과적인 변형 방지를 결합하여 성능 높이기 자주 읽히지만, 더디게 업데이트 되는 데이터 구조의 병목 현상을 최소화 하는 방법을 배워봅시다. |
|
|
|
2007년 10월 9일 (화) |
|
| |
Ajax를 이용하여 JSF 폼 자동 저장하기: Part 2 Ajax 애플리케이션에 자동 저장 기능을 구현하여 편리하고 효율적인 웹을 만들어 봅시다. 필터와 브라우저 ID 쿠키를 사용 같은 고급 웹 기술을 선택합니다. |
|
|
|
2007년 10월 2일 (화) |
|
| |
eJFace로 임베디드 애플리케이션 개발하기 모바일 장치용 애플리케이션의 수요가 점점 더 늘어날 전망입니다. 이제, 오픈 표준, 임베디드 JFace 라이브러리인 e JFace를 배울 때가 되었습니다. Embedded JFace (eJFace)는 embedded Rich Client Platform (eRCP)의 컴포넌트이며, 임베디드 애플리케이션을 위해 사용자 인터페이스를 합성하는 임베디드 환경을 제공합니다. |
|
|
|
2007년 9월 18일 (화) |
|
| |
자바 프로그래밍으로 XML 서비스 정의 조작하기 XML 서비스 모델링과 사용자들(사람, 머신, 다른 서비스들)에 의한 서비스 소비에 있어서, 자바는 XML 데이터를 처리할 수 있는 강력한 메커니즘을 제공합니다. XML과 자바 기술을 사용하는 SOA의 측면에 대해 알아봅시다. |
|
|
|
2007년 9월 18일 (화) |
|
| |
이클립스 테스트와 성능 개선 도구 플랫폼, Part 2: 모니터 애플리케이션 (한글) 이번 '이클립스 테스트와 성능 개선 도구 플랫폼' 튜토리얼 연재에서는 애플리케이션 로그 파일을 구조화된 포맷으로 변환해주는 이클립스 TPTP(Test and Performance Tools Platform)의 기능을 어떻게 사용하는지 공부합니다. 그 다음으로는 TPTP와 로그 파일을 분석하고 처리하도록 전문적으로 고안된 또 다른 도구를 사용해 사용 패턴, 성능 프로파일과 에러를 재빠르게 식별해 낼 수 있을 것입니다. |
|
|
|
2007년 9월 11일 (화) |
|
| |
Java theory and practice: 클로저(closure) 논의 (한글) 누구나 자바 언어에 대한 한두 가지 정도의 아이디어를 갖고 있습니다. 자바 플랫폼의 오픈 소스화와 서버 측 애플리케이션용 언어들(JavaScript 와 Ruby)의 대중화로, 자바 언어의 미래에 대한 논의가 더욱 열기를 띄고 있습니다. 자바 언어가 클로저(closure) 같은 새로운 개념을 포용해야 할까요? 오히려 너무 많은 개념을 추가하면 역효과가 나는 것은 아닐까요? 이번 달, Java theory and practice 에서는 Brian Goetz가 클로저 개념을 설명하고, 두 개의 상반되는 클로저 제안에 대해 상세히 설명합니다. |
|
|
|
2007년 9월 11일 (화) |
|
| |
Atom의 서명, 암호화, 암호 해제 (한글) Atom은 정보를 중계하는데 있어서 탁월한 포맷이지만, 보안 문제는 어떻게 다루고 있을까요? XML Digital Signatures로는 데이터 출처가 믿을 수 있는 것인지, 이 데이터가 바뀌지 않았는지를 확인하고, XML Encryption으로는 민감한 정보를 보호합니다. Atom 구조를 파괴하지 안고 이러한 기술을 어떻게 사용할 수 있을까요? 이 글에서는, Apache Abdera API를 사용하여 Atom 데이터에 디지털 서명과 암호화를 적용하는 방법을 설명합니다. |
|
|
|
2007년 9월 11일 (화) |
|
| |
좌표 변환을 쉽게 유명한 시스템들간 위치 데이터를 변환하는 자바 코드를 제공합니다. |
|
|
|
2007년 9월 4일 (화) |
|
| |
자바 개발자를 위한 Ajax: Jetty와 Direct Web Remoting을 사용하여 확장 가능한 Comet 애플리케이션 개발하기 (한글) 비동기식 서버 측 이벤트에 의해서 구동되는 Ajax 애플리케이션들은 구현하기가 까다롭고 확장도 어렵습니다. Philip McCarthy는 이러한 문제에 대한 효과적인 솔루션을 제시합니다. Comet 패턴을 사용하여 데이터를 클라이언트로 보내고, Jetty 6의 Continuations API를 사용하여 Comet 애플리케이션을 더 많은 클라이언트로 확장할 수 있습니다. 여러분은 Direct Web Remoting 2의 Reverse Ajax 기술과 Comet과 Continuations를 편리하게 활용할 수 있게 되었습니다. |
|
|
|
2007년 9월 4일 (화) |
|
| |
구글 가젯 만들기, Part 2: 사용자 인터페이스 다루기 (한글) '구글 가젯 만들기' 연재 Part 2에서는 탭 기반 UI, 드래그 앤 드롭 그리고 MiniMessage와 같은 가젯의 고급 기능을 소개하고 여러분 스스로 만들 수 있도록 도와줄 것입니다. |
|
|
|
2007년 8월 28일 (화) |
|
| |
JDOM으로 XML 프로그래밍 단순화 하기 (한글) JDOM은 XML과 함께 작동하는 고유한 자바 툴킷으로서, XML 애플리케이션의 신속한 개발을 목적으로 설계되었습니다. JDOM의 디자인에는 자바 언어의 신택스부터 의미까지 포괄되어 있습니다. 하지만, 기존의 XML API보다 과연 얼마나 나을까요? 여러분이 직접 예제를 실행해 보고, 오픈 소스 프로젝트의 디자인 목표와 비교하면서 판단해 봅시다. |
|
|
|
2007년 8월 28일 (화) |
|
| |
Cypal Studio for GWT를 사용하여 Ajax 개발 단순화 하기 (한글) Google Web Toolkit (GWT)를 사용하여 자바 개발자들은 자바 프로그래밍 언어로 풍부한 Asynchronous JavaScript + XML (Ajax) 애플리케이션을 작성할 수 있습니다. Eclipse IDE용으로 설계된 Cypal Studio for GWT는 GWT 구현 관리를 지원합니다. Cypal Studio for GWT에서는 새로운 모듈을 쉽게 생성할 수 있으며, 원격 프로시저 호출도 지원하고, 웹 애플리케이션을 쉽게 전개할 수 있도록 해줍니다. |
|
|
|
2007년 8월 28일 (화) |
|
| |
Ajax로 SOAP 웹 서비스 호출하기, Part 2: 웹 서비스 클라이언트 확장하기 (한글) Asynchronous JavaScript and XML (Ajax) 디자인 패턴을 사용하여 웹 브라우저 기반 SOAP 웹 서비스를 구현해 봅시다. 본 시리즈 Part 1, Ajax로 SOAP 웹 서비스 호출하기, Part 1에서 필자는 SOAP 웹 서비스를 호출하는 웹 브라우저 기반 JavaScript 라이브러리를 소개했습니다. 이 글에서는 Web Services Addressing Language와 Web Services Resource Framework 스팩의 지원을 통해 JavaScript 라이브러리 기능을 확장하는 방법을 설명합니다. |
|
|
|
2007년 8월 28일 (화) |
|
| |
소개: 이클립스 테스트와 성능 개선 도구 플랫폼 (한글) 자바 애플리케이션 프로파일링을 위해 Eclipse Test and Performance Tools Platform(이하, TPTP)를 어떻게 사용하는지와 메모리 사용량을 측정하고, 메모리 누수(memory leaks)를 확인하며, 성능 병목(performance bottlenecks)을 없애는 법을 배우겠습니다. |
|
|
|
2007년 8월 14일 (화) |
|
| |
사람을 위한 자동화: 아키텍처 건전성 (한글) 여러분의 소프트웨어 아키텍처는 여러분이 생각한 대로 되어 있습니까? 우리가 이야기하는 디자인이 소스 코드에서 기대했던 것이 아닐 수 있습니다. Paul Duvall은 사람을 위한 자동화 시리즈에서 JUnit, JDepend, Ant를 사용하는 테스트를 작성하여 문제를 발견하는 방법을 설명합니다. |
|
|
|
2007년 8월 14일 (화) |
|
| |
리치 클라이언트 애플리케이션 성능, Part 2: 메모리 누수 막기 애플리케이션의 메모리 사용을 감시하고 누수를 방지하는 방법을 소개합니다. |
|
|
|
2007년 8월 14일 (화) |
|
| |
리치 클라이언트 애플리케이션 성능, Part 1: 성능 분석을 위한 툴, 기술, 팁 이클립스 기반 RCP 애플리케이션의 성능을 측정하고, CPU 또는 I/O 병목 현상에서 기인한 지연 현상을 파악하고, 유휴 UI 쓰레드를 반응성을 관리하는데 사용하는 방법을 배워봅시다. |
|
|
|
2007년 8월 7일 (화) |
|
| |
Real-time Java, Part 5: 실시간 자바 애플리케이션의 작성과 전개 (한글) Real-time Java 시리즈, 다섯 번째 글에서는 IBM WebSphere Real Time에서 제공한 툴을 사용하여 실시간 자바 애플리케이션을 작성 및 전개하는 방법을 설명합니다. 필자는 샘플 애플리케이션을 사용하여 가비지 컬렉션 중지를 제어하는 Metronome 가비지 컬렉터, 런타임 컴파일 중지를 피하는데 사용되는 Ahead-of-time 컴파일러, 엄격한 타이밍 요구 사항을 맞추는 NoHeapRealtimeThread를 설명합니다. |
|
|
|
2007년 8월 7일 (화) |
|
| |
XML과 자바: 다양한 수준의 XML API? (한글) Brett McLaughlin이 핵심 XML API를 상세히 설명하고, 개발자들이 자바와 XML 프로그래밍을 잘 활용하고 있는지를 짚어봅니다. |
|
|
|
2007년 8월 7일 (화) |
|
| |
구글 가젯 만들기, Part 1: 구글 가젯 기본요소 (한글) 이번 새 웹 개발 연재에서는 구글 가젯을 만드는 법을 배웁니다. 가젯은 작은 애플리케이션인데 동적이고 품질 좋은 콘텐츠를 제공하는 수단으로서 대부분의 웹 페이지에 추가할 수 있습니다. 구글은 자유롭게 사용할 수 있는 가젯을 많이 보유하고 있습니다. 하지만 가젯의 가장 흥미로운 점은 누구나 스스로 가젯을 만들어 그것을 구글에 배포하여 다른 개발자들이 그 가젯을 그들의 웹 프로젝트에 통합, 사용할 수 있다는 것입니다. |
|
|
|
2007년 7월 31일 (화) |
|
| |
In pursuit of code quality: Ajax 애플리케이션의 단위 테스팅 까다로운 Ajax 애플리케이션의 단위 테스팅에 Google Web Toolkit을 사용해 봅시다. |
|
|
|
2007년 7월 31일 (화) |
|
| |
Eclipse를 사용하여 OS X Java 개발 극대화 하기 Xcode 프로젝트를 Eclipse로 가져오고, 키 바인딩을 조정하고, Eclipse와 Mac OS X-bundled Concurrent Versions System (CVS)을 통합하는 방법을 설명합니다. |
|
|
|
2007년 7월 31일 (화) |
|
| |
Seamless JSF, Part 3: JSF용 Ajax (한글) JSF의 컴포넌트 기반 방식은 추상화를 장려하고는 있지만, 대부분의 Ajax 구현들은 HTTP 를 기반으로 상호 작동하고 있습니다. Seamless JSF 시리즈의 마지막 글에서는 Seam Remoting API와 Ajax4jsf 컴포넌트를 사용하여, 서버의 빈들과 통신하는 방법을 설명합니다. JSF의 이벤트 중심 아키텍처로서 Ajax를 활용하는 것이 얼마나 쉬운지, 그리고 JSF 컴포넌트 모델을 희생하지 않고 이를 수행하는 방법을 설명합니다. |
|
|
|
2007년 7월 31일 (화) |
|
| |
XPath 인젝션의 위험 피하기 일반적으로 발생하는 XPath 공격, 이 같은 위협을 탐지하는 방법, 이를 해결하는 방법을 설명합니다. |
|
|
|
2007년 7월 24일 (화) |
|
| |
Eclipse 방식으로 단위 테스팅 하기 (한글) 소스 코드 베이스를 테스트 할 수 있는 적합한 테스트 슈트가 필요하십니까? jMock은 훌륭한 테스팅 프레임웍으로서 자격을 갖추었습니다. 하지만 모든 상황에jMock이 다 맞는 것은 아닙니다. 애플리케이션에서 단위 테스트를 지원하는 커스텀 mock 객체를 어렵게 만들 필요 없이, RMock이 jMock과 조화롭게 작동하도록 하여 긍정적인 결과를 얻을 수 있습니다. |
|
|
|
2007년 7월 24일 (화) |
|
| |
LTA-JD용 정적인 파서 플러그인 구현하기 LTA-JD용 플러그인으로서 정적인 파서 디자인을 설명하여, WebSphere Application Server JVM이 기록한 플레인 텍스트에서 의미 있는 언어를 만드는 방법을 설명합니다. |
|
|
|
2007년 7월 24일 (화) |
|
| |
최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 6: 사용자에게 제어 능력 주기 (한글) 본 튜토리얼은 매시업 애플리케이션을 만드는 방법을 다루는 연재의 마지막 튜토리얼입니다. 이제 제대로 작동하는 애플리케이션과 프레임워크를 가짐으로써 시스템이 시맨틱 추론을 통해 어떻게 서비스를 작동시키는지 이해할 수 있습니다. 본 튜토리얼에서는 사용자가 서비스 유형과 웹 서비스에서 뽑아낸 데이터, 그 데이터의 프레젠테이션을 선택할 수 있도록 사용자에게 제어 능력을 주는 방법을 다룰 것입니다. |
|
|
|
2007년 7월 18일 (수) |
|
| |
Real-time Java, Part 4: 실시간 가비지 컬렉션 (한글) 전통적인 가비지 컬렉션(GC)에서의 비결정적 중지(Nondeterministic pauses) 때문에 자바는 실시간(RT) 개발 환경에 적합하지 않습니다. IBM WebSphere Real Time의 일부인 Metronome GC는 결정적 GC 작동을 제공하여 개발자들이 자바 언어로 하드(hard) RT 애플리케이션을 작성할 수 있도록 합니다. 필자는 결정적 GC에 Metronome을 사용하는 방법, Metronome을 개발할 때 개입되는 기술적 문제들, GC 튜닝에 사용할 수 있는 툴과 장치들을 설명합니다. |
|
|
|
2007년 7월 18일 (수) |
|
| |
Seamless JSF, Part 2: Seam의 컨버세이션(Conversation) (한글) 간단한 stateful CRUD 애플리케이션을 구현하여 Seam의 주석과 컨버세이션을 테스트 합니다. |
|
|
|
2007년 7월 18일 (수) |
|
| |
이클립스를 사용한 앤트 활용법 (한글) 이클립스를 이용하면 아파치 앤트로 더 쉽게 일할 수 있습니다. 이클립스 IDE의 앤트 통합 기능에 대해 알아보고 앤트 편집기를 통해 이클립스에서 코드를 짜고 빌드하고 디버그하는 법을 배우겠습니다. |
|
|
|
2007년 7월 10일 (화) |
|
| |
클래스 로딩 문제 분석하기, Part 4: 교착 상태와 제약 조건 (한글) 애플리케이션 개발자들이 문제를 파악하고 해결하는데 도움을 주기 위해 기획된 본 시리즈에서는 클래스 로딩 문제를 검토하고 있습니다. 마지막 시리즈에서는 지금까지의 기술자료를 토대로, 가장 복잡하고 흥미로운 문제들인 교착 상태와 제약 조건에 대해 설명합니다. |
|
|
|
2007년 7월 10일 (화) |
|
| |
Real-time Java, Part 3: 쓰레딩과 동기화 (한글) Real-time Java 시리즈, 세 번째 글에서는 Real-time Specification for Java (RTSJ)가 반드시 지원해야 하는 쓰레딩과 동기화에 대해 설명합니다. 실시간 애플리케이션을 개발 및 전개할 때 반드시 유념해야 하는 쓰레딩과 동기화 문제에 대해서도 설명합니다. |
|
|
|
2007년 7월 10일 (화) |
|
| |
Seamless JSF, Part 1: JSF에 맞춘 애플리케이션 프레임웍 (한글) JavaServer Faces (JSF)는 자바 웹 애플리케이션을 위한 최초의 표준 사용자 인터페이스 프레임웍입니다. Seam은 JSF를 확장한 강력한 애플리케이션 프레임웍입니다. Seamless JSF 시리즈 첫 번째 기술자료에서는 이 두 개의 프레임웍이 갖고 있는 강력한 힘을 발견하고자 합니다. Dan Allen은 JSF 라이프 사이클에 Seam이 어떤 기여를 했는지를 설명하고, 정황상의 상태 관리, RESTful URL, Ajax 리모팅, 적절한 예외 핸들링, "Convention over Configuration" 에 대해 설명합니다. |
|
|
|
2007년 7월 10일 (화) |
|
| |
바쁜 자바 개발자를 위한 db4o 가이드: 단순한 객체를 넘어서! 단순한 객체에서 구조화 된 객체로 발전하고, db4o가 무한 회귀, 캐스케이딩 작동, 참조 무결성 같은 복잡한 문제를 해결하는 방법을 배워봅시다. |
|
|
|
2007년 7월 3일 (화) |
|
| |
Java theory and practice: 휘발성 관리하기 휘발성 변수를 올바르게 사용하는 패턴을 설명하고 적용과 관련한 한계도 설명합니다. |
|
|
|
2007년 6월 26일 (화) |
|
| |
JavaScript의 Finite State Machine, Part 3: 위젯 테스트 하기 (한글) 본 시리즈에서는 Finite State Machine을 사용하여 단순한 웹 위젯에 페이드인/페이드아웃(fade in/out) 작동 같은 복잡한 작동을 디자인하는 방법을 설명합니다. 결과 코드는 간결하고, 로직은 투명하며, 그리고 애니메이션은 부하가 많은 프로세서에서도 완벽하게 작동할 것입니다. 이 글에서는 모든 대중적인 웹 브라우저에서 실행할 때 생겨나는 실질적인 문제들을 다루는 방법을 설명합니다. |
|
|
|
2007년 6월 26일 (화) |
|
| |
Hamlets 적용하기 Hamlets와 OSGi를 결합시키면 인터넷 기반의 가전 제품을 만들 수 있습니다. |
|
|
|
2007년 6월 26일 (화) |
|
| |
사람을 위한 자동화: 지속적인 피드백 (한글) 피드백은 Continuous Integration (CI)에 있어서 필수적인 것입니다. 사실상 피드백은 CI 시스템의 혈액이라고 할 수 있습니다. 신속한 피드백은 신속한 대응을 하게 해주어 관심이 필요한 이벤트를 구현하게 됩니다. 이메일이나 RSS 같은 피드백 장치가 없다면 실패한 빌드는 그대로 실패한 채로 남겨지며, 이는 CI의 목적과는 처음부터 어긋나는 일입니다. 사람을 위한 자동화 시리즈에서는 CI 시스템에 적용할 수 있는 다양한 피드백 장치에 대해 설명합니다. |
|
|
|
2007년 6월 19일 (화) |
|
| |
Apache Geronimo와 Apache Pluto에 포틀릿 작성 및 전개하기 커스텀 포틀릿을 작성 및 전개해야 합니까? Apache Geronimo 서버에 Apache Pluto 컨테이너를 설치 및 구성하는 방법을 배워봅시다. |
|
|
|
2007년 6월 19일 (화) |
|
| |
Mylar를 이용한 태스크(task) 중심 프로그래밍, Part 2 (한글) Mylar는 태스크를 Eclipse에 완벽하게 통합하고 그러한 태스크들을 하나의 작업으로서 자동 관리함으로써 생산성을 높입니다. 이번 시간에는, 프로젝트 리더 Mik Kersten이 Mylar의 콘텍스트 관리 기능에 대해 설명합니다. 이러한 기능들로 인해 멀티태스킹이 얼마나 수월해 지는지, Eclipse에서 대형 애플리케이션 작업을 할 때 정보 오버로드를 어떻게 줄이는지를 설명합니다. |
|
|
|
2007년 6월 19일 (화) |
|
| |
최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 5: 웹 서비스 변경하기 (한글) 본 연재는 사용자가 볼 수 있는 데이터를 제어할 수 있는 매시업 애플리케이션을 만드는 방법에 대해 자세히 다룹니다. 이제 서비스로 나타나는 개념을 정의하는 온톨로지를 만들 수 있게 되었으니 사용자들이 원하는 서비스를 선택할 수 있게 할 수 있습니다. |
|
|
|
2007년 6월 12일 (화) |
|
| |
Apache Solr을 이용한 똑똑한 검색, Part 2: 기업용 Solr 캐싱, 복제, 로깅 등, 기업용 Solr의 기능에 대해 알아봅시다. |
|
|
|
2007년 6월 12일 (화) |
|
| |
스프링 2와 JPA 시작하기 (한글) 자바 서버 애플리케이션을 만드는 것이 어렵고 지루할 필요는 없습니다. 2세대 경량(lightweight) 스프링(Spring) 프레임워크에는 많은 특징이 추가됐는데 이러한 특징들을 이용하면 심지어 초급 서버 애플리케이션 개발자도 사용하는 데 어렵지 않습니다. 이렇게 향상된 것은 스프링 2와 EJB(Enterprise JavaBeans) 3.0 명세의 토대가 되는 JPA(Java Persistence API)가 통합됐기 때문입니다. 이번 튜토리얼에서는 스프링 2 프레임워크를 사용해 점진적으로 서버 애플리케이션을 만드는 법을 배우겠습니다. |
|
|
|
2007년 6월 5일 (화) |
|
| |
클래스 로딩 문제 분석하기, Part 3: 특이한 클래스 로딩 문제 해결 (한글) 애플리케이션 개발자들이 문제를 파악하고 해결하는데 도움을 주기 위해 기획된 본 시리즈에서는 자바 클래스 로딩 문제를 검토하고 있습니다. Part 3에서는 IBM Hursley Labs의 Lakshmi Shankar와 Simon Burns가 classpath, 클래스 가시성, 가비지 컬렉션 등의 클래스 로딩 문제들을 상세히 분석합니다. |
|
|
|
2007년 6월 5일 (화) |
|
| |
Real-time Java, Part 2: 컴파일 기술 비교 (한글) Real-time Java 시리즈, 두 번째 글에서는 자바 언어의 네이티브 컴파일과 관련한 문제점들을 설명합니다. 동적 (Just-in-time) 또는 정적 (Ahead-of-time) 컴파일 단독으로는 모든 자바 애플리케이션들의 요구 사항들을 맞출 수 없습니다. 필자는 다양한 실행 환경에서 이 두 개의 컴파일 기술들을 비교하고 서로 어떻게 보완되는지를 설명합니다. |
|
|
|
2007년 6월 5일 (화) |
|
| |
Tivoli Monitoring Universal Agent를 이용한 WSDM 리소스 모니터링 IBM Tivoli Monitoring (ITM) Universal Agent를 사용하여 Web Services for Distributed Management (WSDM) 호환 인터페이스의 사용과 모니터링을 수행하는 방법을 배웁니다. ITM Universal Agent를 다운로드, 설치, 설정하여 Apache HTTP Server를 모니터링 합니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
JRuby를 이용해 아파치 더비 데이터베이스 애플리케이션을 작성하는 두 가지 방법 (한글) JRuby는 Java 가상 머신(JVM) 위에서 돌아가는 루비 프로그래밍 언어 구현체입니다. 이 튜토리얼에서는 아파치 더비(Derby) 데이터베이스에 접근하기 위해 JRuby를 설치하고, 환경을 설정하는 방법을 보여줄 것입니다. JRuby는 루비온레일스가 점점 유명해지면서, 루비의 간결한 문법과 클로저 같은 기능들에 이식성, 보안, JVM의 클래스 라이브러리 등을 더할 수 있는 흥미로운 기술로 주목 받고 있습니다. 그리고 만일 여러분이 관계형 데이터베이스가 필요한 작은 애플리케이션을 작성하거나 제품에 데이터베이스를 함께 배포하고 싶다면, 더비 데이터베이스가 영속 저장 방법으로 훌륭한 선택입니다. 이 튜토리얼에서는 JRuby를 이용해 더비 데이터베이스에 접속하고 사용하는 애플리케이션을 만드는 두 가지 방법을 보여줄 것입니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
아파치 메이븐 2 시작하기 (한글) 요즘 프로젝트들은 대부분 단일 로컬 프로젝트 팀에 의해 독립적으로 만들어지지 않습니다. 견고하면서도 엔터프라이즈 급인 오픈소스 컴포넌트들의 사용이 늘어나면서 오늘날의 소프트웨어 프로젝트는 프로젝트 팀들 간의 역동적인 협업을 요구하며 전세계적으로 생성, 관리되는 컴포넌트들에 대해 종속성을 갖게 됩니다. 아파치 메이븐(Apache Maven) 빌드 시스템은 인터넷 기반으로 전세계적인 개발을 하기 전의 기존 빌드 툴과는 달리 현재 당면한 이런 문제들을 해결하기 위해 고안됐습니다. 이 튜토리얼로 메이븐 2를 시작해 보겠습니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
Robocode 마스터의 비밀: 상대편의 움직임 추적하기 (한글) 타겟팅(targeting) 알고리즘에는 한계가 있습니다. 예견하기 어려운 움직임 패턴이 언제나 있기 때문입니다. 자신의 로봇이 상대편에 맞게 최상의 움직임 알고리즘을 선택하도록 하는 방법을 설명합니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
In pursuit of code quality: 강결합(tight couple) 조심! Spaghetti 코드는 슬픈 유산이라 할 수 있습니다. Dependency Inversion 원리를 사용하여 이 문제를 해결합니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
Real-time Java, Part 1: 실시간 시스템에 자바 사용하기 (한글) Real-time Java 시리즈 첫 번째 기술자료에서는, 자바를 사용하여 실시간 성능 요구 사항들에 부합하는 시스템을 개발하는 주요 문제점들을 다룹니다. 실시간 애플리케이션 개발이 의미하는 바가 무엇인지, 실시간 애플리케이션의 요구 사항을 맞추기 위해 런타임 시스템들이 어떻게 다루어져야 하는지를 설명합니다. 필자는 표준 기반 기술들을 결합하여 실시간 자바의 문제점들을 해결하는 방법을 여러분에게 소개합니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
Robocode 마스터의 비밀: Robocode 전략 (한글) Gladiatorial League의 기원에 대해 알아보고, 다양한 움직임 전략 레벨, 슈팅, 정보 모으기 등을 설명합니다. |
|
|
|
2007년 5월 29일 (화) |
|
| |
최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 4: 온톨로지 만들기 (한글) 본 연재는 사용자에게 보여주는 데이터를 제어할 수 있는 매시업 애플리케이션을 만드는 방법에 대해 자세히 다루고 있습니다. 그렇게 하려면 지능이 필요합니다. 이제 RDF(Resource Description Framework)로 정보를 나타내는 방법을 알았으니 XML 기반 웹 온톨로지 언어(이하, OWL)를 사용해 온톨로지를 만들어 보겠습니다. OWL을 사용해 서비스나 서비스 부분 중 하나를 자동으로 선택할 수 있습니다. |
|
|
|
2007년 5월 22일 (화) |
|
| |
루비 온 레일스와 XML (한글) 독자들은 루비 온 레일스(Ruby On Rails, 이하 레일스)에 대해 많이 들어봤을 것이며, 실제로 사용해본 사람들도 있을 것입니다. 어쨌거나 레일스는 널리 알려져 있고 모두에게 이로울 것이라 생각합니다. 루비는 XML과 굉장히 잘 어울리는 언어입니다. 이 문서를 통해 좀더 자세히 알아보겠습니다. |
|
|
|
2007년 5월 22일 (화) |
|
| |
IBM Workplace Forms V2.7의 스트리밍 API 가이드 IBM Workplace Forms V2.7의 새로운 순수 자바 스트리밍 API에 대해 배워봅시다. 순수 자바 스트리밍 API와 C로 작성된 기존 API를 비교합니다. |
|
|
|
2007년 5월 22일 (화) |
|
| |
Report Data Analyzer: EWLM 성능 데이터 인터프리팅 IBM Enterprise Workload Manager (EWLM)의 성능 데이터 인터프리테이션 기능을 확장하는 플러그인을 구현해 봅시다. 성능 데이터 분석에 EWLM을 사용하고 기능과 인터프리테이션 측면을 이해해 봅시다. |
|
|
|
2007년 5월 22일 (화) |
|
| |
구글 웹 툴킷으로 개발하는데 XML 이용하기 (한글) 구글 웹 툴 킷(Google Web Toolkit, 이하 GWT)을 사용하면 Ajax(Asynchronous JavaScript +XML) UI에 필요한 자바스크립트를 만드는 데 자바 구문을 사용할 수 있습니다. 대다수의 Ajax 애플리케이션은 XML을 사용하여 정보를 서버에 보내거나 서버에서 가져오므로 애플리케이션에서 XML 데이터를 분석하고 만들 수 있어야 합니다. 본 튜토리얼은 GWT를 사용하여 어떻게 XML을 조작하고 만드는지를 다룰 것입니다. |
|
|
|
2007년 5월 15일 (화) |
|
| |
사람을 위한 자동화: Continuous Inspection (한글) 여러분의 소프트웨어 개발 프로세스를 향상시켜 봅시다. 소스 코드 분석 툴을 사용하여 코드 복잡성, 중복, 코딩 표준 준수에 관한 최신 정보를 자동으로 받을 수 있습니다. |
|
|
|
2007년 5월 15일 (화) |
|
| |
사람을 위한 자동화: Continuous Integration 서버 선택하기 (한글) 많은 Continuous Integration (CI) 서버들이 존재하는 상황에서 어떤 것이 자신에게 맞는지를 선택하기란 어려운 일입니다. 사람을 위한 자동화 시리즈, 두 번째 글에서는 개발 자동화 전문가 Paul Duvall이 Continuum, CruiseControl, Luntbuild 등 오픈 소스 CI 서버에 대해 설명합니다. |
|
|
|
2007년 5월 15일 (화) |
|
| |
최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 3: RDF와 RDFs 이해하기 (한글) 최고의 매시업이 갖는 힘은 시맨틱 웹 기술, 특히 웹 온톨로지 언어(OWL)를 이용하여 매시업에 지능을 갖추게 하는 것입니다. OWL에 대해 자세히 알아보기에 앞서 필요한 것은 그 기본 언어인 RDF(Resource Description Framework)와 RDFs(RDF Schema Language)에 대해 이해하는 것입니다. 본 튜토리얼은 RDF와 RDFs를 다룸으로써 웹 서비스에 온톨로지를 만들고, RDF를 사용하여 다른 프로젝트를 수행할 수 있도록 도울 것입니다. |
|
|
|
2007년 5월 8일 (화) |
|
| |
Mylar를 이용한 태스크(task) 중심 프로그래밍, Part 1 (한글) Mylar는 태스크들을 Eclipse로 완벽히 통합하고 그러한 태스크 정황을 작업으로서 자동 관리함으로써 생산성을 향상시킵니다. 두 편으로 구성된 Mylar 가이드 시리즈의 첫 번째 글에서는 프로젝트 리더 Mik Kersten이 Mylar의 태스크 관리 장치와 Bugzilla, Trac, JIRA 같은 리파지토리와의 통합에 대해 설명합니다. |
|
|
|
2007년 5월 2일 (수) |
|
| |
최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 2: 매시업 데이터 캐시 관리 (한글) 검색할 때, 온라인 쇼핑을 할 때, 또는 지도 서비스를 사용할 때 사용하는 많은 대용량 애플리케이션들은 완전히 새로운 애플리케이션에서 여러분이 쓰기 위한 데이터를 제공합니다. 엔터프라이징 애플리케이션 개발자들은 몇 가지 애플리케이션의 데이터 세트를 결합해 특정 목적을 이루기 위한 매시업 애플리케이션을 개발해왔습니다. 이 연재의 Part 1에서는 다양한 서비스로부터 데이터를 가져와 결합시키는 애플리케이션에 대해 설명하였습니다. 이제 우리는 DB2 9 데이터베이스에 어떻게 호출 결과를 저장하는지, 그리고 외부 서비스를 가볍게 하여 성능을 효과적으로 향상시킬 수 있는 방법은 무엇인지에 대해 논의할 것입니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
최고의 매시업 -- 웹 서비스와 시멘틱 웹, Part 2: 매시업 데이터 캐시 관리 (한글) 검색할 때, 온라인 쇼핑을 할 때, 또는 지도 서비스를 사용할 때 사용하는 많은 대용량 애플리케이션들은 완전히 새로운 애플리케이션에서 여러분이 쓰기 위한 데이터를 제공합니다. 엔터프라이징 애플리케이션 개발자들은 몇 가지 애플리케이션의 데이터 세트를 결합해 특정 목적을 이루기 위한 매시업 애플리케이션을 개발해왔습니다. 이 연재의 Part 1에서는 다양한 서비스로부터 데이터를 가져와 결합시키는 애플리케이션에 대해 설명하였습니다. 이제 우리는 DB2 9 데이터베이스에 어떻게 호출 결과를 저장하는지, 그리고 외부 서비스를 가볍게 하여 성능을 효과적으로 향상시킬 수 있는 방법은 무엇인지에 대해 논의할 것입니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
Dojo로 HTML 위젯 개발하기 (한글) Dojo를 사용한 HTML 위젯 개발 기초를 배웁니다. 이미지를 참조하는 법, 이벤트 핸들러를 HTML 페이지에 추가하는 법, 복합 위젯을 다루는 법도 배울 것입니다. 또 평범한 옛날 자바스크립트 방식 코딩과 Dojo의 차이점을 알아보고 웹 애플리케이션 개발 고요의 복잡한 문제를 다루는 팁도 소개합니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
사람을 위한 자동화: Eclipse 플러그인으로 코드 품질 높이기 코드를 빌드하기 전에 코드에서 중대한 문제를 발견할 수 있다면 어떨까요? 재미있게도, 소프트웨어에 문제가 드러나기 전에 문제를 발견할 수 있도록 해주는 JDepend와 CheckStyle 같은 Eclipse 플러그인이 있습니다. 사람을 위한 자동화 시리즈에서는, 자동화 전문가 Paul Duvall이 Eclipse에서 정적인 분석 플러그인을 설치, 구성, 사용하는 방법을 예제를 통해 설명합니다. 이제 여러분도 개발 사이클에서 문제를 조기에 방지할 수 있습니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
Google Web Toolkit, Apache Derby, Eclipse를 사용하여 Ajax 애플리케이션 구현하기, Part 4: 전개 (한글) 지난 세 편의 기술자료에서는 Google Web Toolkit (GWT)을 사용하여 단순하면서도 기능적인 웹 애플리케이션을 구현했습니다. 지금까지. 여러분은 GWT의 Hosted Mode를 사용하여 애플리케이션을 편집 및 디버깅하면서, 자바 전개 툴 내에서 웹 서버 환경을 시뮬레이트 했습니다. 안타깝게도, 웹 애플리케이션을 실행하기 위해 모든 사용자들이 Eclipse를 다운로드 해야 하는 상황은 비현실적입니다. 따라서, 이 글에서는, 자바 웹 애플리케이션 내에서 GWT 애플리케이션을 전개하는 방법을 설명하고, Apache Derby 데이터베이스를 사용하여 GWT를 구동하는 방법을 설명합니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
Robocode 마스터의 비밀: 로보코드 마스터들이 주는 힌트, 팁, 조언 (한글) 로보코드 전문가들이 자신들이 로봇 전투에서의 성공의 비밀을 나눕니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
자바를 이용한 함수 프로그래밍(Functional programming) Abhijit Belapurkar는 Closure와 Higher Order Function 같은 함수 프로그래밍 구조체를 사용하여 잘 짜인 모듈식의 코드를 자바 언어로 작성하는 방법을 설명합니다. |
|
|
|
2007년 4월 24일 (화) |
|
| |
최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 1: 웹 서비스 사용과 결합 매시업이란이란 여러 개의 서비스로에서 가져온 데이터를 결합하여 새로운 것을 만들어내는 애플리케이션을 말합니다. 본 연재를 통하여, 각기 다른 매시업들에서 추출한 데이터를 저장하는 것에 그치지 않고, 시맨틱 기술을 이용하여 서비스를 교환하거나 데이터를 선택하는 방식으로 자신만의 매시업을 만들어낼 수 있는 '궁극' 의 매시업 개발에 대해 소개하고자 합니다. 여기서는 자바 프로그래밍, 서블릿과 JSP, 오픈 소스 제나(Jena) 프로젝트의 소프트웨어와 DB2의 새로운 네이티브 XML 기술을 사용합니다. Part 1에서 Nicholas Chase는 매시업 개념을 소개하고 간단한 버전의 매시업을 어떻게 개발하고 활용하는지 보여줄 것입니다. |
|
|
|
2007년 4월 17일 (화) |
|
| |
Robocode 마스터의 비밀: Factored wall avoidance (한글) 코너에 갇히거나 원하는 이동 방향에서 너무 많이 벗어나지 않으면서, 로봇과 벽 사이의 간격을 유지하는 알고리즘은 간단히 만들 수 없는 것 같습니다. 한 가지 간단한 솔루션으로, Factored wall avoidance가 있습니다. 이 글에서, David McCoy가 이를 구현하는 방법을 설명합니다. |
|
|
|
2007년 4월 17일 (화) |
|
| |
Google Web Toolkit, Apache Derby, Eclipse를 사용하여 Ajax 애플리케이션 구현하기, Part 3: 커뮤니케이션(Communication) (한글) 지난 시간 두 편의 기술자료에서는 Google Web Toolkit (GWT)과 Apache Derby 관계형 데이터베이스를 사용하여 웹 애플리케이션을 구현하는 방법에 대해 배웠습니다. Part 1에서는 GWT를 사용하여 Slicr라고 하는 피자 배달 시스템용 프론트엔드를 구현하는 방법을 설명했고, Part 2에서는 Derby를 사용하는 관계형 데이터베이스의 생성 데모와 데이터베이스 행을 자바 객체로 변환하는 방법을 설명했습니다. 이제 더욱 재미있는 부분으로 들어가고자 합니다. 세 번째 기술자료에서는 클라이언트와 서버가 서로 통신하게 하는 방법을 설명합니다. GWT 내에서 Remote Procedure Call (RPC)을 사용하여 자바 메소드 호출만큼 간단하게 서버에서 데이터를 가져옵니다. |
|
|
|
2007년 4월 17일 (화) |
|
| |
사람을 위한 자동화: 연속 테스팅 (한글) 개발자 테스팅을 향상시키고 싶으십니까? 사람을 위한 자동화 시리즈에서는, 개발 자동화 전문가 Paul Duvall이 소스 코드 변경에 따라 실행할 수 있는 다양한 유형의 자동화된 개발자 테스트에 대해 설명합니다. 애플리케이션 문제를 일찍 발견하는데 도움이 되는 Selenium, DbUnit, JUnitPerf 테스트 예제를 제공합니다. |
|
|
|
2007년 4월 17일 (화) |
|
| |
Apache Geronimo에서 Apache Pluto 포털 애플리케이션 개발 및 전개하기 Geronimo에서 포털 애플리케이션을 테스트 및 전개합니까? Geronimo에 Apache Pluto 서버를 100% 오픈 소스 환경에서 개발 및 테스트를 위한 플러그인으로서 사용할 수 있습니다. |
|
|
|
2007년 4월 17일 (화) |
|
| |
JUnit 4로 뛰어들기 JUnit 4에서는 자바(Java) 5 주석(annotation)의 효율적인 유연성을 위해 기존의 엄격한 명명 규칙 및 상속 계층 구조를 없앴다. 테스트 전문가로 활동하고 있는 Andrew Glover는 본 튜토리얼에서 코드 품질과 관련하여 자신이 연재한 인기 있는 기술문서의 내용을 보충하는 시간을 마련하여 매개변수 테스트, 예외 테스트, 제한 시간 테스트 등 주석을 통해 새로운 기능을 활용하는 방법에 대해 설명한다. 또한 JUnit 4의 유연한 픽스쳐(fixture)에 대해 소개하고 스위트(suite) 대신 주석을 사용하여 테스트를 실행하기 전에 논리적으로 그룹화하는 방법에 대해서도 설명한다. 본 튜토리얼에는 이클립스(Eclipse)에서 실행되는 일부 샘플 테스트와 호환되지 않는 이전 버전의 앤트(Ant)에서 JUnit 4 테스트를 실행하기 위한 지침이 포함되어 있다. |
|
|
|
2007년 4월 10일 (화) |
|
| |
코드 품질: Selenium과 TestNG를 이용한 프로그래밍 방식의 테스팅 Selenium 테스트를 프로그래밍 방식으로 수행해 봅시다. TestNG, DbUnit, Cargo를 혼합하여 완전히 자동화 된, 논리적으로 반복 가능한 수락 테스트를 작성해 봅시다. |
|
|
|
2007년 4월 10일 (화) |
|
| |
Google Web Toolkit, Apache Derby, Eclipse를 사용하여 Ajax 애플리케이션 구현하기, Part 2: 신뢰성 있는 백엔드(back end) (한글) Google Web Toolkit, Apache Derby, Eclipse를 사용하여 Ajax 애플리케이션 구현하기 시리즈, 두 번째 글에서는 웹 애플리케이션용 Apache Derby 데이터베이스를 구현하는 방법과 이것을 사용하여 GWT를 구동하는 방법을 설명합니다. 본 시리즈 Part 1에서는, GWT를 소개했고, 이를 사용하여 웹 애플리케이션용 프론트엔드를 만드는 방법을 설명했습니다. 이번 시간에는, 데이터베이스로 백엔드를 설정하고, GWT가 사용할 수 있는 포맷으로 데이터를 변환하는 코드를 설정하는 방법을 설명합니다. 이 글을 끝내면, 환상적인 프론트엔드와 신뢰성 있는 백엔드가 서로 통신할 준비가 됩니다. |
|
|
|
2007년 4월 10일 (화) |
|
| |
Muse와 WEF로 이벤트 리포팅을 쉽게 Apache Muse 애플리케이션을 통해 시스템 관리 이벤트를 직렬화 하는 최상의 방법을 모색해 봅시다. |
|
|
|
2007년 4월 10일 (화) |
|
| |
JSTL 기초, Part 4: SQL과 XML 콘텐트에 액세스 하기 (한글) 웹 기반 애플리케이션의 정수는 여러 개의 하위 시스템들을 통합하는 것입니다. 이 같은 하위 시스템들간 데이터 교환에 사용되는 두 가지의 가장 일반적인 메커니즘은 SQL과 XML 입니다. 이 글에서, Mark Kolb는 JSTL 시리즈를 마감하면서, JSP 페이지에서 데이터베이스와 XML 콘텐트에 액세스 하는 sql과 xml 라이브러리를 설명합니다. |
|
|
|
2007년 4월 3일 (화) |
|
| |
클래스 로딩 문제 분석하기, Part 2: 기본적인 클래스 로딩 예외(Exception) (한글) 네 편의 기술자료 시리즈를 통해 자바 개발 중에 발생할 수 있는 문제들을 이해하고 해결하는데 도움이 되는 자바 클래스 로딩 문제에 대해 설명합니다. Part 2에서는, IBM Hursley Labs의 Lakshmi Shankar와 Simon Burns가 매우 단순하지만, 개발자들을 당황시키는 몇 가지 예외(Exception)들을 분석합니다. |
|
|
|
2007년 4월 3일 (화) |
|
| |
함수 프로그래밍 기술을 사용하여 고급 JavaScript 작성하기 (한글) 함수 프로그래밍(Functional programming) 또는 선언적 프로그래밍(Declarative programming)은 매우 강력한 프로그래밍 방식이고, 소프트웨어 업계에서 대중성을 얻어가고 있습니다. 이 글에서는 함수 프로그래밍의 개념을 설명하고, 그러한 개념들을 효과적으로 사용할 수 있는 실질적인 예제들도 제공합니다. 함수 프로그래밍의 구조와 기능들을 JavaScript에 적용하여 고급 코드를 작성하는 방법을 설명합니다. |
|
|
|
2007년 3월 27일 (화) |
|
| |
바쁜 자바 개발자를 위한 db4o 가이드: 소개와 개요 객체 지향 언어, 시스템, 철학을 활용하는 오픈 소스 데이터베이스인 db4o에 대해 다루는 새로운 시리즈입니다. |
|
|
|
2007년 3월 27일 (화) |
|
| |
JSTL 기초, Part 3: 보여지는 것도 중요하다! (한글) The JSP Standard Tag Library (JSTL) fmt library provides convenient access to all of the Java programming language internationalization features through a focused set of custom tags. Mark Kolb takes a look at the fmt tags for formatting and internationalizing data. |
|
|
|
2007년 3월 27일 (화) |
|
| |
Hello World, Part 2 (업데이트): Rational Application Developer V7 (한글) IBM 소프트웨어 제품들에 대한 고급 개요서인 'Hello, World' 시리즈 두 번째 튜토리얼 입니다. 본 튜토리얼에서는 IBM Rational Application Developer를 소개하고, 기본적인 기능들을 설명합니다. 자바 애플리케이션 구현 방법, 웹 서비스 생성 및 호출 방법, Relational Record List를 사용하여 Derby 데이터베이스에 액세스 할 수 있는 웹 애플리케이션 생성 방법을 실질적인 예제와 함께 설명합니다. |
|
|
|
2007년 3월 20일 (화) |
|
| |
ThinWire와 자바 코드로 웹 애플리케이션 구현하기, Part 4: 템플릿 클래스 작성하기 ThinWire와 자바 코드를 사용하여 여러분의 첫 번째 웹 페이지를 게시해 봅시다. |
|
|
|
2007년 3월 20일 (화) |
|
| |
Spring 프레임웍을 사용하여 커스텀 isolation 레벨 지정하기 글로벌 트랜잭션에서 사용자 지정 isolation 레벨을 필요로 하는 애플리케이션을 구현한다면, Java Transaction API가 사용자 지정 isolation 레벨을 지원하지 않는다는 것을 알 수 있을 것입니다. 다행히도, Spring 프레임웍에서는 글로벌 트랜잭션에서 사용자 지정 isoluation 레벨을 사용하는 웹과 엔터프라이즈 애플리케이션들을 디자인할 수 있습니다. 이 글에서, Ricardo Olivieri는 두 가지 방법을 제시합니다. |
|
|
|
2007년 3월 13일 (화) |
|
| |
Little-G: 애플리케이션 서버 크기 줄이기 가끔씩, 애플리케이션들을 구현하여 이들을 전개하기 위해 무거운 애플리케이션 서버를 사용해야 했습니다. 많은 Java Platform, Enterprise Edition(Java EE) 기능들 중 일반적으로 사용하는 기능은 몇 퍼센트나 될까요? 아마도 10% 정도 될 것입니다. Apache Geronimo는 안정적인 Java 2 Platform, Enterprise Edition (J2EE) 1.4 인증의 오픈 소스 애플리케이션 서버입니다. 하지만 상용 타 WAS와 유사하게 기능도 많고 방만하고 무겁기까지 합니다. 간단하고 가볍지만 유용한 웹 애플리케이션을 구현할 때, Apache created Apache Geronimo Little-G가 알맞습니다. Little-G는 J2EE 인증 애플리케이션 서버는 아니지만 가장 일반적으로 사용되는 J2EE 호환 기능을 갖고 있으며 완전한 웹 컨테이너, 트랜잭션 매니저, 데이터베이스 연결성을 갖추고 있습니다. 이 글에서, Little-G의 기능들을 배우고 여기에 웹 애플리케이션을 전개하여 실행하는 방법을 배워봅시다. |
|
|
|
2007년 3월 13일 (화) |
|
| |
Java 2007: 올해의 전망 (한글) Sun Microsystems가 오픈 소스 라이센스 하에 Java를 자바 개발자 커뮤니티에 배포하기로 결정하면서 2007년은 새로운 역사를 쓰게 될 것 같습니다. 이 글에서, 자바 개발자 Elliotte Rusty Harold는 새 문법에 대한 작성에서부터 버그 픽스 등을 망라한 자바 플랫폼의 새로운 방향에 대해 조망해 봅니다. |
|
|
|
2007년 3월 13일 (화) |
|
| |
Java Web Start를 사용하여 SWT 애플리케이션 전개하기 (한글) SWT 애플리케이션의 개발 과정 중에서 특히, 기본적인 프로토타입을 완성한 이후에, 전개 시 발생될 수 있는 문제에 대하여 고려하여야 합니다. 전통적인 자바 애플리케이션과는 달리, SWT 애플리케이션은 애플리케이션이 작동하기 전에 OS 스팩의 라이브러리들이 로딩되어야 합니다. 이러한 라이브러리들을 지속적으로 전개 및 관리해야 한다는 것은 쉽지 않지만 Sun의 Java Web Start가 도움이 됩니다. SWT와 Java Web Start가 결합하면 클라이언트 측 자바 애플리케이션 구축하는 데에 훌륭한 툴이 됩니다. |
|
|
|
2007년 3월 13일 (화) |
|
| |
클래스 로딩 문제 분석하기, Part 1: 클래스 로딩과 디버깅 툴 소개 (한글) 클래스 로딩 컴포넌트는 자바 가상 머신에 있어서 기본적인 것입니다. 개발자들이 클래스 로딩의 기초에 대해서 잘 이해하고 있더라도 문제가 생기면 이것을 진단하고 솔루션을 만드는데 어려움을 겪습니다. 네 편의 기술자료 시리즈에서 Lakshmi Shankar와 Simon Burns는 자바 개발 중에 발생할 수 있는 다양한 클래스 로딩 문제들을 설명하고 그 원인과 해결 방법을 설명합니다. NoClassDefFoundError와 ClassNotFoundException 같은 일반적인 자바 예외와, 클래스 로더의 제약조건 위반 교착 상태 같은 보다 어려운 문제들 이해하고 해결하는데 도움이 될 것입니다. 이 첫 번째 글에서 자바 클래스 로딩의 작동 방법과 JVM에서 사용할 수 있는 툴을 사용하여 클래스 로딩 문제를 진단하는 방법을 설명합니다. |
|
|
|
2007년 3월 6일 (화) |
|
| |
Web 2.0 사용자 인터페이스 기술 (한글) Web 2.0용 애플리케이션을 구현해야 한다면 어떻게 하시겠습니까? 어떤 사용자들은 HTML 기반의 사용자 인터페이스를 선호하고, 어떤 사용자들은 자신들이 사용하는 모든 애플리케이션이 Excel처럼 작동하기를 기대할 수도 있습니다. 비즈니스 스폰서는 생산성을 향상시킬 수 있는 것을 원하지만, 여러분의 CIO는 사용자가 직접 전개해야 하는 것을 개발하기를 원치 않을 수도 있습니다. 여러분 역시 HTML이 딱 맞는 것이 아니라는 것을 알고 있지만 별다른 방법이 있는 것도 아닙니다. 이 글에서는 브라우저 보다 더 나은 성능을 보이는 애플리케이션들을 구현할 수 있도록 해주는 Web 2.0 사용자 인터페이스를 설명합니다. 다른 Java 2 Enterprise Edition(Java EE) 애플리케이션처럼 중앙에서 전개하고 관리할 수 있을 것입니다. |
|
|
|
2007년 3월 6일 (화) |
|
| |
코드 품질: TestNG-Abbot으로 GUI 테스팅 자동화 하기 TestNG-Abbott을 구현하기 위해 두 개의 개발자 테스팅 프레임웍이 합병되었습니다. GUI 테스트 문제가 훨씬 가벼워졌습니다. |
|
|
|
2007년 3월 6일 (화) |
|
| |
JUnit 4 향상된 JUnit4에 대해 알아보고, Java 5의 주석 기능이 이 테스팅 프레임웍을 어떻게 체계화 시켰는지를 봅시다. |
|
|
|
2007년 2월 27일 (화) |
|
| |
XML과 자바: XML의 효용성은 무엇인가? 데이터 교환 포맷으로서 XML |
|
|
|
2007년 2월 27일 (화) |
|
| |
Crossing borders: JavaScript의 특징 (한글) JavaScript는 프로그래밍 언어의 골칫거리로 취급을 받곤 합니다. 지극히 많은 개발 툴, HTML 페이지에 대한 복잡하고 일관성 없는 문서 객체 모델, 그리고 일관성 없는 브라우저 구현 등 때문입니다.하지만 JavaScript는 우리가 생각하는 그저 그런 장난감이 아닙니다. 이 글의 저자인 Bruce Tate가 JavaScript의 기능들을 설명합니다. |
|
|
|
2007년 2월 27일 (화) |
|
| |
Hierarchical Inherited Rule-Interpreted XML 연구 (한글) Hierarchical Inherited Rule-Interpreted XML이라고 하는 새로운 XML 기술을 사용하여 표준 자바 프로퍼티들을 동적 프로퍼티들로 대체할 수 있습니다. 간단한 연산 또는 Groovy 연산을 사용하여 애플리케이션 상태에 기반하여 계산할 수 있는 프로퍼티들을 정의할 수 있고, 애플리케이션의 여러 인스턴스들에 단 한 개의 프로퍼티 파일을 사용할 수 있습니다. 예제를 통해서 이러한 기술을 사용하는 방법을 설명합니다. |
|
|
|
2007년 2월 27일 (화) |
|
| |
자바용 Simple Persistence를 이용한 객체 영속성 객체 영속성을 위해서 Simple Persistence for Java 라이브러리의 “zero-admin”, “zero-config” 방식을 활용합니다. |
|
|
|
2007년 2월 20일 (화) |
|
| |
Hello World, Part 4: WebSphere Application Server와 Application Server Toolkit, V6.1 (한글) "Hello, World" 시리즈 네 번째에 오신 여러분을 환영합니다. 본 시리즈에서는 다양한 IBM 제품을 설명하고 있습니다. 본 튜토리얼은 개발팀으로부터 Enterprise Java Beans(EJB)와 웹 모듈을 전달받아 이를 전개 및 관리하는 IT 부서 운영자를 대상으로 합니다. Application Server Toolkit을 이용해 WebSphere Application Server의 J2EE 애플리케이션으로 이와 같은 모듈을 조합, 전개, 관리해야 합니다. 이와 같은 업무를 완수하는데 필요한 실질적인 방법을 제시해 드립니다. |
|
|
|
2007년 2월 13일 (화) |
|
| |
Hello World, Part 4: Application Server와 Application Server Toolkit, V6.1 (한글) “Hello, World”시리즈 네 번째에 오신 여러분을 환영합니다. 본 시리즈에서는 다양한 IBM 제품에 대한 고급 개요를 제공하고 있습니다. 본 튜토리얼은 개발팀으로부터 Enterprise Java Beans(EJB)와 웹 모듈을 전달받아 이를 전개 및 관리하는 IT 부서 운영자를 대상으로 합니다. Application Server Toolkit을 이용해 WebSphere Application Server의 J2EE 애플리케이션으로 이와 같은 모듈을 조합, 전개, 관리해야 합니다. 이와 같은 업무를 완수하는데 필요한 실질적인 방법을 제시해 드립니다. |
|
|
|
2007년 2월 13일 (화) |
|
| |
The Geronimo renegade: JSF 스팩 구현 및 오픈 소스 커뮤니티와 작업하는 과정을 분석합니다. 필자인 Tim McConnell은 Apache Geronimo와 MyFaces 통합 작업에 참여했습니다. |
|
|
|
2007년 2월 13일 (화) |
|
| |
Apache Geronimo JNDI 네이밍과 자바 리소스 커넥션 풀(connection pool), Part 2: Message Services 사용하기 (한글) JNDI(Java Naming and Directory Interface)는 이름을 기반으로 해당 오브젝트를 찾고 그를 참조할 수 있는 인터페이스 또는 라이브러리를 일컫습니다. 이러한 인터페이스를 통해서, Enterprise Java Beans (EJB)를 포함한 분산 또는 로컬 환경하의 모든 자바 객체들에 액세스 할 수 있습니다. 이 글에서, Apache Geronimo, JNDI, JMS 리소스 그룹들의 상관 관계를 설명하고, Geronimo 애플리케이션에서 JNDI를 사용하여 JMS 리소스 커넥션을 구현, 액세스 하는 방법을 설명합니다. |
|
|
|
2007년 2월 13일 (화) |
|
| |
메소드 서명에 Inversion of Control 사용하기 컴포넌트들 간 커플링(coupling)을 줄이고, IoC 패턴으로 성능을 향상시킵니다. |
|
|
|
2007년 2월 6일 (화) |
|
| |
Apache Geronimo JNDI 네이밍과 자바 리소스 커넥션 풀(connection pool), Part 1: 데이터 소스 커넥션 (한글) JNDI(Java Naming and Directory Interface)는 Apache Geronimo 애플리케이션 서버에 있는 커넥션 풀(connection pools)에 대한 인터페이스입니다. 이러한 인터페이스를 통해서, EJB(Enterprise Java Beans)를 포함한 모든 자바 객체들에 액세스 할 수 있습니다. 이 글에서, JNDI를 사용하여 데이터 소스용 커넥션 풀, JMS(Java Messaging Services), 메일 세션, URL로 액세스 하는 방법을 설명합니다. |
|
|
|
2007년 2월 6일 (화) |
|
| |
The Geronimo renegade: 보안과 Apache Geronimo의 미래 David Jencks는 Apache Geronimo의 보안 구현의 미래에 대해 설명하고, 엔터프라이즈 애플리케이션 서버를 혁신시켰던 방법도 설명합니다. |
|
|
|
2007년 1월 30일 (화) |
|
| |
Ajax와 REST, Part 1 (한글) 서버 측 웹 애플리케이션이, 리치(rich) 애플리케이션 모델을 따르고 개인화 된 콘텐트를 제공하면서 이머시브(immersive)해 질수록, 이들의 아키텍처는 Representational State Transfer (REST)를 더욱더 위반하게 됩니다. 이는 결국 애플리케이션 확장성을 떨어트리고, 시스템을 복잡하게 만듭니다. REST와 조화를 이룬 Ajax 아키텍처는 이머시브 웹 애플리케이션에서 이러한 부정적인 결과를 없애고, REST의 혜택을 누릴 수 있습니다. |
|
|
|
2007년 1월 23일 (화) |
|
| |
Crossing borders: Closure 클로저는 불필요한 복잡함인가? 아니면, 그 이상의 가치가 있는가? |
|
|
|
2007년 1월 16일 (화) |
|
| |
JET를 사용하여 Eclipse에서 더 나은 코드 만들기 (한글) 베스트 프랙티스를 코딩 하는 템플릿을 만든다면 시간을 절약하고, 지루한 코딩을 줄일 수 있을 것입니다. Eclipse 프로젝트인, 코드 생성 프레임웍 JET를 소개합니다. |
|
|
|
2007년 1월 16일 (화) |
|
| |
Java classpath (Windows) 관리하기 (한글) classpath는 전문 자바 프로그래머가 되려면 반드시 마스터해야 합니다. Elliotte Rusty Harold가 classpath와 sourcepath를 Windows 플랫폼에서 사용하는 방법을 설명합니다. |
|
|
|
2007년 1월 16일 (화) |
|
| |
Java classpath (UNIX와 Mac OS X) 관리하기 (한글) classpath는 자바 플랫폼에서 가장 복잡한 부분 중 하나이지만, 전문 자바 프로그래머가 되려면 반드시 이것을 통달해야 합니다. classpath와 sourcepath를 설명하고, UNIX와 Mac OS X에서 사용하는 방법을 설명합니다. |
|
|
|
2007년 1월 9일 (화) |
|
| |
Atom Publishing Protocol, Part 3: Apache Abdera project Apache Software Foundation에서 개발중인 Abdera 라고 하는 새로운 오픈 소스 프로젝트를 사용하여 Atom 실행 애플리케이션을 구현해 봅시다. |
|
|
|
2007년 1월 9일 (화) |
|
| |
어떤 브라우저에도 맞는 웹 애플리케이션 만들기 (한글) 다른 브라우저 또는 다르게 설정된 브라우저 상에서 웹 페이지는 다르게 수행됩니다. 모든 환경에 보다 잘 적응되는 웹 애플리케이션을 만들 수 있는 유용한 팁을 알려드립니다. |
|
|
|
2007년 1월 2일 (화) |
|
| |
코드 품질: XMLUnit XML 문서의 유효성을 검사할 때 XMLUnit을 사용하면 일이 더욱 쉬워집니다. |
|
|
|
2007년 1월 2일 (화) |
|
| |
자바에서 z/OS 일괄 작업에 액세스 하기 어떤 플랫폼에서든 자바를 사용하여 z/OS 일괄 작업의 상태를 체크하는 방법을 설명합니다. |
|
|
|
2006년 12월 28일 (목) |
|
| |
Hello World, Part 1: Rational Software Architect (한글) 본 튜토리얼에서는 UML 다이어그램을 사용하여 애플리케이션을 디자인 하고, 모델 정보를 웹 페이지에 퍼블리쉬 하고, Rational Software Architect를 사용하여 디자인을 자바로 변형하는 방법을 설명한다. IBM의 다양한 소프트웨어 제품들을 설명하고자 기획된 "Hello, World! Series"의 첫 번째 튜토리얼이다. |
|
|
|
2006년 12월 26일 (화) |
|
| |
Architectural manifesto: Java ME를 이용한 무선 메시징 Java ME를 이용한 무선 메시징에 대해 살펴봅시다. Multimedia Message Sending과 SMS와는 어떻게 작동하는지를 배워봅시다. |
|
|
|
2006년 12월 14일 (목) |
|
| |
Crossing borders: Ajax on Rails Ajax on Rails의 힘을 경험해봅시다. |
|
|
|
2006년 12월 14일 (목) |
|
| |
Java Web services, Part 2: Axis2 연구: AXIOM AXIs Object Model (AXIOM) XML 문서 모델을 연구합니다. |
|
|
|
2006년 12월 14일 (목) |
|
| |
코드 품질: JUnitPerf를 이용한 퍼포먼스 테스팅 퍼포먼스 테스팅을 수행하고, 이를 쉽게 할 수 있는 두 가지 방법에 대해 알아봅시다. |
|
|
|
2006년 12월 7일 (목) |
|
| |
Wireless robotics: Bayesian 네트워크 모바일 로봇이나 기타 소프트웨어로 구동되는 엔터티에 지능을 추가하는 방법을 알아봅시다. |
|
|
|
2006년 12월 7일 (목) |
|
| |
StAX'ing up XML, Part 1: StAX 소개 Streaming API for XML (StAX)은 자바 코드로 XML을 프로세싱하는 최신 표준입니다. StAX와 XML 프로세싱을 위한 커서 기반 API를 소개합니다. |
|
|
|
2006년 12월 7일 (목) |
|
| |
Quartz를 이용한 작업 스케줄링 작업 스케줄링 기능을 제공하는 오픈 소스 프로젝트인 Quartz로 자바 애플리케이션에 활기를 더해봅시다. |
|
|
|
2006년 11월 30일 (목) |
|
| |
EWLM을 사용하여 파티션 관리하기, Part 2: 파티션 관리 (한글) IBM System p5 서버의 AIX®와 Linux® 파티션들에 지능적 관리를 수행하여, IBM® Enterprise Workload Manager를 통해 모은 퍼포먼스 데이터들을 활용해 봅시다. 이 테스트 환경의 토폴로지와 사용되는 워크로드를 조사하고, 도메인 정책에 대해 알아봅니다. 워크로드를 실행하고 EWLM의 파티션 관리 액션을 관찰합니다. |
|
|
|
2006년 11월 29일 (수) |
|
| |
MIDlets의 국제화 새로운 JSR-238 Mobile Internationalization API가 MIDlet으로 국제화를 빠르고 쉽게 실현할 수 있습니다. |
|
|
|
2006년 11월 23일 (목) |
|
| |
IBM Rational Software Architect에서 Pluglet 사용하기 Rational Software Architect version 6.0에 포함된 플러글릿(pluglet) 장치를 소개합니다. 플러글릿을 시작하는 방법과, 어디에 유용하게 사용되는지를 검토합니다. |
|
|
|
2006년 11월 23일 (목) |
|
| |
Ajax와 REST, Part 2 IT 애플리케이션에 Ajax 기술을 성공적으로 개발 및 전개할 수 있는 기회를 모색해 봅시다. |
|
|
|
2006년 11월 23일 (목) |
|
| |
사람을 위한 자동화: 빌드 스크립트에서 나는 “악취(smell)” 제거하기 프로젝트 빌드 스크립트를 관리하는데 어느 정도의 시간을 소비합니까? 아마도 여러분이 생각했던 것 이상의 시간이 들 것입니다. 그럴 필요가 없는데 말입니다. 개발 자동화 전문가 Paul Duvall이 본 시리즈를 통해 기존 빌드 방식을 향상시켜, 일관성 있고, 반복 가능하며, 관리 가능한 빌드를 만드는 방법을 설명합니다. |
|
|
|
2006년 11월 21일 (화) |
|
| |
Crossing borders: 지연된 바인딩 지연된 바인딩(delayed binding)의 장점을 파악하여, 프로그래밍 스킬을 한 차원 더 높여봅시다. |
|
|
|
2006년 11월 16일 (목) |
|
| |
Xalan 확장 Xalan XSLT 프로세서에서 자바 코드를 호출하여 XSLT에서는 작성하기 어렵지만, 자바에서는 쉽게 작성할 수 있는 함수를 제공합니다. |
|
|
|
2006년 11월 16일 (목) |
|
| |
자바 개발자를 위한 z/OS 개요 (한글) 자바 개발자를 위한 z/OS® 개요서입니다. z/OS에 자바 애플리케이션을 전개하는 방법을 설명합니다. |
|
|
|
2006년 11월 14일 (화) |
|
| |
자바 개발자를 위한 z/OS 개요 (한글) 자바 개발자를 위한 z/OS® 개요서입니다. z/OS에 자바 애플리케이션을 전개하는 방법을 설명합니다. |
|
|
|
2006년 11월 14일 (화) |
|
| |
Geronimo 시작, Part 1: J2EE를 간단히! (한글) 여러분이 어떤 애플리케이션을 개발하고 있든지 간에, J2EE는 중요한 표준입니다. 이를 완전히 마스터하면 전문 프로그래머로서 여러분의 가치는 높아질 것이 분명합니다. 신참 개발자와 숙련된 개발자 모두에게 유용한 이 글에서는, Apache Geronimo가 따르는 J2EE 1.4 표준을 설명하고, 이것과 Geronimo 기술이 어떻게 연관되는지를 설명합니다. |
|
|
|
2006년 11월 14일 (화) |
|
| |
코드 품질: 애자일 구현에 테스트 카테고리 사용하기 테스트 효율성을 늘리고 구현 시간을 줄일 수 있도록 개발자 테스트의 카테고리를 만드는 방법을 배워봅시다. |
|
|
|
2006년 11월 9일 (목) |
|
| |
OMA Device Management 소개 Open Mobile Alliance Device Management에서 WebSphere Everyplace Device Manager까지 무선 장치 관리에 대해 배워봅시다. |
|
|
|
2006년 11월 9일 (목) |
|
| |
Cut out the Middle-Man: IDS와 J/Foundation을 사용하여 자바 애플리케이션 서비스 호스팅하기 Java UDR로의 Solano 확장으로 데이터 서버 내에서 직접 자바 애플리케이션을 호스팅 하는 방법을 설명합니다. |
|
|
|
2006년 11월 9일 (목) |
|
| |
XML and Related Technologies certification prep, Part 1: 아키텍처 (한글) 소프트웨어 시스템의 아키텍처와 퍼포먼스 요구 사항들은 자신의 애플리케이션의 요구에 가장 적합한 XML 기술을 결정짓는 요소가 됩니다. 총 다섯 개의 튜토리얼로 이루어진 시리즈 첫 번째 튜토리얼에서는 “IBM certification Test 142, XML과 관련 기술”을 설명합니다. |
|
|
|
2006년 11월 7일 (화) |
|
| |
Apache Geronimo에 블로그와 wiki 구현 및 전개하기 (한글) 블로그와 wiki가 인터넷을 휩쓸고 있습니다. 생각을 공유하고 사람들과 협업하는 이 새로운 방식에 개개인으로부터 대기업에 이르기까지, 큰 관심을 갖고 있습니다. 이러한 기술이 뜨고 있는 한가지 이유는 단순함입니다. 관리자들은 이미 Apache Geronimo가 새로운 블로그와 wiki 애플리케이션을 구현하는데 강력하고 안전한 플랫폼이라는 것을 알고 있습니다. 여러분도 Geronimo와 기타 오픈 소스 컴포넌트를 사용하여 블로그와 wiki 애플리케이션을 구현할 수 있습니다. |
|
|
|
2006년 11월 7일 (화) |
|
| |
CC/PP 기술 소개 장치 기능 정보를 관리하는 표준 방식을 제공하는 Composite Capabilities/Preference Profile (CC/PP) 기술에 대해 알아봅시다. |
|
|
|
2006년 11월 2일 (목) |
|
| |
IBM WebSphere Developer Technical Journal: J2EE Connector Architecture 활용하기 (한글) CICS® 애플리케이션과 J2EE™ 컴포넌트의 통합은 많은 기업들이 직면하고 있는 문제입니다. 이 글에서는, IBM® WebSphere® Application Server에 전개된 CICS 애플리케이션과 J2EE 컴포넌트의 트랜잭션 통합에 J2EE Connector Architecture(JCA)와 CICS Transaction Gateway가 어떻게 사용되는지를 설명합니다. |
|
|
|
2006년 10월 31일 (화) |
|
| |
JMX를 이용하여 Apache Geronimo 관리하기 (한글) Apache Geronimo 플랫폼은 관리성을 제 1의 우선순위에 두고 디자인되었으며, 이를 위해 JMX(Java Management Extension)가 주요 기술로 사용되고 있습니다. JMX를 사용하여 Geronimo 플랫폼을 관리하는 방법을 배워봅시다. |
|
|
|
2006년 10월 31일 (화) |
|
| |
NumberFormat의 파싱 문제 해결하기 NumberFormat 클래스의 파싱 문제 해결 방법을 설명합니다. |
|
|
|
2006년 10월 26일 (목) |
|
| |
EWLM을 사용하여 파티션 관리하기, Part 1: 기본 규칙 (한글) IBM System p5 서버에서 실행되는 AIX와 Linux의 논리적 파티셔닝을 소개합니다. EWLM 파티션 관리를 위한 환경 설정 단계를 설명하고, 파티션들을 설정하는 방법도 설명합니다. |
|
|
|
2006년 10월 24일 (화) |
|
| |
Apache Geronimo와 POJO로 SOA 프레임웍 구현하기 (한글) 라이브러리와 프레임웍 때문에 생기는 API 제약 조건과 상관 없이 소프트웨어를 개발할 수 있다는 매력 때문에 많은 사람들이 Plain Old Java Object (POJO) 프로그래밍을 채택하게 되었습니다. Apache Geronimo 프레임웍은 POJO 개발의 단단한 토대가 되어 고급 애플리케이션과 서비스를 구현할 수 있습니다. Geronimo의 컴포넌트와 기술에 대해 알아봅시다. |
|
|
|
2006년 10월 23일 (월) |
|
| |
WebSphere Application Server의 메모리 누수 탐지 및 분석: Part 1: 메모리 누수 개요 (한글) IBM WebSphere Application Server의 자바 힙 메모리 누수를 해결하는 방법을 설명한 고급 기술 개요서입니다. |
|
|
|
2006년 10월 23일 (월) |
|
| |
Ajax와 Java EE의 통합 (한글) Ajax 기술을 Java EE Web 애플리케이션에 도입하는 전체 개발 라이프 사이클 동안 발생할 수 있는 문제들을 검토합니다. 패턴에 기반하고 있는 Ajax의 비동기식 통신을 수용할 때의 문제들을 파악하는 것이 효과적인 Ajax 통합의 지름길입니다. |
|
|
|
2006년 10월 23일 (월) |
|
| |
AspectJ와 mock 객체를 이용한 유연한 테스팅: 테스트 전용 작동으로 단위 테스트 향상시키기 (한글) 존경받는 자바 프로그래머이자 XP 커뮤니티 리더인 Nicholas Lesiecki는 테스트 케이스 고립화와 관련한 문제를 소개하고 mock 객체와 AspectJ를 이용하여 정밀하고 강력한 단위 테스트를 개발하는 방법을 설명한다. |
|
|
|
2006년 10월 19일 (목) |
|
| |
자바 개발자를 위한 Ajax: Ajax와 Direct Web Remoting (한글) Ajax 기능을 애플리케이션에 추가하기란 간단한 일이 아닙니다. "자바 개발자를 위한 Ajax" 시리즈 세 번째 기사에서는 Direct Web Remoting (DWR)을 사용하여 JavaBeans 메소드를 JavaScript 코드에 직접 노출하고 Ajax를 자동화 하는 방법을 설명합니다. |
|
|
|
2006년 10월 17일 (화) |
|
| |
Apache Geronimo PetStore 데모 분석 iBATIS, Derby, Geronimo를 사용하여 PetStore 애플리케이션을 구현하는 방법을 구체적으로 설명합니다. |
|
|
|
2006년 10월 12일 (목) |
|
| |
multimodal 트랜슬레이터로 모바일 통신 강화하기 Multimodal 인터랙션을 모바일 애플리케이션에 추가하여 머신들 간 인터랙션을 쉽게 하고, 변환을 위한 보이스 인풋을 제공하며, 변환 결과를 얻어봅니다. |
|
|
|
2006년 10월 12일 (목) |
|
| |
대규모 RFID 인프라스트럭처에서의 프로비저닝 대규모 Radio Frequency Identification (RFID) 인프라스트럭처 롤아웃의 원격 프로비저닝 기능을 배우고, 커스텀 솔루션을 개발해 봅시다. |
|
|
|
2006년 10월 9일 (월) |
|
| |
Fuzz 테스팅 Fuzz 테스팅을 통해 프로그램에서 중요한 버그들을 발견할 수 있습니다. |
|
|
|
2006년 10월 9일 (월) |
|
| |
Practically Groovy: Groovy를 이용하여 코드 소음 줄이기 전형적인 자바 기반 시스템의 소음과 복잡성을 Groovy를 사용하여 제거하는 방법을 알아봅시다. |
|
|
|
2006년 9월 28일 (목) |
|
| |
Hibernate를 이용한 밸리데이션 최신 버전의 자바 플랫폼에 주석이 도입되었습니다. 밸리데이션이 더욱 쉬워집니다. |
|
|
|
2006년 9월 21일 (목) |
|
| |
실제 산업에 사용되는 RFID 솔루션 RFID 기술을 소매업 분야의 애플리케이션에 적용하는 방법을 설명합니다. |
|
|
|
2006년 9월 14일 (목) |
|
| |
Crossing borders: Streamlined, Part 1 Ajax, 메타프로그래밍, Ruby on Rails 프레임웍의 혼합체인 Streamlined를 사용하여 엔터프라이즈 프레임웍을 만들어 봅시다. |
|
|
|
2006년 9월 14일 (목) |
|
| |
Rich Internet Applications의 기술 옵션 웹 애플리케이션들은 다음 단계로 진화해야 하고, Rich Internet Applications (RIA)는 사용자 인터랙션을 상당히 향상시킬 수 있습니다. 이 글에서는 사용자 인터페이스(UI) 레이어에 RIA를 적용하는 방법을 설명합니다. 웹 개발자와 아키텍트라면 현재 이 분야에서 사용되는 기술인 Laszlo, XUL, XForms, Macromedia Flex, Dojo에 관심이 있을 것입니다. 아울러 다른 기술도 소개해 드립니다. 물론 HTML과 XML 같은 전통적인 UI 툴에 대한 이해가 필수입니다. |
|
|
|
2006년 9월 11일 (월) |
|
| |
자바 개발자를 위한 Ajax: 구글 웹 툴킷(Google Web Toolkit) 연구 최근에 출시된 구글 웹 툴킷(GWT)은 거의 자바 코드로 표현된 동적 웹 애플리케이션을 생성하는 API 및 툴 세트입니다.GWT의 기능을 설명하고 여러분에게 맞는 것을 선택할 수 있는 방법을 제시합니다.
|
|
|
|
2006년 8월 11일 (금) |
|
| |
Ajax 마스터하기, Part 5:: DOM 다루기 (한글) 지난 달, Brett은 웹 페이지를 정의하는 Document Object Model을 소개했습니다. 이번 달에는 DOM을 보다 자세히 연구합니다. DOM 트리의 부분들을 생성, 제거, 변경하는 방법을 설명하고 그 다음 단계인 웹 페이지를 업데이트 하는 방법을 설명합니다. |
|
|
|
2006년 8월 7일 (월) |
|
| |
Ajax 마스터하기, Part 5: DOM 다루기 (한글) 지난 달, Brett은 웹 페이지를 정의하는 Document Object Model을 소개했습니다. 이번 달에는 DOM을 보다 자세히 연구합니다. DOM 트리의 부분들을 생성, 제거, 변경하는 방법을 설명하고 그 다음 단계인 웹 페이지를 업데이트 하는 방법을 설명합니다. |
|
|
|
2006년 8월 7일 (월) |
|
| |
IBM 스타일의 자바: 모니터링 및 문제 해결 (한글) IBM 구현의 Java™ Version 5.0에는 자바 개발 문제를 진단하고 해결하는 데 도움이 되는 유용한 툴들이 있습니다. IBM 스타일의 자바 시리즈의 마지막회에서는 IBM 트레이스 및 덤프 엔진에 관한 내용으로 꾸며집니다. 또한 진단 데이터를 쿼리 및 분석하는 코드를 작성하는 도구인 Diagnostic Toolkit and Framework for Java (DTFJ) API를 소개합니다. |
|
|
|
2006년 8월 7일 (월) |
|
| |
IBM 스타일의 자바: 모니터링 및 문제 해결 (한글) IBM 구현의 Java™ Version 5.0에는 자바 개발 문제를 진단하고 해결하는 데 도움이 되는 유용한 툴들이 있습니다. IBM 스타일의 자바 시리즈의 마지막회에서는 IBM 트레이스 및 덤프 엔진에 관한 내용으로 꾸며집니다. 또한 진단 데이터를 쿼리 및 분석하는 코드를 작성하는 도구인 Diagnostic Toolkit and Framework for Java (DTFJ) API를 소개합니다. |
|
|
|
2006년 8월 7일 (월) |
|
| |
Ajax 마스터하기, Part 4: 웹 응답에 DOM 활용하기 (한글) 프로그래머(백엔드 애플리케이션)와 웹 프로그래머(주로 HTML, CSS, JavaScript를 작성)사이에는 오래 전부터 엄격한 구분이 있었습니다. 하지만 Document Object Model (DOM)이 그 틈을 메우면서 백 엔드에서는 XML과, 프론트 엔드에서는 HTML과의 작업이 가능해 졌습니다. |
|
|
|
2006년 7월 24일 (월) |
|
| |
IBM 스타일의 자바: 클래스 공유 (한글) IBM Java 5.0의 공유 클래스(Shared Class)는 로딩된 모든 클래스들을 공유하는 투명하고 동적인 방식을 제공합니다.이 글에서는 공유 클래스의 특징, 사용 방법, 사용 시점 등을 설명합니다. |
|
|
|
2006년 7월 10일 (월) |
|
| |
Asynchronous JavaScript with XML (AJAX)을 사용하여 애플리케이션 구현하기 (한글) AJAX (Asynchronous JavaScript with XML)를 사용하면 페이지 리프레쉬 없이 동적인, 비 동기식 웹 서비스가 가능하다. 본 튜토리얼에서는 도서 주문 애플리케이션 예제를 사용하여, 실시간 밸리데이션이 가능하고 페이지 리프레쉬가 필요 없는 AJAX 기반 웹 애플리케이션을 구현하는 방법을 설명한다. |
|
|
|
2006년 7월 3일 (월) |
|
| |
IBM 스타일의 자바: IBM Developer Kit 소개 (한글) IBM이 Java™ 5.0을 적용한 기술을 발표했습니다. Java 5.0 플랫폼의 향상과 최신 버전의 IBM Developer Kit의 변화를 총 다섯번의 시리즈에 걸쳐 소개합니다. |
|
|
|
2006년 6월 26일 (월) |
|
| |
Crossing borders: 통합 프레임웍에서 테스트 하기, Part 2 함수 테스팅과 통합 테스팅에 통합 환경의 이점이 어떻게 적용되는 알아봅시다. |
|
|
|
2006년 6월 20일 (화) |
|
| |
Seven minutes: 자가 관리 서버의 옛 모델 자가 설정 및 자가 치료가 가능한 자가 관리형 자바 기반 서버의 자율 컴퓨팅 모델을 경험해 봅시다. 아울러 Common Base Event 로깅을 체계화 하는 방법을 배워봅시다. |
|
|
|
2006년 6월 20일 (화) |
|
| |
DVB-H over 3G/WiFi (한글) Digital Video Broadcasting for Handheld Devices (DVB-H)와 이를 위한 표준에 대해 얼마나 알고 계십니까? |
|
|
|
2006년 6월 20일 (화) |
|
| |
자바 애플리케이션 시작하기, Part 2(한글) 간단한 인적 자원 애플리케이션 개발 과정에서 JSP 기반 기술을 사용한 다음 이것을 Ajax를 사용하는 고급 인터랙티브 솔루션으로 마이그레이션 하는 방법을 설명합니다. |
|
|
|
2006년 6월 19일 (월) |
|
| |
객체 직렬화 테스팅 객체 직렬화를 테스팅 하여 후에 디버깅 수고를 덜 수 있습니다. |
|
|
|
2006년 6월 13일 (화) |
|
| |
Apache Geronimo와 Ajax를 사용하여 디렉토리 구현하기, Part 2: LDAP 서버 쿼리 Ajax와 기타 툴을 사용하여 Geronimo에 관리가 쉽고 사용자 친화적인 보안 시스템을 구현해 봅시다. |
|
|
|
2006년 6월 13일 (화) |
|
| |
Ajax 마스터하기, Part 3: Ajax의 고급 요청 및 응답 (한글) 많은 웹 개발자들에게 간단한 요청과 응답을 받는 것은, 사실 필요로 하는 전부이기도 합니다. Ajax를 마스터하고자 하는 개발자들에게는 HTTP 상태 코드, 준비 상태, XMLHttpRequest 객체에 대한 완벽한 이해가 필요합니다. 이 글에서는 다양한 상태 코드들을 보여주고 브라우저가 이를 핸들링하는 방법을 설명합니다. |
|
|
|
2006년 6월 12일 (월) |
|
| |
AJAX 전송 방식 세 가지 Ajax 데이터 전송 메커니즘(XMLHttp, 스크립트 태그, 프레임 또는 iframe)에 대해 알아보고 이들의 장단점도 분석해봅니다. 효율적인 Ajax 제어 기술(서버 및 클라이언트 모두)에 대해서도 살펴봅니다. |
|
|
|
2006년 6월 6일 (화) |
|
| |
Subversion 소개 Subversion이 프로젝트를 트래킹 하도록 해봅시다. 위험성은 더 많지만 그만큼 재미도 있을 것입니다. |
|
|
|
2006년 6월 6일 (화) |
|
| |
Seven minutes: 시뮬레이션을 위한 터치포인트 모델링 IBM Manageability Endpoint Simulator로 시뮬레이션 된 리소스와 엔드포인트를 모델링하는 방법을 설명합니다. 문제 결정 시나리오를 구현하고 Batch-on-Grid에 대해 알아봅니다. |
|
|
|
2006년 6월 6일 (화) |
|
| |
Ajax 마스터하기, Part 2: JavaScript와 Ajax를 이용한 비동기식 요청 (한글) 대부분의 웹 애플리케이션들은 서버에서 전체 HTML 페이지를 얻는 요청/응답 모델을 사용합니다. 다시 말해서, 이 모델은 버튼을 클릭하고, 서버를 기다리고, 또 다른 버튼을 클릭하고, 다시 기다리는 일이 다반사입니다. Ajax와 XMLHttpRequest 객체를 사용하면 서버 응답을 기다리지 않아도 되는 요청/응답 모델을 사용할 수 있습니다. |
|
|
|
2006년 6월 5일 (월) |
|
| |
ECMAscript ECMAscript와 JavaScript 간 조화로운 관계를 만들어봅시다. |
|
|
|
2006년 5월 30일 (화) |
|
| |
Drools rules engine으로 비즈니스 로직 구현하기 Drools rules engine을 사용하여 복잡한 비즈니스 로직을 구현해 봅시다. |
|
|
|
2006년 5월 30일 (화) |
|
| |
Apache Derby로 개발하기 -- Trifecta: Apache Derby 소개 (한글) 모든 애플리케이션 개발자들은 데이터를 저장하는 문제에 직면해 있습니다. 인터넷 또는 웹 기반 애플리케이션의 성장과 함께 이러한 필요성은 보다 명확해 졌습니다. 이번 칼럼에서는 표준 기반의 오픈 소스 자바 데이터베이스 시스템인 Apache Derby를 소개합니다. 이것을 다른 데이터베이스 시스템들과 비교하고 다운로드와 설치와 관련한 문제들을 논의합니다. |
|
|
|
2006년 5월 29일 (월) |
|
| |
IBM WebSphere Developer Technical Journal: IBM WebSphere Application Server를 위한 Spring 애플리케이션 개발하기 -- Part 2 (한글) Spring Framework의 커넥션과 트랜잭션 관리의 기초를 배워봅시다. 이번 글에서는 WebSphere Application Server에 의해 관리되는 DataSource를 사용하는 방법 등 개발자를 위한 옵션을 설명하고, 애플리케이션을 수정하여 커넥션과 글로벌 레벨에서 트랜잭션에 참여하는 방법도 설명합니다. |
|
|
|
2006년 5월 29일 (월) |
|
| |
Ajax 마스터하기, Part 1: Ajax 소개 HTML, JavaScript, DHTML, DOM으로 구성된 Ajax는 볼품없는 웹 인터페이스를 인터랙티브 Ajax 애플리케이션으로 변형하는 획기적인 방식입니다. Ajax 전문가인 필자는 이러한 기술들이 어떻게 작용하는지 전체적인 개요를 비롯하여 세부사항 까지 설명합니다. 또한 XMLHttpRequest 객체 같은 Ajax의 중심적인 개념들을 소개합니다. |
|
|
|
2006년 5월 29일 (월) |
|
| |
개발자 입문 시리즈 (한글) 어디서부터 시작할지 막막하십니까? 도움이 필요하시다고요? 여기에서 그 출발점을 찾을 수 있습니다. |
|
|
|
2006년 5월 11일 (목) |
|
| |
Java theory and practice: 비차단(nonblocking) 알고리즘 소개 비차단 알고리즘으로 쓰루풋을 늘리고 교착상태와 우선순위 역전을 방지할 수 있습니다. |
|
|
|
2006년 4월 24일 (월) |
|
| |
DB2 Everyplace Sync Server로 다중 언어 플랫폼 상의 모바일 클라이언트 액세스 지원 Java Database Connectivity (JDBC) 애플리케이션 개발과 DB2 Everyplace Sync Server를 사용하여, DB2 Everyplace 서버를 확장하여 다른 언어 플랫폼에 있는 모바일 클라이언트를 지원해 봅시다. |
|
|
|
2006년 4월 24일 (월) |
|
| |
AIDE 사용하기, Part 1: 터치포인트 구현하기 IBM Autonomic Integrated Development Environment (AIDE) 툴킷을 사용하여 자율 컴퓨팅을 구현해 봅시다. 관련 기술과 디자인 정책들을 배워봅시다. |
|
|
|
2006년 4월 24일 (월) |
|
| |
SWT, Swing or AWT: 나에게 맞는 것 찾기 (한글) Eclipse의 SWT, 자바의 Swing, Abstract Windows Toolkit (AWT) GUI 툴킷을 비교합니다. 각 툴킷의 기본적인 기능들과 장단점을 설명합니다. |
|
|
|
2006년 4월 24일 (월) |
|
| |
AOP@Work: Contract4J를 이용한 컴포넌트 디자인 Design by Contract를 지원하는 AspectJ 기반의 툴인 Contract4J에 대해 알아봅시다. |
|
|
|
2006년 4월 18일 (화) |
|
| |
Eclipse V3.1의 신 기능 연구(한글) 본 튜토리얼에서는 최근 발표된 Eclipse V3.1의 신 기능들을 설명한다. 이전 버전에서 V3.1로 업그레이드를 한다거나, 다른 통합 개발 환경에서 Eclipse로 전환할 것을 고려중이라면 이 글이 도움이 될 것이다. Java 2 Standard Edition V1.5활용할 수 있도록 코드를 개정하는 데에도 유용한 정보를 제공한다. |
|
|
|
2006년 4월 14일 (금) |
|
| |
IBM WebSphere Developer Technical Journal: IBM WebSphere Application Server용 Spring 애플리케이션 개발 -- Part 1 (한글) Spring Framework과 IBM Rational® Application Developer를 사용하여 IBM® WebSphere® Application Server용 J2EE™ 애플리케이션을 개발해 봅시다. Spring, Spring Bean Factory, AOP, Spring과 Struts 애플리케이션 통합 방법을 설명합니다. |
|
|
|
2006년 4월 11일 (화) |
|
| |
자바 애플리케이션 시작하기: 무료 소프트웨어 다운로드 (한글)
웹 기반 애플리케이션이나 웹 서비스를 빠르게 구현, 테스트, 전개하고 싶은가? 이제 여러분도 유연한 통합 개발 환경, 입증된 관계형 데이터베이스, 표준 순응형 웹 애플리케이션을 빠르게 설치하여 실행할 수 있다. |
|
|
|
2006년 4월 10일 (월) |
|
| |
IBM WebSphere Developer Technical Journal: WebSphere Application Server Community Edition V1 시스템 관리 -- Part 2 (한글) 데이터베이스, Java™ Message Service (JMS), SSL, LDAP, CORBA over IIOP 등의 엘리먼트를 설정하는 방법을 설명합니다. |
|
|
|
2006년 3월 29일 (수) |
|
| |
IBM WebSphere Application Server Community Edition, Apache Geronimo, 그리고 Gluecode (한글) IBM WebSphere® Application Server Community Edition 발표에 대한 주요 인사들의 인터뷰 기사 입니다. Community Edition이 WebSphere 제품군에 어떤 의미가 되고, 오픈 소스 Apache Geronimo 개발 커뮤니티에는 어떤 영향을 끼치는지 알아봅시다. |
|
|
|
2006년 3월 28일 (화) |
|
| |
Ajax 마스터하기, Part 4: 웹 응답에 DOM 활용하기 (한글) 프로그래머(백엔드 애플리케이션)와 웹 프로그래머(주로 HTML, CSS, JavaScript를 작성)사이에는 오래 전부터 엄격한 구분이 있었습니다. 하지만 Document Object Model (DOM)이 그 틈을 메우면서 백 엔드에서는 XML과, 프론트 엔드에서는 HTML과의 작업이 가능해 졌습니다. |
|
|
|
2006년 3월 14일 (화) |
|
| |
Java theory and practice: 유연한 참조로 메모리 누수 막기 (한글) 지난번 약한 참조(weak references)에 이어 이번 기사에는 또 다른 형식의 참조 객체인 유연한 참조(soft references)를 설명합니다. 이것 역시 메모리 사용을 관리하고 잠재적인 메모리 누수를 없애는 보조 가비지 컬렉터입니다. |
|
|
|
2006년 3월 14일 (화) |
|
| |
자바 애플리케이션에서 동적으로 PDF 파일 생성하기 (한글) 애플리케이션에서 PDF 문서를 동적으로 만들어야 한다면 iText 라이브러리가 필요합니다. 오픈 소스 iText 라이브러리로 PDF 생성이 간단해 집니다. 이 글에서는 iText를 소개하고 이를 사용하여 자바 애플리케이션에서 PDF 문서를 생성하는 방법을 설명합니다. 또한 iText를 잘 이해할 수 있도록 샘플 애플리케이션을 구현해 봅니다. |
|
|
|
2006년 3월 14일 (화) |
|
| |
FastSOA: XML, XQuery, 원시 XML 데이터베이스 기술로 SOA 강화하기 XML, XQuery, 원시 XML 데이터베이스 기술 등으로 SOA를 더욱 강화시킬 수 있습니다. |
|
|
|
2006년 2월 22일 (수) |
|
| |
Java API용 QuickTime Java API용 QuickTime을 사용하여 iPod용 비디오 컨텐트를 쉽게 만들 수 있습니다. |
|
|
|
2006년 2월 22일 (수) |
|
| |
Eclipse Test와 Performance Tools Platform 소개 Eclipse TPTP로 자바 애플리케이션을 프로파일링 하고, 메모리 누수를 감지하며, 퍼포먼스 병목현상을 규명할 수 있습니다. |
|
|
|
2006년 2월 22일 (수) |
|
| |
Ajax 독파, Part 3: Ajax에서의 고급 요청과 응답 표준 웹 폼들이 Ajax와 작동하는 방법과, HTTP 상태 코드를 설명합니다. |
|
|
|
2006년 2월 21일 (화) |
|
| |
AOP@Work: AOP 신화와 현실 AOP 권위자인 Ramnivas Laddad가 aspect 지향 프로그래밍의 신화와 현실을 철저히 해부합니다. |
|
|
|
2006년 2월 21일 (화) |
|
| |
Java theory and practice: 메모리 누수와 소프트 레퍼런스 소프트 레퍼런스를 사용하여 메모리 사용을 관리하고 메모리 누수를 줄인다. |
|
|
|
2006년 1월 24일 (화) |
|
| |
Grid in action: P리소스 매니저 관리하기 In the previous installment of Java theory and practice, Java sanitation engineer Brian Goetz examined weak references, which let you put the garbage collector on notice that you want to maintain a reference to an object without preventing it from being garbage collected. This month, he explains another form of Reference object, soft references, which can also enlist the aid of the garbage collector in managing memory usage and eliminating potential memory leaks. |
|
|
|
2006년 1월 24일 (화) |
|
| |
IBM WebSphere Developer Technical Journal: WebSphere Application Server Community Edition V1 시스템 관리-- Part 1 (한글) WebSphere Application Server Community Edition 환경을 성공적으로 관리하기 위해 알아야 할 것들을 배워봅시다. 이 기사에서는 시작하기 옵션, 전개, 설정 관리, 에러 핸들링 및 복구에 대해 설명합니다. |
|
|
|
2006년 1월 18일 (수) |
|
| |
자바 모바일 장치용 3D 그래픽, Part 2: M3G의 보유 모드 3D의 인-메모리 구현으로 구조화된 방식으로 데이터를 관리해 보자. |
|
|
|
2005년 12월 26일 (월) |
|
| |
Selenium을 이용한 수락 테스트 자율화 기능 테스팅 시 에러를 줄이고 시간을 절약해 보자. |
|
|
|
2005년 12월 24일 (토) |
|
| |
SWT와 JFace, Part 4: 소개 ToolBar, CoolBar, Tray, SashForm, Link, 기타 제어를 사용하는 방법을 설명한다. |
|
|
|
2005년 12월 23일 (금) |
|
| |
Java theory and practice: 퍼포먼스 전설 (한글) 자바는 퍼포먼스 남용의 대상이 되고있다. JVM에 대한 진실을 파헤쳐본다. |
|
|
|
2005년 12월 22일 (목) |
|
| |
정규식을 통한 로컬화 데이터의 타당성 검사 한 줄의 코드도 변경하지 않고도 새로운 데이터 유형을 지원할 수 있다. |
|
|
|
2005년 12월 21일 (수) |
|
| |
뷰 연결로 Eclipse 애플리케이션 향상하기 (한글) 풍부한 GUI에서 뷰는 다양한 방식으로 정보를 디스플레이 함으로서 사용자 경험을 향상시킨다. 따라서 UI 뷰는 다른 뷰들에 의존하고 인터랙팅 해야 한다. Eclipse는 UI 뷰들을 연결하고 비-UI 시나리오에 뷰 링크를 적용하는 방식을 제공하고 있다. |
|
|
|
2005년 12월 21일 (수) |
|
| |
Ruby off the Rails Ruby를 프로그래밍을 통해 보다 다재다능한 개발자가 될 수 있다. |
|
|
|
2005년 12월 20일 (화) |
|
| |
클래스 로딩 문제 분석, Part 3: 조금 독특한 클래스 로딩 문제 해결하기 보다 복잡한 클래스 로딩 문제들을 분석하여 해결한다. |
|
|
|
2005년 12월 13일 (화) |
|
| |
AOP@Work: 의존성 삽입 Spring 프레임웍의 의존성 삽입(dependency injection)과 AspectJ 5의 aspect를 결합하여 프로그래밍에 힘을 더한다. |
|
|
|
2005년 12월 13일 (화) |
|
| |
불신자를 위한 JSF: JSF 애플리케이션 라이프 사이클 (한글) JavaServer Faces (JSF)의 요청 프로세싱 라이프 사이클의 주요 단계를 설명한다. 샘플 애플리케이션을 사용하여 여섯 단계의 요청 프로세스를 설명한다. 직접적인 이벤트 핸들링을 위해 JSF와 JavaScript 기술을 혼합하는 방법을 설명하고 JSF 컴포넌트 모델을 소개한다. |
|
|
|
2005년 12월 13일 (화) |
|
| |
DB2 Content Manager에 시퀀스 번호 생성하기 DB2 Content Manager 애트리뷰트용 시퀀스 번호를 자동으로 생성하는 툴을 소개한다. |
|
|
|
2005년 12월 8일 (목) |
|
| |
EJB Advocate: Java EE로 약결합 SOA 애플리케이션 구현하기 서비스 지향 아키텍쳐에서 다양한 약결합 형태를 연구한다. |
|
|
|
2005년 12월 7일 (수) |
|
| |
클래스 로딩 문제 분석, Part 2: 기본 클래스 로딩 예외 몇 가지 자바 클래스 로딩 예외를 연구한다. |
|
|
|
2005년 12월 6일 (화) |
|
| |
JSF 아키텍쳐에서의 디자인 JavaServer Faces(JSF) 프레임웍의 패턴들을 연구한다. |
|
|
|
2005년 12월 2일 (금) |
|
| |
경량 개발 성공의 비밀, Part 9: Continuation 기반 프레임웍 웹 요청을 하나의 애플리케이션으로 간주하면 상태 관리가 쉬워진다. |
|
|
|
2005년 11월 29일 (화) |
|
| |
데이터 바인딩: 데이터 바인딩 툴로서의 XPath, Part 1 XPath는 데이터 바인딩 API 로서 인식되지 못했다. 심지어 XML 세계에서는 많은 주목도 받지 못했다. 이 글에서 데이터 바인딩 툴로서 XPath를 조명한다. |
|
|
|
2005년 11월 29일 (화) |
|
| |
Java theory and practice: 메모리 누수와 약한 참조 (한글) 자바 언어의 프로그램은 이론적으로는 "메모리 누수"에 대한 면역성이 있지만, 어떤 경우에는 프로그램의 논리적 상태의 일부가 더 이상 아닌데도 객체가 가비지 컬렉팅(garbage collected)이 되지 않은 상황이 있을 수 있다. 이번 달, Brian Goetz는 의도하지 않은 객체유지에 대해 설명한다. |
|
|
|
2005년 11월 22일 (화) |
|
| |
경량 개발 성공의 비밀, Part 8 웹 서버로 개발자의 생선성을 높일 수 있다. |
|
|
|
2005년 11월 8일 (화) |
|
| |
자바 개발자를 위한 Ajax: Ajax와 Direct Web Remoting 많은 사람들이 Ajax를 언급하는지, 왜 Direct Web Remoting (DWR)를 Ajax 툴박스에 추가하려고 하는지 그 이유를 밝힌다. |
|
|
|
2005년 11월 8일 (화) |
|
| |
Classworking toolkit: 리플렉션 기본 리플렉션을 통해 데이터 구조를 보다 깊게 파악할 수 있다. |
|
|
|
2005년 11월 8일 (화) |
|
| |
Geronimo CORBA 상호운용 Apache Geronimo와 CORBA를 사용하여 대형 레거시 시스템과 깔끔하게 인터페이싱한다. |
|
|
|
2005년 11월 8일 (화) |
|
| |
Spring JMX 지원 확대 Spring 프레임웍의 JMX 관리 인프라를 커스터마이징하여 특정 애플리케이션의 필요를 채운다. |
|
|
|
2005년 11월 1일 (화) |
|
| |
AOP@Work: 애스펙트의 단위 테스트 AOP에서 테스트 작성이 전보다 쉬워졌다. 어떻게 이것이 가능할까? Nicholas Lesiecki가
aspect 지향 코드를 테스팅 할 때의 이점을 소개하고 AspectJ에서 크로스커팅 작동을 테스트하는 패턴도 소개한다. |
|
|
|
2005년 11월 1일 (화) |
|
| |
Struts를 이용한 동적 체크박스 동적으로 체크박스를 선택하는 Struts 구현 방식을 배운다. |
|
|
|
2005년 10월 25일 (화) |
|
| |
임베디드 장치 개발 embedded Standard Widget Toolkit (eSWT)를 사용하여 Model-View-Controller 프레임웍에 근거한 애플리케이션을 개발해 보자. |
|
|
|
2005년 10월 25일 (화) |
|
| |
IBM WebSphere Application Server Community Edition, Apache Geronimo, Gluecode Scott Cosby와 Paul Buck이 IBM WebSphere family, WebSphere Application Server Community Edition 최신 버전을 설명한다. |
|
|
|
2005년 10월 25일 (화) |
|
| |
Practically Groovy: 부드러운 작동 Groovy를 사용하여 오퍼레이터 오버로딩을 다루는 방법을 배운다. |
|
|
|
2005년 10월 25일 (화) |
|
| |
RFID 시스템의 푸른신호등 Radio Frequency Identification (RFID) 프레임웍을 결합하여 다양한 인터페이스 유형에 연결한다. |
|
|
|
2005년 10월 18일 (화) |
|
| |
Java theory and practice: Mustang에서의 동기화 최적화 Mustang의 동기화 최적화에 대해 소개한다. |
|
|
|
2005년 10월 18일 (화) |
|
| |
Service Data Objects와 JDBC Data Mediator Service를 위한 최상의 퍼포먼스, Part 2 Service Data Objects (SDO)와 Java(TM) DataBase Connectivity (JDBC) Data Mediator Service (DMS) 애플리케이션의 퍼포먼스를 높일 수 있는 여러 기술과 코딩 방법을 공부하자. |
|
|
|
2005년 10월 14일 (금) |
|
| |
Taming Tiger: SCJP 5 인증 , Sun은 J2SE 5 인증을 업데이트했다. 인증에 필요한 기술을 설명한다. |
|
|
|
2005년 10월 12일 (수) |
|
| |
모바일 장치용 3D 그래픽, Part 1: M3G의 즉시 모드 자바 모바일 장치용 3D 프로그래밍을 소개한다. |
|
|
|
2005년 10월 11일 (화) |
|
| |
AJAX로 SOAP 웹 서비스 호출하기, Part 1: 웹 서비스 클라이언트 구현하기 비동기식 JavaScript와 XML (AJAX) 디자인 패턴을 사용하여 웹 브라우저 기반 SOAP 웹 서비스 클라이언트를 구현한다. |
|
|
|
2005년 10월 11일 (화) |
|
| |
Spring을 이용한 Struts 액션 핸들링 Struts Recipes의 공동 저자 George Franciscus는 또 다른 Struts 통합 레시피를 가지고 돌아왔다.
이번에는 Struts 애플리케이션을 Spring 프레임웍으로 반입한다. Struts 액션을 Spring의 빈 처럼 관리할 수 있다.
Spring AOP의 효과를 쉽게 누릴 수 있다. |
|
|
|
2005년 10월 11일 (화) |
|
| |
JAXP 밸리데이션 Java API for XML Processing의 최신 기능을 살펴보자. |
|
|
|
2005년 10월 11일 (화) |
|
| |
Eclipse용 Ruby Development Tools (RDT) Eclipse용 Ruby Development Tools (RDT) 플러그인 사용법을 소개한다. 이 툴을 토대로 Eclipse도 최고의 Ruby 개발 환경이 될 수 있다. Eclipse의 풍부한 인프라를 사용고자 하는 Ruby 개발자와, Ruby에 관심이 있는 자바 개발자들에게 도움이 될 것이다. |
|
|
|
2005년 10월 11일 (화) |
|
| |
구현 및 단위 테스팅 프로세스 자동화 CruiseControl을 설정하여 코드를 지속적으로 통합 및 테스트한다. |
|
|
|
2005년 10월 11일 (화) |
|
| |
Geronimo 애플리케이션 서버에서의 트랜잭션 Apache Geronimo는 대형 오픈 소스 프로젝트로서 개발 커뮤니티와 사용자 커뮤니티와 함께 작업하고 있다. |
|
|
|
2005년 10월 11일 (화) |
|
| |
ITFIM Scripting Cookbook: IBM Tivoli Federated Identity Manager의 스크립트 설정, Part 1 Jython을 사용하여 싱글사인온 기능을 갖춘 ITFIM을 작성하는 방법을 이야기한다. |
|
|
|
2005년 10월 7일 (금) |
|
| |
속도늘리기 -- 퍼포먼스 병목현상 제거 퍼포먼스 병목현상은 전체 애플리케이션 실행시간에 중대한 영향을 끼치고 애플리케이션을 느리게 만드는 부분이다. |
|
|
|
2005년 10월 4일 (화) |
|
| |
Spring series, Part 4: Spring JMS를 이용한 1-2-3 메시징 Spring JMS 프레임웍과 IBM WebSphere MQ 5.3을 사용하여 JMS 메시징의 기초를 배워본다. |
|
|
|
2005년 10월 4일 (화) |
|
| |
SWT와 JFace, Part 3: 소개 Eclipse를 사용하여 애플리케이션을 구현할 때 여러분이 배웠던 그 지식을 확장시켜 보자. |
|
|
|
2005년 9월 27일 (화) |
|
| |
Bluetooth boogies, Part 1: JSR-82와 OBEX를 이용한 파일 전송 Bluetooth 장치를 제어하는데 사용되는 자바 언어를 이해하고 JSR-82 API와 OBEX를 사용하여 클라이언트-서버 파일 전송을 배워보자. |
|
|
|
2005년 9월 27일 (화) |
|
| |
IBM Cloudscape Workbench IBM Cloudscape Workbench Version 1.0 Beta를 다운로드하여 Derby와 DB2 데이터베이스에 연결하여 일반적인 작업을 수행해보자. |
|
|
|
2005년 9월 22일 (목) |
|
| |
자바 개발자를 위한 Ajax: 동적 자바 애플리케이션 구현 페이지 리로드 사이클은 웹 애플리케이션 개발에 있어서 가장 큰 사용 장애이자 자바 개발자들에게는 심각한 도전 과제이다. Philip McCarthy가 혁신적인 동적 웹 애플리케이션 구현 방법을 소개한다. Ajax (Asynchronous JavaScript and XML)는 자바, XML, JavaScript가 혼합된 프로그래밍 기술이다. 자바 기반 웹 애플리케이션의 페이지 리로드 패러다임을 과감히 바꾼다. |
|
|
|
2005년 9월 20일 (화) |
|
| |
경량 개발 성공의 비밀, Part 7:자바의 대안 자바는 강력하지만 경량 개발에는 한계가 있다. Ruby는 보다 생산적이다. |
|
|
|
2005년 9월 20일 (화) |
|
| |
Struts-Velocity 통합 Velocity Template Engine과 Struts 애플리케이션을 통합하여 프로그래밍 시간을 줄여보자. |
|
|
|
2005년 9월 20일 (화) |
|
| |
Practically Groovy: MOP과 미니 언어 MOP(Meta Object Protocol)에 대해 귀를 열어 주목해보자. |
|
|
|
2005년 9월 20일 (화) |
|
| |
Service Data Objects 아키텍쳐를 이용한 데이터 간소화 및 통합 Service Data Objects (SDO)의 핵심 개념과 강력한 힘과 유연성에 대해 알아보자. |
|
|
|
2005년 9월 13일 (화) |
|
| |
JUnit 4 미리보기 JUnit 4의 최신 릴리스를 미리 살펴본다. |
|
|
|
2005년 9월 13일 (화) |
|
| |
AOP@Work: AspectJ를 잉요한 퍼포먼스 모니터링, Part 1 AspectJ 와 JMX를 조합하여 퍼포먼스 모니터링 시스템을 만든다. |
|
|
|
2005년 9월 13일 (화) |
|
| |
Spring 시리즈, Part 3: Spring MVC Spring 프레임웍으로 MVC 기반 애플리케이션을 개발한다. |
|
|
|
2005년 9월 6일 (화) |
|
| |
Classworking toolkit: JiBX 코드 생성 연구 JiBX 프레임웍은 자바 객체와 XML 간 빠르고 유연한 변환을 위해 classworking 기술로 구현된다. |
|
|
|
2005년 9월 6일 (화) |
|
| |
IBM Rational Functional Tester 6.1을 이용한 효과적인 데이터베이스 테스팅 IBM Rational Functional Tester 스크립트에서 직접 데이터베이스를 테스팅하고자 하는 개발자와 테스터를 위한 글이다. |
|
|
|
2005년 9월 6일 (화) |
|
| |
경량 개발 성공의 비밀, Part 6: 영속성 전략 Enterprise JavaBeans, Hibernate, Kodo JDO, Ibatis를 비교하여 최상의 영속성 프레임웍을 선별한다. |
|
|
|
2005년 9월 6일 (화) |
|
| |
고성능 메시지 중심 빈과 WebSphere Application Server를 최대한 활용하기 고성능이 가장 중요한 문제라면 애플리케이션 서버와 JMS 프로바이더가 올바르게 설정되었는지를 확인하는 것이 중요하다. |
|
|
|
2005년 8월 31일 (수) |
|
| |
JDBC Data Mediator Service와 Service Data Objects를 위한 최상의 퍼포먼스, Part 1: 보다 세련된 쿼리를 수행하는 애플리케이션을 만들어보자. |
|
|
|
2005년 8월 30일 (화) |
|
| |
Java theory and practice: 동적 프록시를 이용한 데코레이션: 동적 프록시를 이용하여 디자인 패턴 구현에 힘을 더해보자. |
|
|
|
2005년 8월 30일 (화) |
|
| |
경량 개발 성공의 비밀, Part 5 경량 프로세스를 제안하고 홍보하는 방법을 배운다. |
|
|
|
2005년 8월 30일 (화) |
|
| |
Eclipse에서 불확실한 플러그인 종속관계 찾기 불확실한 플러그인 종속관계를 파악한다는 것은 시간이 많이 드는 일이다. 대부분의 플러그인은 수 많은 다른 플러그인에 의존하고 그 플러그인들 역시 또 다른 것들에 의존한다. Eclipse가 이러한 긴 체인을 로딩하지 않는다면, 플러그인들을 직접 골라내는 것은 원래 계획했던 것 보다 시간과 노력이 많이 들게 된다. 플러그인 검사를 자동화 할 수 있는 방법을 찾고 있다면 이 글을 읽어라. |
|
|
|
2005년 8월 23일 (화) |
|
| |
The Eclipse Voice Tools Project Eclipse Voice Tools Project는 보이스 산업에 관련한 기업과 개인들을 모아 표준 기반의, 오픈 소스 보이스 개발 툴을 만들기 위한 새로운 시도이다. 하지만 이 프로젝트 툴을 확장하거나 기여하고 싶을 때는 어떻게 하겠는가? 이 글에서 Voice Tool Project 환경을 설정 및 커스터마이징 하는 방법을 설명한다. 새로운 기능을 추가하는 과정도 설명한다. |
|
|
|
2005년 8월 23일 (화) |
|
| |
AOP@Work: 새로운 AJDT로 AOP 개발을 쉽게 AJDT Eclipse 프로젝트 리더인 Matt Chapman이 AJDT 1.2와 1.3을 설명한다. 이번 버전의 주요 포커스는 AspectJ와 Eclipse 플랫폼을 보다 밀접하게 통합하고 AspectJ 개발자들이 보다 진보된 툴링 지원을 받도록 하는 것이다. |
|
|
|
2005년 8월 9일 (화) |
|
| |
웹 서비스를 구현하는 SOA 프로그래밍 모델, Part 5: 서비스 지향 사용자 인터페이스
서비스 지향 프로그래밍 모델은 인터페이스를 추상화 하고 메시지를 표준화하고, 사용자 또는 관리자가 제어하는 표현 레이어에서
독립적인 정보 소스를 모음으로서 프로그램 대 인간(program-to-human) 인터랙션의 개발을 간소화 할 수 있다.
이번 시리즈에서는 인간 개입 서비스들과 Human Task Manager를 통해서 제공되는 서비스를 설명한다.
이전 글에서는 서비스 지향 아키텍처 개념에 기반한 웹 서비스용 언어 중립적인 데이터 액세스와 프로그래밍 모델을 설명했다.
|
|
|
|
2005년 8월 9일 (화) |
|
| |
Classworking toolkit: 주석과 설정 파일 주석을 사용하여 소스 코드의 일부로서 메타데이터를 지정할 수 있다. 이 기능을 사용하여 코드에 툴 명령어를 삽입할 수도 있다. |
|
|
|
2005년 8월 2일 (화) |
|
| |
삼자 컴포넌트와 Geronimo 통합하기 Geronimo는 고유의 GBeans 기능을 통해 삼자 컴포넌트와의 통합을 지원한다. |
|
|
|
2005년 8월 2일 (화) |
|
| |
추천 필독 리스트: WebSphere Application Server IBM Software Services WebSphere의 고객, 컨설턴트, 전문가들이 엄선한 IBM® WebSphere® Application Server 필독 리스트를 실었다. |
|
|
|
2005년 8월 1일 (월) |
|
| |
developerWorks XML 템플릿으로 글 작성하기 developerWorks XML 템플릿으로 글을 작성하는 방법을 설명한다. |
|
|
|
2005년 7월 29일 (금) |
|
| |
리눅스 스크립트로 무선 관리를 간단하게! 사무실과 이웃에 무선 Internet Service provider (WISP)을 설정하는 것이 어려운 일만은 아니다. 구입하기 쉬운 장비에서 네트워크를 구현하고 리눅스를 사용한다면 네트워크 관리에 쉘 스크립트를 사용할 수 있을 것이다. |
|
|
|
2005년 7월 19일 (화) |
|
| |
웹 애플리케이션용 테스트 케이스 만들기 자동화된 테스팅 기술을 웹 개발에 적용하려 한다면? 더 볼 것도 없이 jWebUnit이다. 대부분의 자바 IDE에 쉽게 플러그인 되며 웹 애플리케이션용 테스트 케이스를 구현할 수 있는 오픈 소스 프레임웍이다. 소프트웨어 엔지니어 Amit Tuli가 jWebUnit을 소개한다. 샘플 애플리케이션을 사용하여 정밀한 테스트 케이스를 만드는 과정을 단계별로 설명한다. |
|
|
|
2005년 5월 31일 (화) |
|
| |
Classworking toolkit: aspect를 이용한 퍼포먼스 트레이싱 Apache Axis 웹 서비스 프레임웍을 사용하여 실행 시간이 어떻게 지나는 지를 찾는 클라이언트 애플리케이션을 연구한다. 자바 코드에서 시간 간격을 측정하는 문제를 설명하고 시스템 상에 타이머를 구현할 때의 세분성과 오버헤드를 찾는 방법을 설명한다. |
|
|
|
2005년 5월 13일 (금) |
|
| |
필수 자바 라이브러리 (한글) 정보 과잉은 자바 개발자들에게 실제로 문제가 된다. 신참 프로그래머는 방대한 지식으로 무장하여 전문가 대열에 참여해야 하는 도전을 안고있다. 말 그대로, 알아야 할 것이 너무나 많다. 숙련된 프로그래머는 이 보다 더하다. 지식이란 것은 언제나 성장하는 것이기 때문에 이를 유지한다는 것 자체가 도전이다. 전문가로서 꼭 갖추어야 할 책과 웹 사이트 목록이 있다면 좋지 않을까? 이 글이 바로 그 리스트이다. |
|
|
|
2005년 4월 26일 (화) |
|
| |
Tip: XML로서의 Javadoc 당신의 자바 코드에 많은 가치들이 숨겨져 있다. 모든 클래스와 인터페이스 뿐만 아니라 인스턴스 변수와 메소드들이 그렇다. 이러한 데이터를 사용하여 문서를 만들고, 코드 생성기를 구현하며, 프로젝트 리포팅을 위한 메트릭스도 제공할 수 있는데 말이다. |
|
|
|
2005년 4월 14일 (목) |
|
| |
JCA 1.5, Part 1: 최적화와 수명주기 관리 자바 개발자 David Currie가 Java™ 2 Enterprise Edition (J2EE) Connector Architecture (JCA) 1.5 최적화를 통해 아웃바운드 리소스 어댑터를 더욱 빠르게 하는 방법을 설명한다. 기존 리소스 어댑터에 새로운 기능을 추가하거나 새로운 JCA 1.5 리소스 어댑터를 작성할 것을 생각하고 있다면 이 글을 통해 해답을 얻기 바란다. 리소스 어댑터를 사용하는 애플리케이션을 구현하거나 장막 뒤에서 어떤 일이 일어나는지도 이 글에서 다룬다. |
|
|
|
2005년 4월 5일 (화) |
|
| |
AOP@Work: AOP와 메타데이터: 완벽한 조합, Part 1 필자는 새로운 자바 메타데이터 장치의 개념과, AOP가 메타데이터 주석을 추가하여 얻을 수 있는 효용은 무엇인지를 설명한다. 메타데이터가 없는 AOP 구현으로 시작하여 Participant 디자인 패턴과 주석자-공급자 Aspect를 결합하는 것 까지, 다섯 가지의 디자인 리팩토링을 설명한다. |
|
|
|
2005년 3월 8일 (화) |
|
| |
IBM WebSphere Developer Technical Journal: WebSphere Application Server V6의 시스템 관리 -- Part 2 IBM® WebSphere® Application Server V6에서는 시스템 관리 기능이 향상되었다.
Part 2에서는 WebSphere Application Server V5에서 V6으로의 점증적인 셀 업그레이드에 대해 설명한다. |
|
|
|
2005년 2월 23일 (수) |
|
| |
Jython을 사용하여 Apache Derby 데이터베이스에 연결하기 Jython으로 프로그래밍을 하면 Python의 장점을 활용하면서 자바 패키지 및 기능들로 접근을 관리할 수 있다. Apache Derby 관계형 데이터베이스에 접근하고 이를 조작하는데 Jython이 어떻게 사용되는지 살펴본다. |
|
|
|
2005년 2월 17일 (목) |
|
| |
Classworking toolkit: Hansel과 Gretel (한글) 단위 테스트는 코드가 스팩에 맞춰 수행되는지를 확인할 수 있는 놀라운 기술이다. 하지만 단위 테스트의 품질은 테스트 작성자에 달려있다. 그리고 단위 테스트의 결과는 테스트의 품질 그 자체이다. 단위 테스트로 여러분이 원하는 만큼의 일을 수행했다고 어떻게 확신하는가? 이 글에서, 코드 커버리지 툴이 테스트의 품질 검사를 어떻게 수행하는지 설명한다. |
|
|
|
2005년 2월 8일 (화) |
|
| |
불신자를 위한 JSF: JSF 소문의 실체 Java™ Server Faces (JSF) 같이 중요한 기술은 수 많은 소문들을 만들어냈다.
주요 내용은 JSF 개발은 어렵고, 일반적인 접근 방식으로는 감당이 안되며, WYSIWYG 툴에 전적으로 의존해야 한다는
것이다. 총 4회로 이루어질 이 글에서 Rick Hightower가 소문과 진실을 가려낸다. |
|
|
|
2005년 2월 3일 (목) |
|
| |
IBM WebSphere Developer Technical Journal: WebSphere Application Server V6의 시스템 관리 -- Part 1 IBM® WebSphere® Application Server V6에는 시스템 관리 기능이 향상되었다. 향상된 각 부분을 설명한다. |
|
|
|
2005년 1월 26일 (수) |
|
| |
J2EE에서의 JNDI의 역할 J2EE를 마스터하는 것은 어려운 일이다. 기술과 신조어들이 나날이 늘어가기 때문이기도 하다. Java Naming and Directory Interface (JNDI)는 처음부터 Java 2 Platform, Enterprise Edition (J2EE)의 핵심에 있었지만 풋내기 J2EE 개발자들은 이를 충분히 활용하지 못한다. 이 글에서 J2EE 애플리케이션에서의 JNDI의 역할을 규명하고 애플리케이션을 전개로부터 분리하는 방법을 설명하겠다. |
|
|
|
2005년 1월 13일 (목) |
|
| |
PMD로 버그 잡기 소스, 정적 분석 툴인 PMD는 버그를 잡기위한 툴로 손색이 없다. PMD의 사용법을 설명한다. |
|
|
|
2005년 1월 7일 (금) |
|
| |
테스트엔지로 자바 단위 테스트를 쉽게! JUnit 프레임웍은 현제 자바의 단위 테스트를 위한 솔루션이다. 이 프레임웍은 자바 개발자들에게 테스트 지향 개발이라는 개념을 소개했고, 단위 테스트를 효과적으로 작성하는 방법을 가르쳤다는 점에서 높이 평가 받을만 하다. 하지만 JUnit은 지난 몇 년 동안 그 한계에 다다랐다. 따라서 오늘날의 복잡한 환경에 적합한 테스트를 작성하는 것은 점점 더 어려운 일이 되어가고 있다. JUnit은 다른 보완 테스트 프레임웍들과 통합되어야 한다. 이 글에서 Filippo Diotalevi가 자바 애플리케이션 테스트를 위한 새로운 프레임웍인 TestNG를 소개한다. TestNG는 강력하고, 혁신적이며, 확장성 있고, 유연할 뿐만 아니라 JDK 5.0의 획기적인 신 기능인 Java Annotations의 재미있는 애플리케이션을 나타내기도 한다. |
|
|
|
2005년 1월 6일 (목) |
|
| |
엔터프라이즈 메타데이터 발견 서비스 지향 아키텍쳐는 미래를 주도할 것이다. 하지만 기존 IT 자산과의 상호 운용이 쉬워야 한다. 이 백서에서는 어댑터를 통해 기존 시스템들과의 연결성을 확립하는 핵심 단계를 논하고 있다. 어댑터 파트너들과 기타 ISV들이 강력한 스팩과 구현을 제공하기 위해 우리와 협력했다. 다른 SOA 플랫폼 벤더들 역시 이러한 스팩들을 채택하여 완벽한 상호 운용성을 이룩하는데 일조했다. |
|
|
|
2004년 12월 14일 (화) |
|
| |
메모리 (한글) 자바 런타임이 대규모의 메모리 관리를 핸들하더라도 프로그램의 메모리 사용에 대해 관심을 기울이면 머신 퍼포먼스를 최적화하고 메모리 유출을 감지하는데 큰 도움이 된다. Windows에서 메모리 사용을 감시하는데 사용할 수 있는 많은 툴이 있다. 사용 관점에 따라 장단점을 갖고 있다. 필자는 메모리 사용에 대한 몇 가지 잘못된 개념들을 바로잡고 툴 사용법을 설명하겠다. |
|
|
|
2004년 11월 16일 (화) |
|
| |
DB2 기초: DB2 UDB 시스템 카탈로그에서 유용한 정보를 얻는 방법 IBM® DB2® Universal Database™ (UDB)는 시스템 카탈로그라고 하는 특별한 테이블을 관리하고 있다.
데이터베이스 객체들을 설명하는 메타데이터들이 포함된 이 테이블들은 두 개의 뷰를 정의하고 있다.
SYSCAT 스키마 하의 읽기 전용 뷰와 SYSSTAT 스키마 하의 업데이트 가능한 뷰가 바로 그것이다.
이 글에서는 DB2 UDB 시스템 카탈로그를 소개하고 이 풍부한 데이터베이스 정보의 보고가 어떻게 발굴되는지를 설명한다.
(명령행 또는 DB2 Control Center를 사용하여) 카탈로그를 쿼리하는 방법도 예제를 통해 설명한다.
|
|
|
|
2004년 11월 2일 (화) |
|
| |
자바 애플릿으로 원격 웹 서비스에 접근하기 애플릿은 사용자의 시스템에 어떤 영향도 미칠 수 없도록 "모래상자"에서 실행되도록 설계되었다. 따라서 애플릿의 보안은 서버 기반의 애플리케이션 보다 더 치밀하다. 예를 들면, 자바 애플리케이션은 또 다른 서버로 네트워크 연결을 하여 웹 서비스 응답을 요청할 수 있다. 애플릿 역시 이럴 수 있지만 이는 원래 호스팅된 서버에만 해당된다. 그런데, 임의의 웹 요청을 할 수 있는 애플릿이 필요할 때가 있다. |
|
|
|
2004년 10월 14일 (목) |
|
| |
Eclipse 플러그인용 로깅 프레임웍 Eclipse는 J2SDK Logging Utilities 또는 Apache의 Log4j 처럼, 풍부한 기능을 갖춘 설정 가능한 로깅 장치가 부족하다. 이 글에서, 그 자체가 플러그인이면서, Apache Log4j에 기반해 있는 Eclipse 플러그인용 로깅 프레임웍을 설정하고 사용하는 방법을 배운다. 전체 소스 코드도 제공한다. |
|
|
|
2004년 9월 27일 (월) |
|
| |
Annotations in Tiger, Part 2: 커스텀 어노테이션 Part 1에서 J2SE 5.0의 새로운 메타데이터 장치인 어노테이션을 소개했고 Tiger의 기본적인 빌트인 어노테이션에 초점을 맞추었다. 커스텀 어노테이션을 작성을 지원한다는 점이 특징적이였다. 이 글에서 커스텀 어노테이션을 만드는 방법과 어노테이션에 주석을 달아 코드의 문서화와 커스터마이징을 강화하는 방법을 설명하겠다. |
|
|
|
2004년 9월 2일 (목) |
|
| |
Annotations in Tiger, Part 1: 메타데이터를 자바 코드에 추가하기 J2SE 5.0 (Tiger)의 새로운 기능인 Annotation은 필요가 많은 메타데이터 기능을 핵심 자바 언어로 가져왔다. 메타테이터가 유용하게 쓰이는 이유를 설명하고 자바의 Annotation 소개한다. |
|
|
|
2004년 9월 2일 (목) |
|
| |
Eye on performance: 프로파일링 튜닝은 속도에 문제가 있을 때만 하는 것은 아니다. 가끔은 애플리케이션의 다른 부분들도 조정될 필요가 있다. 애플리케이션에 튜닝이 필요하다면 가장 먼저 취하는 행동은 프로파일러로 애플리케이션을 점검하는 일이다. 그러나 프로파일링이 언제나 유용한 것은 아니다. |
|
|
|
2004년 7월 29일 (목) |
|
| |
자바 이론과 실습: 웹 티어의 상태 복제 대부분의 중요한 웹 애플리케이션들은 세션 별로 상태를 관리할 필요가 있다. 클러스터링 애플리케이션에서 상태가 관리
및 복제되는 방법은 애플리케이션의 확장성에 큰 영향을 미친다. 많은 J2SE와 J2EE 애플리케이션은 서블릿
API에서 제공하는 HttpSession에 상태를 저장한다 |
|
|
|
2004년 7월 29일 (목) |
|
| |
Element Construction Set를 사용하여 포맷 된 로그 만들기 Jakarta Element Construction Set (ECS)는 자바와 객체 지향 방식을 사용하여 마크업 언어 문서를 만들기 위한 오픈 소스 프로젝트이다. 자바 개발자 Amit Tuli는 ECS를 소개하고 로그 파일로부터 포맷이 잘 된 상태 리포트를 만들 때 이를 사용하는 단계별 방식을 설명한다. 샘플 애플리케이션을 만들어 ECS와 ECS의 사용법에 대한 이해를 도울 것이다. API에 대한 잠재적 사용법도 배우게 된다. |
|
|
|
2004년 7월 22일 (목) |
|
| |
CodeRuler 성을 지켜라! 영토를 정복하라! 기사에게 명하여 창 시합을 벌여 적을 무찌르게 한다.
적의 위치를 파악하고 영토를 정복한다. 자바 코드를 작성하는 것이 지루하다면 중세적 판타지를 현실로 옮길
때가 됐다. 자바 프로그래밍 기술을 단련하고 Eclipse 개발 환경을 완전히 파악하는 과정 속에서 어느덧
자신의 왕국을 다스리게 된다. |
|
|
|
2004년 6월 29일 (화) |
|
| |
Struts 개발 유연한 Struts 프레임웍을 사용하여 웹 애플리케이션 개발에 활용해본다. 오픈 소스와 성숙한 프레임웍을 최적화 시킬 수 있는 최상의 사용법을 선보인다. ActionForm, Action class, ActionErrors 를 포함하여 Struts를 사용하는 방법을 배운다. |
|
|
|
2004년 6월 16일 (수) |
|
| |
Apache JMeter를 이용한 WebSphere 퍼포먼스 테스트 빡빡한 예산과 시간도 얼마 없다면 JMeter를 사용하여 웹과 다른 애플리케이션의 스트레스 테스트를 추천한다. IBM의 Greg Herringer가 순수 자바 애플리케이션을 사용하여 WebSphere 미들웨어 솔루션을 테스트 했던 경험을 나눈다. |
|
|
|
2004년 5월 1일 (토) |
|
| |
Jakarta Tomcat을 갖춘 개발 환경으로서의 Eclipse Eclipse를 자바 개발 환경으로 사용하는 것은 대단한 일이다. Eclipse Tomcat 플러그인을 사용하면 자바와 웹 개발 프로젝트를 더욱 훌륭하게 조직화하고 통합할 수 있다. 이 글에서는 Eclipse, Jakarta Tomcat, Eclipse Tomcat 시작 플러그인의 설치부터 단계별로 소개하겠다. |
|
|
|
2004년 5월 1일 (토) |
|
| |
XML& Java: 데이터 바인딩, Part 2: 성능 엔터프라이즈 자바 전문가 Dennis Sosnoski는 자바의 XML 데이터 바인딩에 대해서 여러 프레임웍의 스피드와 메모리 사용을 시험한다. 코드 생성 접근방식, Castor mapped binding 접근방식 등이 이 실험에 포함된다. 자바 애플리케이션에 XML을 사용하고 있다면 반드시 이 데이터 바인딩 접근방식을 알아야한다. |
|
|
|
2004년 4월 6일 (화) |
|
| |
경로 컴파일과 테스트 자동화 (한글) SAX ContentHandler 컴파일러인 HC에 대한 작업이 계속되고 있다. 이번 달에 우리의 컬럼니스트는 컴파일 알고리즘을 설명하며, 또한 JUnit로 테스트를 자동화하는 사항도 다룬다. |
|
|
|
2004년 4월 5일 (월) |
|
| |
Extreme Programming : 돌아온 "XP distilled", Part 1 자바 언어의 객체 지향 프로그래밍은 상당히 유명해졌다. 소프트웨어 개발에 혁명을 가져왔다고 해도 과언이 아니다. 최근 조사 결과에 따르면 소프트웨어 개발 프로젝트의 절반가량이 늦어지고 있고, 3분의 1 정도는 예산 초과이다. 기술이 문제가 아니다. 소프트웨어를 개발하는 방식이 문제인 것이다. |
|
|
|
2004년 3월 19일 (금) |
|
| |
모바일 P2P 메시징, Part 2: 일반적인 P2P 네트워크로 모바일 확장 개발하기 (한글) JXTA와 Jabber 같은 일반적인 P2P 컴퓨팅 네트워크는 모바일 디바이스에 적용하기에는 너무 복잡하다. 따라서 경량 모바일 클라이언트나 릴레이(relay)를 통해 작동하는 특별한 아키텍쳐는 P2P 커뮤니티를 모바일 사용자로 확대되어야 한다. Michael Yuan은 J2ME JXTA 클라이언트 프로젝트인 JXME를 설명한다. |
|
|
|
2004년 3월 10일 (수) |
|
| |
Struts, Tiles, JavaServer Faces 통합하기 JavaServer Faces (JSF)의 프론트-엔드 성능, Tiles의 콘텐트 포맷 능력, Struts 콘트롤러의 유연성이 J2EE 웹 애플리케이션에 들어있다면? 엔터프라이즈 자바 전문가 Srikanth Shenoy와 Nithin Mallya는 이 세 개의 특징을 통합하는 방법을 보여준다. |
|
|
|
2004년 3월 2일 (화) |
|
| |
Magic with Merlin: J2SE 1.5 J2SE 1.5 (Tiger)는 아직 공식적인 데뷔는 하지 않았지만 프로토타입을 다운로드를 통해 접근할 수 있다. parameterized 타입, enumeration, 변수 인자 리스트, autoboxing, 향상된 for 루프, 정적 반입 등 언어 차원의 발전이 J2SE 1.5 버전에서 눈에 띈다. |
|
|
|
2004년 2월 20일 (금) |
|
| |
고급 DAO 프로그래밍 J2EE 개발자들은 Data Access Object (DAO) 디자인 패턴을 사용하여 저수준의 데이터 액세스 로직과 고급 비즈니스 로직을 분리한다. DAO 패턴을 구현하는 것은 단순히 데이터 액세스 코드를 작성하는 것 이상이다. |
|
|
|
2004년 2월 3일 (화) |
|
| |
블랙박스에서 엔터프라이즈 까지, Part 3 : JMX 통합 실제 Network Management System (NMS)를 사용하여 JMX로 만들어진 자바 애플리케이션을 모니터링한다. NMS/JMX 통합에 사용된 일반적인 기술은 물론 JMX를 전개할 때 발생하는 일반적인 어려움들을 설명한다. |
|
|
|
2004년 1월 20일 (화) |
|
| |
XML과 자바: 자바 문서 모델 사용 이 글에서 XML 툴 전문가인 Dennis Sosnosk는 몇 가지 자바 문서 모델들의 용법을 비교한다. 여러분이 한 모델을 선택할 때 얻는 것과 잃는 것이 무엇인지가 항상 명확한 것은 아니며, 나중에 마음을 바꿀 경우 엄청난 재코딩이 필요할 수 있다. 필자는 모델 API들을 분석하고 이와 관련한 샘플 코드를 제공하여 어떤 모델이 실제로 여러분의 작업을 쉽게 만들어 줄지에 대한 권장 사항을 제공한다. 다섯 개의 각기 다른 문서 모델들의 메소드를 보여주는 코드 샘플이 포함되어 있다. |
|
|
|
2003년 12월 24일 (수) |
|
| |
JSTL 기초, Part 1: Expression Language (한글) JSP Standard Tag Library (JSTL)은 일반적인 웹 애플리케이션 기능(반복(iteration)과 조건, 데이터 관리 포맷, XML 조작, 데이터베이스 액세스)을 구현하는 커스텀 태그 라이브러리 모음이다. 소프트웨어 엔지니어인 Mark Kolb은 JSTL 태그의 사용방법을 설명한다. 표현층(presentation layer)에서 소스 코드를 제거하여 소프트웨어 관리를 단순화시키는 방법도 설명한다. 이외에도 JSTL의 단순화된 Expression Language에 대한 설명도 포함되어 있다. |
|
|
|
2003년 11월 18일 (화) |
|
| |
JDBC 쿼리 로깅을 쉽게 JDBC java.sql.PreparedStatement 인터페이스로 간단히 확장함으로서 쿼리 로깅의 에러를 줄일 수 있다. 코드도 더 깔끔해진다. IBM e-비즈니스 컨설턴트인 Jens Wyke가 래핑 기술을 설명한다. |
|
|
|
2003년 11월 5일 (수) |
|
| |
JAR 파일 대부분의 자바 프로그래머들은 JAR 파일의 기본 작동에 익숙하다. 하지만 JAR 파일 포맷의 막강한 힘을 아는 개발자는 드물다. |
|
|
|
2003년 10월 9일 (목) |
|
| |
non-blocking 소켓 SSL blocking 작동이 non-blocking 작동 보다 I/O 에러 공지에 더 낫지만 non-blocking 작동은 호출 쓰레드를 지속시킨다. 이 글에서 클라이언트와 서버 양 측면을 모두 다룰 것이며 Java Secure Socket Extensions (JSSE)과 Java NIO (새 I/O) 라이브러리를 사용하여 non-blocking 보안 연결을 만드는 방법을 설명한다. non-blocking 소켓을 만드는 전통적인 접근방식을 설명한다. |
|
|
|
2003년 10월 1일 (수) |
|
| |
싱글사인온(single sign-on)으로 엔터프라이즈 자바 인증을 단순하게! 점점 더 많은 패스워드 보안 애플리케이션을 조직의 컴퓨터 환경에 추가한다면 이는 인증의 복잡함도 함께 가중시키는 것이고
결국 개발자와 사용자에게 부담을 주게 된다. 대부분의 엔터프라이즈 애플리케이션 통합 프로젝트들은 싱글사인온(SSO)
기능을 포함하고 있다. 이는 사용자가 다양한 애플리케이션을 사용하기 위해 단 한번만 로그인 하도록 하는
기능이다. 이 글에서 자바 플랫폼에 SSO를 구현하는 방법을 설명한다. |
|
|
|
2003년 9월 9일 (화) |
|
| |
리팩토링(Refactoring) Eclipse는 강력한 자동 리팩토링을 제공한다. 이것을 통해 자바 엘리먼트를 재명명하고, 클래스와 패키지를 옮기며 실제 클래스에서 인터페이스를 만들고 중첩 클래스를 상위레벨 클래스로 변환하고 구 메소드의 코드 섹션에서 새로운 메소드를 가져올 수 있다. Eclipse의 리팩토링 툴에 익숙해진다면 생산성을 향상할 수 있는 좋은 방법이다. |
|
|
|
2003년 9월 9일 (화) |
|
| |
Robocode 총알을 피하고 정확한 공격 작전을 수행하면서 상속, 다형성, 이벤트 처리 및 내부 클래스를 배우는 것이 가능할까? 중독적인 게임광 대상 교육 툴인 Robocode가 전 세계 자바 개발자들에게 이를 가능하도록 한다. |
|
|
|
2003년 9월 2일 (화) |
|
| |
JTS 이해하기 - 트랜잭션에 대한 소개 자바 트랜잭션 서비스는 J2EE 아키텍처의 핵심 요소이다. 자바 트랜잭션 API와 함께 자바 트랜잭션 서비스는 모든 종류의 시스템 및 네트워크 장애에 대해 강력한 분산 애플리케이션을 구축하도록 해준다. 트랜잭션은 신뢰성 있는 애플리케이션을 구축하기 위한 기초적인 구성 요소이다. 트랜잭션적인 지원 없이 신뢰성 있는 분산 애플리케이션을 작성하는 것이 터무니없이 어려운 일이다. 다행히도 JTS는 자신의 대부분의 작업을 개발자에게 투명하게 수행한다.; J2EE 컨테이너는 트랜잭션 구분과 자원 사용을 거의 보이지 않게 수행한다. 이번 3회로 구성된 연재물 중 첫 회에서는 트랜잭션이 무엇이고 왜 이들이 신뢰성 있는 분산 애플리케이션 구축에 필수적인지에 대한 기초적인 사항을 다루도록 하겠다. |
|
|
|
2003년 8월 29일 (금) |
|
| |
Java theory and practice : 내 쓰레드는 어디에? 주의를 기울이지 않으면 쓰레드는 아무런 흔적도 없이 서버 애플리케이션에서 사라질 수 있다. 쓰레딩 전문가 Brian Goetz는 쓰레드 이탈 방지 및 감시 기술을 제공한다. |
|
|
|
2003년 8월 17일 (일) |
|
| |
JSTL 기초, Part 2: core 분석 (한글) SP Standard Tag Library (JSTL) core 라이브러리는 이름이 말해주듯이, 범위(scoped) 변수를 관리하고 URL과 인터랙팅하는 등의 기본 기능과, 반복과 조건화 같은 근본적인 작동에 필요한 커스텀 태그를 제공한다. 이러한 태그들은 페이지 작성자가 직접 사용하기도 하지만 다른 JSTL 라이브러리와 함께 복잡한 표현 로직에 대한 토대를 제공한다. |
|
|
|
2003년 8월 8일 (금) |
|
| |
JSP 태그용 커스텀 애트리뷰트 만들기 커스텀 타임-스탬프를 확장하여 페이지 작성자가 자신의 타임-스탬프 포맷을 선택할 수 있도록 하는 방법을 설명한다.t. |
|
|
|
2003년 8월 5일 (화) |
|
| |
Extreme Programming : "XP distilled", Part 2 (한글) 한 명의 프로그래머가 XP 팀의 일원이 된다는 것의 의미와 6 가지의 프로그래머 관행들이 이 그림에 어떻게 부합되는지를 설명한다. 19 개의 XP 관행들이 모두 중요하지만 프로그래머 관행은 소프트웨어를 만드는 팀에게는 절대적이다. |
|
|
|
2003년 7월 24일 (목) |
|
| |
스트림 완전히 바꾸기, Part 2 : 내부 Java I/O 최적화 새로운 I/O 프레임웍인, java.nio 는 I/O 지원과 관련한 퍼포먼스 이슈에 초점을 맞추었지만 바이트 어레이와 pipe를 사용한 내부 애플리케이션 통신 퍼포먼스는 등한시했다. Merlin Hughes는 새로운 스트림을 개발하여 표준 자바 I/O 바이트 어레이와 파이프 스트림 클래스를 보완했다. |
|
|
|
2003년 7월 18일 (금) |
|
| |
타임 스탬프의 힘 JSP 페이지에 타임 스탬프를 추가하는 다양한 기술을 검토한다. 또한 이런 간단한 변경을 통해 웹 사이트의 가용성을 향상시킬 수 있다. |
|
|
|
2003년 7월 1일 (화) |
|
| |
Eclipse 플러그인 개발하기 David Gallardo는 Plug-in Development Environment의 코드 생성 위자드를 사용하여 Eclipse 플러그인을 만드는 방법을 설명한다. 런타임 워크벤치에서 플러그인을 실행하고 디버깅하는 방법을 비롯하여 Eclipse에 완벽한 플러그인을 설치하는 방법을 배우게 될 것이다. |
|
|
|
2003년 6월 24일 (화) |
|
| |
웹 사이트에 콘텐트 반입하기 표면상으로는, JSTL의 c:import 태그는 JSP의 include 메커니즘을 모방한 것처럼 보인다. 하지만 c:import (또는 모든 JSTL 태그)를 좀더 자세히 들여다보면 추가적인 기능들이 보일 것이다. |
|
|
|
2003년 6월 17일 (화) |
|
| |
정규식을 위한 추상 자바 API 구현하기 자바에서 정규식을 이용하여 작업할 때 구체 (concrete) regexp 라이브러리에 의존하는 것은 좋은 생각이 아니다. 추상(abstract) 레이어를 사용한다면 다른 regexp 라이브러리들을 변환할 수 있고 코드와 특정 라이브러리 사이의 커플링을 줄이며, 가장 알맞은 것을 선택할 수 있다. |
|
|
|
2003년 6월 10일 (화) |
|
| |
SCJP 1.4 인증 기초 Sun Certified Java Programmer (SCJP) 시험은 J2SE 1.4 까지 업데이트 되었다. 넘어야 할 산이 더욱 높아졌다. WHIZlabs Software의 공동 창시자인 Pradeep Chopra는 SCJP 1.4 시험의 주요 변화를 설명한다. |
|
|
|
2003년 6월 3일 (화) |
|
| |
Extreme Programming : 작업에 맞는 (XP) 툴 XP를 시도하고 싶어하는 팀은 그 시작점을 모른다. 일반적으로 XP 관행에 대해 많은 질문을 던진다. 이번 주 이론을 실전에 적용하는 방법을 설명한다. |
|
|
|
2003년 5월 27일 (화) |
|
| |
지능형 데이터로 Swing을 간단히! Swing 아키텍처는 자바 개발자들로 하여금 수많은 데이터를 표시하는 복잡한 화면을 만들 수 있게 해준다. 불행히도 그 데이터를 대규모의 Swing 컴포넌트에 유지하는 것은 악몽의 코딩이 될 수 있다. 이 글에서 Jonathan Simon은 iData 즉 intelligent data라는 기법을 제시한다. 여러분은 iData 아키텍처를 사용해서 여러분 애플리케이션 내에 중앙 데이터 리파지토리를 만들 수 있다. 그렇게 함으로써 여러분은 데이터를 화면에서 보다 완전히 분리할 것이고 더욱 깔끔하고 유지보수하기 쉬운 코드를 만들 수 있을 것이다. 여러분의 시작을 도와 주도록 예제 코드를 갖춘 오픈 소스 툴킷도 나와있다. 이 글을 계속 읽어 나가서 iData 기법에 대해 더 많은 것을 알게 되고 샘플 구현도 보기 바란다. |
|
|
|
2003년 5월 23일 (금) |
|
| |
무선 데이터 가상화 (한글) 무선 데이터 가상화는 데이터를 받는 서버의 위치를 알지 못해도 클라이언트로부터 무선으로 데이터를 볼 수 있는 기능이다. Judith Myerson은 네 가지 유형의 가상화를 설명하고, 이들의 진화 과정 및 가상화 스택의 구현 방법을 설명한다. 또한 무선 가상화의 근본적인 도전과제와 미래, 글로벌 보안 문제 등도 아울러 다룬다.
|
|
|
|
2003년 5월 20일 (화) |
|
| |
자바 최적화 기술 자바 프로그램을 최적화 할 수 있는 유용한 기술들이 많이 있다. 이 글에서는 특정 기술 하나에 포커스를 맞추는 것 대신 최적화 프로세스를 전체적으로 다룬다. 간단한 기술 팁에서부터 고급 알고리즘 최적화까지 다양한 기술들을 세분화하여 문제 해결 프로그램의 퍼포먼스 튜닝을 한다. |
|
|
|
2003년 5월 13일 (화) |
|
| |
Robocode 대회 Robocode 대회는 끝났고 우승자가 가려졌다. 누가 우승컵을 가져갔는지 성공의 비밀은 무엇인지를 알아보자. |
|
|
|
2003년 5월 9일 (금) |
|
| |
Extreme Programming : Test-driven 프로그래밍 Test-driven 프로그래밍은 프로그래머들을 당황시키는 XP의 한 측면이다. 우리들은 Test-driven 프로그래밍에 대한 의미와 이것을 다루는 방법에 대해 부정확한 추측을 하고 있다. Roy Miller가 test-driven 프로그래밍을 설명한다. |
|
|
|
2003년 4월 23일 (수) |
|
| |
JML 시작하기 Java Modeling Language (JML)는 메소드와 클래스에 대한 새로운 사고방식을 가져다주는 세밀한 디자인의 언어이다. 자바 프로그래밍 컨설턴트인 Joe Verzulli는 JML과 이것의 선언적 구조체들을 소개한다. |
|
|
|
2003년 3월 18일 (화) |
|
| |
Eclipse Workbench 밖에서 Eclipse GUI 사용하기, Part 1: 스탠드얼론 모드에서 JFace와 SWT 사용하기 (한글) Eclipse GUI 컴포넌트(JFace & SWT)가 Eclipse Workbench 내부에서 종종 사용되고는 있지만, 원래는 독립(self-contained) 프레임웍으로서 설계되었다. Eclipse Workbench 외부에서도, JFace의 플러그 가능한 디자인으로 놀랍도록 적은 코드를 사용하여 세련된 GUI를 만들 수 있다. 이 시리즈를 통해 스탠드얼론 애플리케이션을 구현하는 방법을 제시할 것이다. Part 1은 Hello, World 예제로 시작한다. |
|
|
|
2003년 1월 23일 (목) |
|
| |
JDK 1.4의 프린팅 (printing), Part 2 새로운 Java Print Service API 소개, 두 번째 시간이다. John Zukowski는 프린트 작동을 위해 이벤트 리스너(event listener)를 설정하는 방법, 스크린이나 컴포넌트의 내용을 프린트하는 방법, 프린팅 작동에서 sleep() 호출을 제거하는 방법을 설명한다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
EJB best practices: Validation helper classes 디자인이 잘된 validation 프로시져들은 데이터 완결성을 증진시키고, 애플리케이션 작동을 원활하게 하며, 데이터 변경도 쉽게 할 수 있도록한다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
오디오 스윙(Swing) Swing 아키텍쳐는 개발자들이 원시 UI를 모방하는 자바 애플리케이션용 유저 인터페이스를 만드는 수단을 제공했다. Java 2 Platform, Standard Edition은 이 아이디어를 적용하여 UI 작동과 피드백 사운드를 조합하는 메커니즘으로 개념을 발전시켰다 |
|
|
|
2003년 1월 21일 (화) |
|
| |
표명 기능 이용하기 Merlin은 테스팅 향상을 위해 메소드에 사전 조건 및 사후 조건에 따른 검증 기능을 선택 사항으로 제공한다. 표명 (assertion) 기능은 실행시에 기본적으로 비활성화되어 있지만, 에러 조건을 체크하기 위해 활성화될 있다. John Zukowski는 여러분 코드에 표명에 의한 검사 기능을 추가하기 위한 기본적인 사항과, 명령행으로 그리고 프로그램적으로 표명을 활성화하고 비활성화시키는 방법에 관해 설명하겠다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
Java theory and practice: JTS 이해하기 -- 보안과 퍼포먼스 균형맞추기 (한글) JTS 시리즈를 통해 Brian은 트랜잭션의 기초와 J2EE 컨테이너가 트랜잭션 서비스를 EJB 컴포넌트에 투명하게 할 수 있는지를 설명했다. 이번에는 트랜잭션 경계화와 고립화 관리에 필요한 J2EE 기능을 설명한다. 또한 그들을 효과적으로 사용할 수 있는 가이드라인도 제시한다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
JTS 이해하기 - 장막 뒤의 마법
Part 1에서 트랜잭션이 무엇이며 신뢰성 있는 분산 애플리케이션 구축에 이들이 필수적인지에 대한 기초적인 사항들을 다루었다.
이번 회에서는 J2EE 애플리케이션이 트랜잭션으로 어떻게 체계화되며, JTS와 J2EE 컨테이너가 트랜잭션 구분, 리소스
등록, 트랜잭션 전파등을 포함한 트랜잭션 서비스들을 컴포넌트 프로그래머들에게는 거의 보이지 않게 만드는 방법을 검토하겠다.
|
|
|
|
2003년 1월 21일 (화) |
|
| |
쓴 자바"의 맛 전문 기술 잡지등에서 다루어지는 양에서도 알 수 있듯이 설계 패턴은 소프트웨어 개발에서 중요하다. 그러나 설계 패턴은 개발 프로세스에서 유용하지만 그 퍼즐의 반쪽만을 해결한다. 명확하게 부정적인 결과를 가져오는 문제에 대해 일반적으로 등장하는 솔루션'으로 설명되는 반패턴 (Antipattern)은 자바 프로그래머들에게 일반적인 자바의 함점을 피할수 있는 방법을 보여줌으로서 나머지 반쪽을 해결하고자 한다. 이 글에서 반 패턴 전문가이자 Bitter Java의 저명한 저자인 Bruce Tate는 왜 반패턴이 설계 패턴에 필요하고 그것과 보완적인 짝이 되는지, 그리고 어떻게 작동하는지를 보여준다. |
|
|
|
2003년 1월 14일 (화) |
|
| |
MIDlets 클래스 여러분은 자바 가상 머신을 메모리 용량이 적고 자원이 제한되어 있으며 네트워크로 연결된 환경에 적합하게 만들고 싶을 것이다. K 가상 머신 (KVM)의 중심에 특수한 자바 클래스가 있는데, MIDlet이 그것이다. 이 글에서 Soma Ghosh는 여러분에게 MIDlet 클래스의 장단점을 소개하고 여러분 자신의 J2ME 애플리케이션을 구축할 때 이를 활용하는 방법을 소개하겠다. 여러분은 MIDlet의 이론을 배우고 난 후 그녀가 구축하는 샘플 프로그램을 통해 그 기술이 실행되는 것을 확인하게 될 것이다. |
|
|
|
2003년 1월 14일 (화) |
|
| |
Diagnosing Java Code: 대화식 검사 기능을 제공하는 Repls 보통 자바 프로그램을 실행시킬 때는 String[] 입력 인수를 사용하여 매개변수들을 전달하면서 main() 메소드로부터 프로그램이 수행되어야 한다 그러나 프로그램이 아직 디버깅되고 있을 때는 이것이 성가신 작업이 될 수 있다. 이번 달에 Eric Allen은 프로그램의 표현과 구문들을 대화식으로 검사할 때의 이점에 대해 설명하고, 이 작업을 도와주는 몇 가지 자바 repls(read-eval-print-loop 툴)을 제시한다. 그는 또한 대화형 검사 방법이 GUI를 구축하고 새로운 API를 조사하는데 얼마나 유용한지를 설명한다. 이 글을 읽고 나면 여러분은 사전에 디버깅된 프로그램에서 오동작을 대화형으로 진단해야 하는 이유와 그 방법을 알게 될 것이고 여러분의 작업을 도와 줄 몇몇 자바 툴에 접근할 수 있을 것이다. |
|
|
|
2003년 1월 14일 (화) |
|
| |
플랫폼간 이식성 있는 원시 GUI 애플리케이션 개발하기
자바 언어는 서버측과 애플릿 분야에서 뚜렷한 발전을 이룩했지만, 최종 사용자 애플리케이션에 있어서는 그렇지 못했다. 리눅스,
GNU Compiler for Java 및 Standard Widget Toolkit을 사용하면 자바 언어로 프로그래밍된
신속한 원시 GUI 애플리케이션을 개발할 수 있다. (Windows도 머지 않았다). 베테랑 자바 개발자인 Kirk Vogen이
그 방법을 보여준다. |
|
|
|
2003년 1월 4일 (토) |
|
| |
EJB best practices: delegation의 한계 business delegate pattern은 EJB 추상화에 있어서 대중적인 솔루션이지만 한계도 있다. Brett McLaughlin은 그 한계를 이야기한다. 또한 이를 대체 할 방안도 검토될 것이다. |
|
|
|
2002년 12월 3일 (화) |
|
| |
벤더로 부터 독립된 JMS 솔루션 구현하기 최근 자바 메시지 서비스 (JMS)의 인기가 급상승하고 있는데, 아마도 실시간 메시징 분야의 몇몇 주요 업체들의 지원에 힘입은 것으로 보인다. 점점 더 많은 수의 벤더들이 JMS에 뛰어듦에 따라 여러분의 JMS 코드가 여러 개의 독자적 구현 제품에서 수정 없이 작동되리라는 것을 확신할 만도 하다. 자바 설계자인 Nicholas Whitehead는 몇 가지 간단한 단계를 통해 벤더에 중립적인 JMS 솔루션을 만들 수 있도록 JMS와 자바 Naming and Directory 인터페이스, 그리고 잘 만들어진 특성파일을 결합시키는 방법을 보여주고 있다. |
|
|
|
2002년 11월 19일 (화) |
|
| |
팁: J2ME를 이용한 모바일 결제(m-payments) (한글) 이-커머스(e-commerce)의 또 다른 측면인 m-payment를 검토해본다. M-payment는 모바일 디바이스 상에서 Java 2 Platform Micro Edition (J2ME) 프레임웍을 이용하여 비지니스를 할 수 있는 방식이다. |
|
|
|
2002년 11월 1일 (금) |
|
| |
JSP 코드로 이미지 관리하기 웹 사이트를 코딩하고 지원하거나 인터넷에 페이지를 갖고 있다면 독자들의 필요를 충족시키는 이미지를 제공하는 것이 얼마나 어려운 일인지 알 것이다. JavaServer Pages (JSP) 태그를 이용하여 이미지 관리를 시도해보자. |
|
|
|
2002년 11월 1일 (금) |
|
| |
EJB best practices: 동적 delegate business delegate 클래스는 엔터프라이즈 자바 디자인에 놀라운 유연성을 부여했지만 애플리케이션의 모든 세션에 business delegate를 코딩하는 일은 여간 성가신 일이 아닐 수 없다. 이 글을 통해, 좀더 일반적인 버전의 business delegate 클래스인 동적 delegate를 만드는 방법을 배워보자. |
|
|
|
2002년 11월 1일 (금) |
|
| |
Extreme Programming : 다르게 생각하기 XP 실전 돌입에 앞서 생각하는 방식에 변화를 가져오는 방법 부터 설명하고자 한다. 이것은 쉬운 일은 아니다. XP에는 대부분의 프로그래머나 비지니스 관계자들의 마음자세를 달리 해야하는 무언가가 있다. |
|
|
|
2002년 11월 1일 (금) |
|
| |
Eclipse Platform 시작하기 Eclipse Platform을 소개한다. 기원과 아키텍쳐를 비롯하여 Eclipse의 오픈 소스적 특성과 다중 프로그래밍 언어 지원 등을 다룬다. 간단한 프로그램 예제를 사용하여 자바 개발 환경을 보여줄 것이다. |
|
|
|
2002년 11월 1일 (금) |
|
| |
EJB best practices: Business Delegate 패턴 애플리케이션 플래닝에 있어서 가장 복잡한 문제 중 하나는 비즈니스와 구현 티어(tier) 사이를 반드시 분리해야 한다는 점이다. Business Delegate 패턴은 애플리케이션의 유지보수와 업그레이드를 어렵게 만드는 커플링(coupling)을 방지한다. |
|
|
|
2002년 10월 22일 (화) |
|
| |
EJB best practices: 엔터티 빈 보호 엔터티 빈을 웹 티어(tier)에게 직접 노출하지 않고 애플리케이션에 사용자들이 액세스 할 수 있도록 하려면? 하지만 이것은 애플리케이션에 보안 위협을 가져올 수 있다. Brett McLaughlin은 엔터티 빈에는 안전하고 전체 애플리케이션에는 효율적인 솔루션을 제안한다. |
|
|
|
2002년 10월 8일 (화) |
|
| |
자바 프로그래밍으로 온라인 XML 데이터 검색하기 인터넷에 정보를 퍼블리싱하는 것이 보편화 되어 가면서 이러한 정보를 발견하고 요청하는 것 또한 자연스러운 일이 되었다. 이 글은 자바 프로그래밍을 사용하여 웹 기반 XML 데이터를 얻고 데이터를 파싱하여 필요한 엘리먼트와 속성들을 필터링하고 요청된 정보를 이용하여 작업을 수행하는 방법을 설명한다. |
|
|
|
2002년 9월 1일 (일) |
|
| |
Schema Infoset Model로 XML 스키마 분석하기 스키마(Schema)가 복잡해지면 스키마를 조작할 툴에 대한 필요도 많아지게 된다. 새로운 Schema Infoset Model은 스키마 자체의 완벽한 모델링 뿐만 아니라 구체적인 구현과 스키마 또는 스키마 세트에서의 추상 관계를 보여준다. 이 글에서는 스키마 모델을 쉽게 요청할 수 있는 라이브러리를 설명한다. 모든 문제를 해결하도록 스키마를 업데이트 할 수 있는 방법도 제시한다. |
|
|
|
2002년 6월 1일 (토) |
|
| |
Double-checked locking과 Singleton 패턴 모든 프로그래밍 언어에는 고유의 이디엄이 있다. 이중 대부분이 유용하다. 문제는 몇몇 이디엄의 경우 원래 표명했던 것이 아니라는 것이 나중에 입증되거나 설명한대로 작동하지 않다는 점이다. 자바에는 많은 유용한 이디엄이 있다. 하지만 결코 사용되어서는 안되는 이디엄도 있다. Double-checked locking이 바로 그것이다. 이글에서는 double-checked locking 이디엄의 근원부터 살펴본다. |
|
|
|
2002년 5월 21일 (화) |
|
| |
Robocode 마스터의 비밀: 피할 수 있는 지점을 설정하고, 움직임 패턴을 만들어 적의 총알을 피한다! (한글) 반중력 운동(Anti-gravity movement)은 대부분의 Robocoder 전문가들이 선택하는 움직임 유형이다. 이를 사용하여 지도상에서 피할 수 있는 지점을 설정하고 움직임 패턴을 만들며 적의 총알을 피할 수 있다. |
|
|
|
2002년 5월 1일 (수) |
|
| |
Robocode: 제 2 라운드 (한글) 고급 로봇 구조와 팀 플레이를 배워 Robocode의 더 깊은 경지를 체험할 준비가 되었는가? |
|
|
|
2002년 5월 1일 (수) |
|
| |
AlphaBot: Robocode 창시자 Mat Nelson 인터뷰 (한글) Robocode는 자바 프로그래밍을 가르치면서 우연히 생긴 중독성의 게임이다. |
|
|
|
2002년 5월 1일 (수) |
|
| |
자바의 해방 : Jason Hunter 인터뷰 여러분이 몇 주 전에 열린 JavaOne을 지켜보았다면 오픈 소스 소프트웨어가 Java community process (JCP)에 참여하는 방법상의 어려움을 Sun과 Apache Software Foundation이 어떻게 해결했는지 들었을 것이다. 하지만, 몇 가지 사항들이 미스터리로 남아 있을 것이다. developerWorks는 Java community process의 아파치 측 대표인 Jason Hunter를 만나 진행 상황에 관해 이야기를 나누었다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
Diagnosing Java Code: Run-on Initializer 버그 패턴 여러분은 종종 생성자 호출을 통해서 뿐 아니라 다양한 필드를 설정하기 위한 몇 가지 후속 작업을 통해 클래스를 초기화하는 코드를 본적이 있을 것이다. 그러한 후속 작업들은 불행히도 버그의 온상지이며, run-on initialization이라는 유형의 버그를 초래한다. Eric Allen은 run-on initializer 버그를 검토하고 이 버그를 피해야 하는 이유와 방법을 설명하며, 이 버그가 가져올 수 있는 피해를 최소화하는 방법을 보여준다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
P2P 상호 운용성 확보하기: JXTA 시스템 개발하기 모바일 컴퓨팅의 인기가 높아지고 네트워크에 연결 가능한 내장 마이크로프로세서가 널리 적용됨에 따라 TCP/IP 프로토콜이 마침내 그 노후성을 드러내고 있다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
JavaOne 2002: 전시장 관람기 대부분의 쇼가 해마다 그리 많이 바뀌는 것은 아니다. 그러나 JavaOne 2001과 2002 간에 제품과 벤더가 일부 겹치기기는 했지만 올해의 JavaOne 전시회장은 작년에 비해 많은 면에서 눈에 띄게 달랐다. 자바 개발자 Brian Goetx는 전시회장을 철저히 살펴보고 개발자들이 사용할 수 있는 새롭고 흥미 있는 몇 가지 툴을 소개한다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
JavaOne 2002: 오픈 소스 그룹이 변화하고 있다! Java zone 컬럼니스트인 Brian Goetx는 "오픈 소스 그룹과 자바 언어에서 무슨 일이 일어나고 있는지를 발견하는 것"이라는 의제로 올해의 JavaOne 컨퍼런스를 정의하고 있다. 아주 좋은 뉴스가 들린다. |
|
|
|
2002년 3월 28일 (목) |
|
| |
developerWorks: Java technology : JavaOne 2002: 최고의 혁신 기술들 Govind Seshadri는 JavaOne 2002에서 중요 뉴스가 되었던 혁신적인 부분들을 요약하였다. |
|
|
|
2002년 3월 28일 (목) |
|
| |
Merlin으로 자바 플랫폼에 nonblocking 입출력 가능 자바 기술 플랫폼에서는 오랫동안 nonblocking 입출력 메카니즘이 지연되어 왔다. 다행히도 Merlin (JDK 1.4)은 거의 모든 상황에 적용되는 마법 지팡이를 가지고 있고, 블록화된 입출력을 푸는 것이 이 마법사의 전공이다. 소프트웨어 엔지니어인 Aruna Kalagnanam와 Balu G는 Merlin의 새로운 입출력 패키지인 java.nio (NIO)의 nonblocking 기능을 소개하고, NIO가 할 수 있는 것을 보여 주기 위해 소켓 프로그래밍의 예를 사용한다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
자바 빈과 테트리스 (한글) IBM 소프트웨어 엔지니어 (마음은 게이머)인 Scott Clee가 테트리스 게임 모델을 재사용 가능한 자바 빈 컴포넌트로 포장하는 간단한 방법을 소개한다. 일단 게임의 구성 요소들이 자바 객체들로 나누어지면 완전한 게임 모델 빈을 형성하도록 재조립될 수 있고, 실제로 어떤 테트리스 GUI에도 결합될 수 있다. forum에서 이 글에 대한 여러분의 생각을 저자와 다른 독자들과 공유하기 바란다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
Gems from e-BIT IBM e-비즈니스 통합 기술 부문(구 Java Technology Centre)의 전문가가 여러분이 즉시 작업에 이용할 수 있는 조언들과 코드 일부를 제공한다. 이번 달에는 finalizer를 피해야 하는 이유와 방법, 대형 JMenus를 표시하는 방법에 관한 것들이다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
기업에서의 RMI-IIOP RMI-IIOP에 대해 간단히 소개하고, 간단한 자바 기반의 RMI-IIOP 클라이언트/서버 애플리케이션을 구축하고 실행시키는 방법을 보여준다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
Diagnosing Java code: '스팩(specification)'이라는 줄타기를 하다. 프로그램 사양은 모든 소프트웨어 프로젝트에서 중요하지만 시간이 많이 드는 부분이다. Eric Allen은 코드에 잘 정의된 사양이 왜 필요한지를 설명하고 첨단 프로그래밍 기법 뿐 아니라 전통적인 소프트웨어 엔지니어링 방식에 대해서도 장점 및 단점을 비교하며 살펴본다. |
|
|
|
2002년 2월 19일 (화) |
|
| |
다중 스레드 애플리케이션 프로그래밍을 쉽게 생산자-소비자 시나리오는 다중 스레드된 애플리케이션 개발에서 가장 많이 사용되는 구성 개념 중 하나이고, 여기에 문제가 있다. |
|
|
|
2002년 2월 1일 (금) |
|
| |
차세대 기업 애플리케이션에 JMS를 사용해야 한다면? 베테랑 자바 개발자인 Brian Goetz가 새로이 연재를 시작한 월간 칼럼인 Java theory and practice 에 오신 것을 환영한다. 이 컬럼은 설계 원칙들이 실세계의 문제 해결에 필요한 요건을 충족시키는 알기 어려운 시점을 연구하는데 목표를 두고 있다. 매달 우리는 설계 패턴, 신뢰성 있는 소프트웨어 설계의 원칙, 그리고 최상의 사례가 왜 최상인지 등에 대하여 이들이 실제 문제에 어떻게 적용되는지에 주의하면서 살펴볼 것이다. 이번 달에 Brian은 기업 메시지 queuing 기술을 살펴본다. |
|
|
|
2002년 2월 1일 (금) |
|
| |
수학 내용을 포함하는 동적 웹 사이트 구축하기 글자의 위와 아래에 붙어있는 문자들과 특수한 기호를 가진 수학 공식을 HTML로 변환하기는 엄청나게 어려운 일이다. 대부분의 과학자와 수학자들은 미적으로 보기 좋은 공식을 만들어내기 위해 유연한 LateX 텍스트 처리기를 사용한다. 그런데 이 결과물들을 어떻게 웹에 친근한 형태로 변환할 수 있을까 ? 이 글에서 Michael Yuan은 JSP 페이지와 커스텀 태그를 이용해 LateX 포맷의 공식을 작성자가 사용하기 쉽고 클라이언트에도 특별한 소프트웨어가 필요지 않도록 웹에 올릴 수 있는 방법을 보여준다. 그가 점차 효율성이 높아지는 기법들을 반복함에 따라 여러분은 서버측 자바 기술이 서로 이기종의 third-party 도구들의 힘을 이용하여 외관상 까다롭기 그지없는 문제들을 어떻게 해결해가는지를 보게될 것이다. |
|
|
|
2002년 2월 1일 (금) |
|
| |