 |
 |
 |
 |
 |
 |
Struts, 오픈 소스 MVC 구현 서블릿과 JavaServer Pages (JSP)를 사용하는 Model-View-Controller 구현인 Struts를 소개한다.
Struts로 웹 프로젝트의 변경을 관리한다. Struts로 시스템을 구현하지 않더라도 Struts를 이해한다면
서블릿과 JSP 구현에 많은 도움을 받을 수 있다. |
|
|
|
2001년 2월 1일 (목) |
|
| |
Aspect -oriented programming으로 모듈화 향상시키기 : 자바 언어에 AOP를 가져다 주는 AspectJ Aspect-oriented programming(AOP)은 프로그래머들이 로깅과 같이 일반적인 책임 구분을 넘어서는 행위인 횡단적 사항을 모듈화하도록 해주는 새로운 프로그래밍 기법이다. AOP는 여러 클래스에 영향을 미치는 행위들을 재사용 가능한 모듈로 캡슐화시키는 aspect을 제공한다. XeroX PARC사가 최근 출시한 AspectJ로 자바 개발자들은 이제 AOP가 제공하는 모듈화를 이용할 수 있게 되었다. 이 글은 AspectJ를 소개하고 이를 사용하여 얻을 수 있는 설계상의 이점을 설명한다. |
|
|
|
2002년 1월 1일 (화) |
|
| |
커스텀 태그로 JSP 페이지 제어하기 (한글) JavaServer Pages 기술은 웹 개발자들에게 중요한 기능을 제공하지만, 많은 개발자들이 이 기술의 전 능력을 활용하지 못하고 있다. e-비즈니스 설계자인 Jeff Wilson (IBM의 존경받는 DragonSlayers 팀의 멤버이기도 함)은 이 기술에서 더 많은 것을 얻어 내기 위하여 JSP 태그를 커스터마이즈하는 방법을 보여준다. 이 글에서 그가 상세히 설명한 기법을 이용해서 여러분은 JSP에 보다 복잡한 로직을 추가하고 데이터 화면 출력을 더 엄격하게 제어하고 태그 간에 데이터를 공유시킬 수 있는데, 일선 웹 개발자들에게 자바 코드 작성법을 가르치지 않고도 이 모든 것을 할 수 있다. |
|
|
|
2002년 1월 1일 (화) |
|
| |
Diagnosing Java Code: 깊이 우선 Visitor와 broken dispatches 이번 "Diagnosing Java Code" 연재에서 Eric Allen은 Visitor 패턴의 한 변형인 깊이 우선 visitor (depth-first visitors)를 사용해 여러분 코드의 간결성을 높이는 것이 어떻게 가능한지를 설명한다. 그는 기법을 설명하고 잇점과 주의점을 논의하며 사용시 나타나는 버그 패턴에 대해 독자들에게 경고하고 깊이 우선 visitor의 특정 실례를 보여줄 것이다. 이 글을 읽은 후 여러분은 코딩할 때 도움이 되도록 깊이 우선 visitors를 사용하는 방법을 이해하게 될 것이고 이 기법을 적용할 때의 함정에 대해서도 알게 될 것이다. |
|
|
|
2002년 1월 1일 (화) |
|
| |
IP 멀티캐스트 기반의 검색 P2P 애플리케이션의 피어(peer)들은 유용한 작업을 수행하기 위해 서로를 발견하고 상호작용할 수 있어야 한다. Todd는 이 글에서 피어들이 서로를 검색하는데 사용할 수 있는 몇 가지 다른 메커니즘을 기술하고 각각의 장단점을 설명하였다. 이번 달에는 IP 멀티캐스트에 기반하여 검색을 구현하는 방법을 설명하도록 하겠다. |
|
|
|
2002년 2월 1일 (금) |
|
| |
수학 내용을 포함하는 동적 웹 사이트 구축하기 글자의 위와 아래에 붙어있는 문자들과 특수한 기호를 가진 수학 공식을 HTML로 변환하기는 엄청나게 어려운 일이다. 대부분의 과학자와 수학자들은 미적으로 보기 좋은 공식을 만들어내기 위해 유연한 LateX 텍스트 처리기를 사용한다. 그런데 이 결과물들을 어떻게 웹에 친근한 형태로 변환할 수 있을까 ? 이 글에서 Michael Yuan은 JSP 페이지와 커스텀 태그를 이용해 LateX 포맷의 공식을 작성자가 사용하기 쉽고 클라이언트에도 특별한 소프트웨어가 필요지 않도록 웹에 올릴 수 있는 방법을 보여준다. 그가 점차 효율성이 높아지는 기법들을 반복함에 따라 여러분은 서버측 자바 기술이 서로 이기종의 third-party 도구들의 힘을 이용하여 외관상 까다롭기 그지없는 문제들을 어떻게 해결해가는지를 보게될 것이다. |
|
|
|
2002년 2월 1일 (금) |
|
| |
차세대 기업 애플리케이션에 JMS를 사용해야 한다면? 베테랑 자바 개발자인 Brian Goetz가 새로이 연재를 시작한 월간 칼럼인 Java theory and practice 에 오신 것을 환영한다. 이 컬럼은 설계 원칙들이 실세계의 문제 해결에 필요한 요건을 충족시키는 알기 어려운 시점을 연구하는데 목표를 두고 있다. 매달 우리는 설계 패턴, 신뢰성 있는 소프트웨어 설계의 원칙, 그리고 최상의 사례가 왜 최상인지 등에 대하여 이들이 실제 문제에 어떻게 적용되는지에 주의하면서 살펴볼 것이다. 이번 달에 Brian은 기업 메시지 queuing 기술을 살펴본다. |
|
|
|
2002년 2월 1일 (금) |
|
| |
다중 스레드 애플리케이션 프로그래밍을 쉽게 생산자-소비자 시나리오는 다중 스레드된 애플리케이션 개발에서 가장 많이 사용되는 구성 개념 중 하나이고, 여기에 문제가 있다. |
|
|
|
2002년 2월 1일 (금) |
|
| |
Diagnosing Java code: '스팩(specification)'이라는 줄타기를 하다. 프로그램 사양은 모든 소프트웨어 프로젝트에서 중요하지만 시간이 많이 드는 부분이다. Eric Allen은 코드에 잘 정의된 사양이 왜 필요한지를 설명하고 첨단 프로그래밍 기법 뿐 아니라 전통적인 소프트웨어 엔지니어링 방식에 대해서도 장점 및 단점을 비교하며 살펴본다. |
|
|
|
2002년 2월 19일 (화) |
|
| |
기업에서의 RMI-IIOP RMI-IIOP에 대해 간단히 소개하고, 간단한 자바 기반의 RMI-IIOP 클라이언트/서버 애플리케이션을 구축하고 실행시키는 방법을 보여준다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
Gems from e-BIT IBM e-비즈니스 통합 기술 부문(구 Java Technology Centre)의 전문가가 여러분이 즉시 작업에 이용할 수 있는 조언들과 코드 일부를 제공한다. 이번 달에는 finalizer를 피해야 하는 이유와 방법, 대형 JMenus를 표시하는 방법에 관한 것들이다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
자바 빈과 테트리스 (한글) IBM 소프트웨어 엔지니어 (마음은 게이머)인 Scott Clee가 테트리스 게임 모델을 재사용 가능한 자바 빈 컴포넌트로 포장하는 간단한 방법을 소개한다. 일단 게임의 구성 요소들이 자바 객체들로 나누어지면 완전한 게임 모델 빈을 형성하도록 재조립될 수 있고, 실제로 어떤 테트리스 GUI에도 결합될 수 있다. forum에서 이 글에 대한 여러분의 생각을 저자와 다른 독자들과 공유하기 바란다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
Merlin으로 자바 플랫폼에 nonblocking 입출력 가능 자바 기술 플랫폼에서는 오랫동안 nonblocking 입출력 메카니즘이 지연되어 왔다. 다행히도 Merlin (JDK 1.4)은 거의 모든 상황에 적용되는 마법 지팡이를 가지고 있고, 블록화된 입출력을 푸는 것이 이 마법사의 전공이다. 소프트웨어 엔지니어인 Aruna Kalagnanam와 Balu G는 Merlin의 새로운 입출력 패키지인 java.nio (NIO)의 nonblocking 기능을 소개하고, NIO가 할 수 있는 것을 보여 주기 위해 소켓 프로그래밍의 예를 사용한다. |
|
|
|
2002년 3월 1일 (금) |
|
| |
developerWorks: Java technology : JavaOne 2002: 최고의 혁신 기술들 Govind Seshadri는 JavaOne 2002에서 중요 뉴스가 되었던 혁신적인 부분들을 요약하였다. |
|
|
|
2002년 3월 28일 (목) |
|
| |
JavaOne 2002: 오픈 소스 그룹이 변화하고 있다! Java zone 컬럼니스트인 Brian Goetx는 "오픈 소스 그룹과 자바 언어에서 무슨 일이 일어나고 있는지를 발견하는 것"이라는 의제로 올해의 JavaOne 컨퍼런스를 정의하고 있다. 아주 좋은 뉴스가 들린다. |
|
|
|
2002년 3월 28일 (목) |
|
| |
JavaOne 2002: 전시장 관람기 대부분의 쇼가 해마다 그리 많이 바뀌는 것은 아니다. 그러나 JavaOne 2001과 2002 간에 제품과 벤더가 일부 겹치기기는 했지만 올해의 JavaOne 전시회장은 작년에 비해 많은 면에서 눈에 띄게 달랐다. 자바 개발자 Brian Goetx는 전시회장을 철저히 살펴보고 개발자들이 사용할 수 있는 새롭고 흥미 있는 몇 가지 툴을 소개한다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
P2P 상호 운용성 확보하기: JXTA 시스템 개발하기 모바일 컴퓨팅의 인기가 높아지고 네트워크에 연결 가능한 내장 마이크로프로세서가 널리 적용됨에 따라 TCP/IP 프로토콜이 마침내 그 노후성을 드러내고 있다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
Diagnosing Java Code: Run-on Initializer 버그 패턴 여러분은 종종 생성자 호출을 통해서 뿐 아니라 다양한 필드를 설정하기 위한 몇 가지 후속 작업을 통해 클래스를 초기화하는 코드를 본적이 있을 것이다. 그러한 후속 작업들은 불행히도 버그의 온상지이며, run-on initialization이라는 유형의 버그를 초래한다. Eric Allen은 run-on initializer 버그를 검토하고 이 버그를 피해야 하는 이유와 방법을 설명하며, 이 버그가 가져올 수 있는 피해를 최소화하는 방법을 보여준다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
자바의 해방 : Jason Hunter 인터뷰 여러분이 몇 주 전에 열린 JavaOne을 지켜보았다면 오픈 소스 소프트웨어가 Java community process (JCP)에 참여하는 방법상의 어려움을 Sun과 Apache Software Foundation이 어떻게 해결했는지 들었을 것이다. 하지만, 몇 가지 사항들이 미스터리로 남아 있을 것이다. developerWorks는 Java community process의 아파치 측 대표인 Jason Hunter를 만나 진행 상황에 관해 이야기를 나누었다. |
|
|
|
2002년 4월 1일 (월) |
|
| |
AlphaBot: Robocode 창시자 Mat Nelson 인터뷰 (한글) Robocode는 자바 프로그래밍을 가르치면서 우연히 생긴 중독성의 게임이다. |
|
|
|
2002년 5월 1일 (수) |
|
| |
Robocode: 제 2 라운드 (한글) 고급 로봇 구조와 팀 플레이를 배워 Robocode의 더 깊은 경지를 체험할 준비가 되었는가? |
|
|
|
2002년 5월 1일 (수) |
|
| |
Robocode 마스터의 비밀: 피할 수 있는 지점을 설정하고, 움직임 패턴을 만들어 적의 총알을 피한다! (한글) 반중력 운동(Anti-gravity movement)은 대부분의 Robocoder 전문가들이 선택하는 움직임 유형이다. 이를 사용하여 지도상에서 피할 수 있는 지점을 설정하고 움직임 패턴을 만들며 적의 총알을 피할 수 있다. |
|
|
|
2002년 5월 1일 (수) |
|
| |
Double-checked locking과 Singleton 패턴 모든 프로그래밍 언어에는 고유의 이디엄이 있다. 이중 대부분이 유용하다. 문제는 몇몇 이디엄의 경우 원래 표명했던 것이 아니라는 것이 나중에 입증되거나 설명한대로 작동하지 않다는 점이다. 자바에는 많은 유용한 이디엄이 있다. 하지만 결코 사용되어서는 안되는 이디엄도 있다. Double-checked locking이 바로 그것이다. 이글에서는 double-checked locking 이디엄의 근원부터 살펴본다. |
|
|
|
2002년 5월 21일 (화) |
|
| |
Schema Infoset Model로 XML 스키마 분석하기 스키마(Schema)가 복잡해지면 스키마를 조작할 툴에 대한 필요도 많아지게 된다. 새로운 Schema Infoset Model은 스키마 자체의 완벽한 모델링 뿐만 아니라 구체적인 구현과 스키마 또는 스키마 세트에서의 추상 관계를 보여준다. 이 글에서는 스키마 모델을 쉽게 요청할 수 있는 라이브러리를 설명한다. 모든 문제를 해결하도록 스키마를 업데이트 할 수 있는 방법도 제시한다. |
|
|
|
2002년 6월 1일 (토) |
|
| |
자바 프로그래밍으로 온라인 XML 데이터 검색하기 인터넷에 정보를 퍼블리싱하는 것이 보편화 되어 가면서 이러한 정보를 발견하고 요청하는 것 또한 자연스러운 일이 되었다. 이 글은 자바 프로그래밍을 사용하여 웹 기반 XML 데이터를 얻고 데이터를 파싱하여 필요한 엘리먼트와 속성들을 필터링하고 요청된 정보를 이용하여 작업을 수행하는 방법을 설명한다. |
|
|
|
2002년 9월 1일 (일) |
|
| |
EJB best practices: 엔터티 빈 보호 엔터티 빈을 웹 티어(tier)에게 직접 노출하지 않고 애플리케이션에 사용자들이 액세스 할 수 있도록 하려면? 하지만 이것은 애플리케이션에 보안 위협을 가져올 수 있다. Brett McLaughlin은 엔터티 빈에는 안전하고 전체 애플리케이션에는 효율적인 솔루션을 제안한다. |
|
|
|
2002년 10월 8일 (화) |
|
| |
EJB best practices: Business Delegate 패턴 애플리케이션 플래닝에 있어서 가장 복잡한 문제 중 하나는 비즈니스와 구현 티어(tier) 사이를 반드시 분리해야 한다는 점이다. Business Delegate 패턴은 애플리케이션의 유지보수와 업그레이드를 어렵게 만드는 커플링(coupling)을 방지한다. |
|
|
|
2002년 10월 22일 (화) |
|
| |
Eclipse Platform 시작하기 Eclipse Platform을 소개한다. 기원과 아키텍쳐를 비롯하여 Eclipse의 오픈 소스적 특성과 다중 프로그래밍 언어 지원 등을 다룬다. 간단한 프로그램 예제를 사용하여 자바 개발 환경을 보여줄 것이다. |
|
|
|
2002년 11월 1일 (금) |
|
| |
Extreme Programming : 다르게 생각하기 XP 실전 돌입에 앞서 생각하는 방식에 변화를 가져오는 방법 부터 설명하고자 한다. 이것은 쉬운 일은 아니다. XP에는 대부분의 프로그래머나 비지니스 관계자들의 마음자세를 달리 해야하는 무언가가 있다. |
|
|
|
2002년 11월 1일 (금) |
|
| |
EJB best practices: 동적 delegate business delegate 클래스는 엔터프라이즈 자바 디자인에 놀라운 유연성을 부여했지만 애플리케이션의 모든 세션에 business delegate를 코딩하는 일은 여간 성가신 일이 아닐 수 없다. 이 글을 통해, 좀더 일반적인 버전의 business delegate 클래스인 동적 delegate를 만드는 방법을 배워보자. |
|
|
|
2002년 11월 1일 (금) |
|
| |
JSP 코드로 이미지 관리하기 웹 사이트를 코딩하고 지원하거나 인터넷에 페이지를 갖고 있다면 독자들의 필요를 충족시키는 이미지를 제공하는 것이 얼마나 어려운 일인지 알 것이다. JavaServer Pages (JSP) 태그를 이용하여 이미지 관리를 시도해보자. |
|
|
|
2002년 11월 1일 (금) |
|
| |
팁: J2ME를 이용한 모바일 결제(m-payments) (한글) 이-커머스(e-commerce)의 또 다른 측면인 m-payment를 검토해본다. M-payment는 모바일 디바이스 상에서 Java 2 Platform Micro Edition (J2ME) 프레임웍을 이용하여 비지니스를 할 수 있는 방식이다. |
|
|
|
2002년 11월 1일 (금) |
|
| |
벤더로 부터 독립된 JMS 솔루션 구현하기 최근 자바 메시지 서비스 (JMS)의 인기가 급상승하고 있는데, 아마도 실시간 메시징 분야의 몇몇 주요 업체들의 지원에 힘입은 것으로 보인다. 점점 더 많은 수의 벤더들이 JMS에 뛰어듦에 따라 여러분의 JMS 코드가 여러 개의 독자적 구현 제품에서 수정 없이 작동되리라는 것을 확신할 만도 하다. 자바 설계자인 Nicholas Whitehead는 몇 가지 간단한 단계를 통해 벤더에 중립적인 JMS 솔루션을 만들 수 있도록 JMS와 자바 Naming and Directory 인터페이스, 그리고 잘 만들어진 특성파일을 결합시키는 방법을 보여주고 있다. |
|
|
|
2002년 11월 19일 (화) |
|
| |
EJB best practices: delegation의 한계 business delegate pattern은 EJB 추상화에 있어서 대중적인 솔루션이지만 한계도 있다. Brett McLaughlin은 그 한계를 이야기한다. 또한 이를 대체 할 방안도 검토될 것이다. |
|
|
|
2002년 12월 3일 (화) |
|
| |
플랫폼간 이식성 있는 원시 GUI 애플리케이션 개발하기
자바 언어는 서버측과 애플릿 분야에서 뚜렷한 발전을 이룩했지만, 최종 사용자 애플리케이션에 있어서는 그렇지 못했다. 리눅스,
GNU Compiler for Java 및 Standard Widget Toolkit을 사용하면 자바 언어로 프로그래밍된
신속한 원시 GUI 애플리케이션을 개발할 수 있다. (Windows도 머지 않았다). 베테랑 자바 개발자인 Kirk Vogen이
그 방법을 보여준다. |
|
|
|
2003년 1월 4일 (토) |
|
| |
Diagnosing Java Code: 대화식 검사 기능을 제공하는 Repls 보통 자바 프로그램을 실행시킬 때는 String[] 입력 인수를 사용하여 매개변수들을 전달하면서 main() 메소드로부터 프로그램이 수행되어야 한다 그러나 프로그램이 아직 디버깅되고 있을 때는 이것이 성가신 작업이 될 수 있다. 이번 달에 Eric Allen은 프로그램의 표현과 구문들을 대화식으로 검사할 때의 이점에 대해 설명하고, 이 작업을 도와주는 몇 가지 자바 repls(read-eval-print-loop 툴)을 제시한다. 그는 또한 대화형 검사 방법이 GUI를 구축하고 새로운 API를 조사하는데 얼마나 유용한지를 설명한다. 이 글을 읽고 나면 여러분은 사전에 디버깅된 프로그램에서 오동작을 대화형으로 진단해야 하는 이유와 그 방법을 알게 될 것이고 여러분의 작업을 도와 줄 몇몇 자바 툴에 접근할 수 있을 것이다. |
|
|
|
2003년 1월 14일 (화) |
|
| |
MIDlets 클래스 여러분은 자바 가상 머신을 메모리 용량이 적고 자원이 제한되어 있으며 네트워크로 연결된 환경에 적합하게 만들고 싶을 것이다. K 가상 머신 (KVM)의 중심에 특수한 자바 클래스가 있는데, MIDlet이 그것이다. 이 글에서 Soma Ghosh는 여러분에게 MIDlet 클래스의 장단점을 소개하고 여러분 자신의 J2ME 애플리케이션을 구축할 때 이를 활용하는 방법을 소개하겠다. 여러분은 MIDlet의 이론을 배우고 난 후 그녀가 구축하는 샘플 프로그램을 통해 그 기술이 실행되는 것을 확인하게 될 것이다. |
|
|
|
2003년 1월 14일 (화) |
|
| |
쓴 자바"의 맛 전문 기술 잡지등에서 다루어지는 양에서도 알 수 있듯이 설계 패턴은 소프트웨어 개발에서 중요하다. 그러나 설계 패턴은 개발 프로세스에서 유용하지만 그 퍼즐의 반쪽만을 해결한다. 명확하게 부정적인 결과를 가져오는 문제에 대해 일반적으로 등장하는 솔루션'으로 설명되는 반패턴 (Antipattern)은 자바 프로그래머들에게 일반적인 자바의 함점을 피할수 있는 방법을 보여줌으로서 나머지 반쪽을 해결하고자 한다. 이 글에서 반 패턴 전문가이자 Bitter Java의 저명한 저자인 Bruce Tate는 왜 반패턴이 설계 패턴에 필요하고 그것과 보완적인 짝이 되는지, 그리고 어떻게 작동하는지를 보여준다. |
|
|
|
2003년 1월 14일 (화) |
|
| |
JTS 이해하기 - 장막 뒤의 마법
Part 1에서 트랜잭션이 무엇이며 신뢰성 있는 분산 애플리케이션 구축에 이들이 필수적인지에 대한 기초적인 사항들을 다루었다.
이번 회에서는 J2EE 애플리케이션이 트랜잭션으로 어떻게 체계화되며, JTS와 J2EE 컨테이너가 트랜잭션 구분, 리소스
등록, 트랜잭션 전파등을 포함한 트랜잭션 서비스들을 컴포넌트 프로그래머들에게는 거의 보이지 않게 만드는 방법을 검토하겠다.
|
|
|
|
2003년 1월 21일 (화) |
|
| |
Java theory and practice: JTS 이해하기 -- 보안과 퍼포먼스 균형맞추기 (한글) JTS 시리즈를 통해 Brian은 트랜잭션의 기초와 J2EE 컨테이너가 트랜잭션 서비스를 EJB 컴포넌트에 투명하게 할 수 있는지를 설명했다. 이번에는 트랜잭션 경계화와 고립화 관리에 필요한 J2EE 기능을 설명한다. 또한 그들을 효과적으로 사용할 수 있는 가이드라인도 제시한다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
표명 기능 이용하기 Merlin은 테스팅 향상을 위해 메소드에 사전 조건 및 사후 조건에 따른 검증 기능을 선택 사항으로 제공한다. 표명 (assertion) 기능은 실행시에 기본적으로 비활성화되어 있지만, 에러 조건을 체크하기 위해 활성화될 있다. John Zukowski는 여러분 코드에 표명에 의한 검사 기능을 추가하기 위한 기본적인 사항과, 명령행으로 그리고 프로그램적으로 표명을 활성화하고 비활성화시키는 방법에 관해 설명하겠다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
오디오 스윙(Swing) Swing 아키텍쳐는 개발자들이 원시 UI를 모방하는 자바 애플리케이션용 유저 인터페이스를 만드는 수단을 제공했다. Java 2 Platform, Standard Edition은 이 아이디어를 적용하여 UI 작동과 피드백 사운드를 조합하는 메커니즘으로 개념을 발전시켰다 |
|
|
|
2003년 1월 21일 (화) |
|
| |
EJB best practices: Validation helper classes 디자인이 잘된 validation 프로시져들은 데이터 완결성을 증진시키고, 애플리케이션 작동을 원활하게 하며, 데이터 변경도 쉽게 할 수 있도록한다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
JDK 1.4의 프린팅 (printing), Part 2 새로운 Java Print Service API 소개, 두 번째 시간이다. John Zukowski는 프린트 작동을 위해 이벤트 리스너(event listener)를 설정하는 방법, 스크린이나 컴포넌트의 내용을 프린트하는 방법, 프린팅 작동에서 sleep() 호출을 제거하는 방법을 설명한다. |
|
|
|
2003년 1월 21일 (화) |
|
| |
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일 (목) |
|
| |
JML 시작하기 Java Modeling Language (JML)는 메소드와 클래스에 대한 새로운 사고방식을 가져다주는 세밀한 디자인의 언어이다. 자바 프로그래밍 컨설턴트인 Joe Verzulli는 JML과 이것의 선언적 구조체들을 소개한다. |
|
|
|
2003년 3월 18일 (화) |
|
| |
Extreme Programming : Test-driven 프로그래밍 Test-driven 프로그래밍은 프로그래머들을 당황시키는 XP의 한 측면이다. 우리들은 Test-driven 프로그래밍에 대한 의미와 이것을 다루는 방법에 대해 부정확한 추측을 하고 있다. Roy Miller가 test-driven 프로그래밍을 설명한다. |
|
|
|
2003년 4월 23일 (수) |
|
| |
Robocode 대회 Robocode 대회는 끝났고 우승자가 가려졌다. 누가 우승컵을 가져갔는지 성공의 비밀은 무엇인지를 알아보자. |
|
|
|
2003년 5월 9일 (금) |
|
| |
자바 최적화 기술 자바 프로그램을 최적화 할 수 있는 유용한 기술들이 많이 있다. 이 글에서는 특정 기술 하나에 포커스를 맞추는 것 대신 최적화 프로세스를 전체적으로 다룬다. 간단한 기술 팁에서부터 고급 알고리즘 최적화까지 다양한 기술들을 세분화하여 문제 해결 프로그램의 퍼포먼스 튜닝을 한다. |
|
|
|
2003년 5월 13일 (화) |
|
| |
무선 데이터 가상화 (한글) 무선 데이터 가상화는 데이터를 받는 서버의 위치를 알지 못해도 클라이언트로부터 무선으로 데이터를 볼 수 있는 기능이다. Judith Myerson은 네 가지 유형의 가상화를 설명하고, 이들의 진화 과정 및 가상화 스택의 구현 방법을 설명한다. 또한 무선 가상화의 근본적인 도전과제와 미래, 글로벌 보안 문제 등도 아울러 다룬다.
|
|
|
|
2003년 5월 20일 (화) |
|
| |
지능형 데이터로 Swing을 간단히! Swing 아키텍처는 자바 개발자들로 하여금 수많은 데이터를 표시하는 복잡한 화면을 만들 수 있게 해준다. 불행히도 그 데이터를 대규모의 Swing 컴포넌트에 유지하는 것은 악몽의 코딩이 될 수 있다. 이 글에서 Jonathan Simon은 iData 즉 intelligent data라는 기법을 제시한다. 여러분은 iData 아키텍처를 사용해서 여러분 애플리케이션 내에 중앙 데이터 리파지토리를 만들 수 있다. 그렇게 함으로써 여러분은 데이터를 화면에서 보다 완전히 분리할 것이고 더욱 깔끔하고 유지보수하기 쉬운 코드를 만들 수 있을 것이다. 여러분의 시작을 도와 주도록 예제 코드를 갖춘 오픈 소스 툴킷도 나와있다. 이 글을 계속 읽어 나가서 iData 기법에 대해 더 많은 것을 알게 되고 샘플 구현도 보기 바란다. |
|
|
|
2003년 5월 23일 (금) |
|
| |
Extreme Programming : 작업에 맞는 (XP) 툴 XP를 시도하고 싶어하는 팀은 그 시작점을 모른다. 일반적으로 XP 관행에 대해 많은 질문을 던진다. 이번 주 이론을 실전에 적용하는 방법을 설명한다. |
|
|
|
2003년 5월 27일 (화) |
|
| |
SCJP 1.4 인증 기초 Sun Certified Java Programmer (SCJP) 시험은 J2SE 1.4 까지 업데이트 되었다. 넘어야 할 산이 더욱 높아졌다. WHIZlabs Software의 공동 창시자인 Pradeep Chopra는 SCJP 1.4 시험의 주요 변화를 설명한다. |
|
|
|
2003년 6월 3일 (화) |
|
| |
정규식을 위한 추상 자바 API 구현하기 자바에서 정규식을 이용하여 작업할 때 구체 (concrete) regexp 라이브러리에 의존하는 것은 좋은 생각이 아니다. 추상(abstract) 레이어를 사용한다면 다른 regexp 라이브러리들을 변환할 수 있고 코드와 특정 라이브러리 사이의 커플링을 줄이며, 가장 알맞은 것을 선택할 수 있다. |
|
|
|
2003년 6월 10일 (화) |
|
| |
웹 사이트에 콘텐트 반입하기 표면상으로는, JSTL의 c:import 태그는 JSP의 include 메커니즘을 모방한 것처럼 보인다. 하지만 c:import (또는 모든 JSTL 태그)를 좀더 자세히 들여다보면 추가적인 기능들이 보일 것이다. |
|
|
|
2003년 6월 17일 (화) |
|
| |
Eclipse 플러그인 개발하기 David Gallardo는 Plug-in Development Environment의 코드 생성 위자드를 사용하여 Eclipse 플러그인을 만드는 방법을 설명한다. 런타임 워크벤치에서 플러그인을 실행하고 디버깅하는 방법을 비롯하여 Eclipse에 완벽한 플러그인을 설치하는 방법을 배우게 될 것이다. |
|
|
|
2003년 6월 24일 (화) |
|
| |
타임 스탬프의 힘 JSP 페이지에 타임 스탬프를 추가하는 다양한 기술을 검토한다. 또한 이런 간단한 변경을 통해 웹 사이트의 가용성을 향상시킬 수 있다. |
|
|
|
2003년 7월 1일 (화) |
|
| |
스트림 완전히 바꾸기, Part 2 : 내부 Java I/O 최적화 새로운 I/O 프레임웍인, java.nio 는 I/O 지원과 관련한 퍼포먼스 이슈에 초점을 맞추었지만 바이트 어레이와 pipe를 사용한 내부 애플리케이션 통신 퍼포먼스는 등한시했다. Merlin Hughes는 새로운 스트림을 개발하여 표준 자바 I/O 바이트 어레이와 파이프 스트림 클래스를 보완했다. |
|
|
|
2003년 7월 18일 (금) |
|
| |
Extreme Programming : "XP distilled", Part 2 (한글) 한 명의 프로그래머가 XP 팀의 일원이 된다는 것의 의미와 6 가지의 프로그래머 관행들이 이 그림에 어떻게 부합되는지를 설명한다. 19 개의 XP 관행들이 모두 중요하지만 프로그래머 관행은 소프트웨어를 만드는 팀에게는 절대적이다. |
|
|
|
2003년 7월 24일 (목) |
|
| |
JSP 태그용 커스텀 애트리뷰트 만들기 커스텀 타임-스탬프를 확장하여 페이지 작성자가 자신의 타임-스탬프 포맷을 선택할 수 있도록 하는 방법을 설명한다.t. |
|
|
|
2003년 8월 5일 (화) |
|
| |
JSTL 기초, Part 2: core 분석 (한글) SP Standard Tag Library (JSTL) core 라이브러리는 이름이 말해주듯이, 범위(scoped) 변수를 관리하고 URL과 인터랙팅하는 등의 기본 기능과, 반복과 조건화 같은 근본적인 작동에 필요한 커스텀 태그를 제공한다. 이러한 태그들은 페이지 작성자가 직접 사용하기도 하지만 다른 JSTL 라이브러리와 함께 복잡한 표현 로직에 대한 토대를 제공한다. |
|
|
|
2003년 8월 8일 (금) |
|
| |
Java theory and practice : 내 쓰레드는 어디에? 주의를 기울이지 않으면 쓰레드는 아무런 흔적도 없이 서버 애플리케이션에서 사라질 수 있다. 쓰레딩 전문가 Brian Goetz는 쓰레드 이탈 방지 및 감시 기술을 제공한다. |
|
|
|
2003년 8월 17일 (일) |
|
| |
JTS 이해하기 - 트랜잭션에 대한 소개 자바 트랜잭션 서비스는 J2EE 아키텍처의 핵심 요소이다. 자바 트랜잭션 API와 함께 자바 트랜잭션 서비스는 모든 종류의 시스템 및 네트워크 장애에 대해 강력한 분산 애플리케이션을 구축하도록 해준다. 트랜잭션은 신뢰성 있는 애플리케이션을 구축하기 위한 기초적인 구성 요소이다. 트랜잭션적인 지원 없이 신뢰성 있는 분산 애플리케이션을 작성하는 것이 터무니없이 어려운 일이다. 다행히도 JTS는 자신의 대부분의 작업을 개발자에게 투명하게 수행한다.; J2EE 컨테이너는 트랜잭션 구분과 자원 사용을 거의 보이지 않게 수행한다. 이번 3회로 구성된 연재물 중 첫 회에서는 트랜잭션이 무엇이고 왜 이들이 신뢰성 있는 분산 애플리케이션 구축에 필수적인지에 대한 기초적인 사항을 다루도록 하겠다. |
|
|
|
2003년 8월 29일 (금) |
|
| |
Robocode 총알을 피하고 정확한 공격 작전을 수행하면서 상속, 다형성, 이벤트 처리 및 내부 클래스를 배우는 것이 가능할까? 중독적인 게임광 대상 교육 툴인 Robocode가 전 세계 자바 개발자들에게 이를 가능하도록 한다. |
|
|
|
2003년 9월 2일 (화) |
|
| |
리팩토링(Refactoring) Eclipse는 강력한 자동 리팩토링을 제공한다. 이것을 통해 자바 엘리먼트를 재명명하고, 클래스와 패키지를 옮기며 실제 클래스에서 인터페이스를 만들고 중첩 클래스를 상위레벨 클래스로 변환하고 구 메소드의 코드 섹션에서 새로운 메소드를 가져올 수 있다. Eclipse의 리팩토링 툴에 익숙해진다면 생산성을 향상할 수 있는 좋은 방법이다. |
|
|
|
2003년 9월 9일 (화) |
|
| |
싱글사인온(single sign-on)으로 엔터프라이즈 자바 인증을 단순하게! 점점 더 많은 패스워드 보안 애플리케이션을 조직의 컴퓨터 환경에 추가한다면 이는 인증의 복잡함도 함께 가중시키는 것이고
결국 개발자와 사용자에게 부담을 주게 된다. 대부분의 엔터프라이즈 애플리케이션 통합 프로젝트들은 싱글사인온(SSO)
기능을 포함하고 있다. 이는 사용자가 다양한 애플리케이션을 사용하기 위해 단 한번만 로그인 하도록 하는
기능이다. 이 글에서 자바 플랫폼에 SSO를 구현하는 방법을 설명한다. |
|
|
|
2003년 9월 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일 (수) |
|
| |
JAR 파일 대부분의 자바 프로그래머들은 JAR 파일의 기본 작동에 익숙하다. 하지만 JAR 파일 포맷의 막강한 힘을 아는 개발자는 드물다. |
|
|
|
2003년 10월 9일 (목) |
|
| |
JDBC 쿼리 로깅을 쉽게 JDBC java.sql.PreparedStatement 인터페이스로 간단히 확장함으로서 쿼리 로깅의 에러를 줄일 수 있다. 코드도 더 깔끔해진다. IBM e-비즈니스 컨설턴트인 Jens Wyke가 래핑 기술을 설명한다. |
|
|
|
2003년 11월 5일 (수) |
|
| |
JSTL 기초, Part 1: Expression Language (한글) JSP Standard Tag Library (JSTL)은 일반적인 웹 애플리케이션 기능(반복(iteration)과 조건, 데이터 관리 포맷, XML 조작, 데이터베이스 액세스)을 구현하는 커스텀 태그 라이브러리 모음이다. 소프트웨어 엔지니어인 Mark Kolb은 JSTL 태그의 사용방법을 설명한다. 표현층(presentation layer)에서 소스 코드를 제거하여 소프트웨어 관리를 단순화시키는 방법도 설명한다. 이외에도 JSTL의 단순화된 Expression Language에 대한 설명도 포함되어 있다. |
|
|
|
2003년 11월 18일 (화) |
|
| |
XML과 자바: 자바 문서 모델 사용 이 글에서 XML 툴 전문가인 Dennis Sosnosk는 몇 가지 자바 문서 모델들의 용법을 비교한다. 여러분이 한 모델을 선택할 때 얻는 것과 잃는 것이 무엇인지가 항상 명확한 것은 아니며, 나중에 마음을 바꿀 경우 엄청난 재코딩이 필요할 수 있다. 필자는 모델 API들을 분석하고 이와 관련한 샘플 코드를 제공하여 어떤 모델이 실제로 여러분의 작업을 쉽게 만들어 줄지에 대한 권장 사항을 제공한다. 다섯 개의 각기 다른 문서 모델들의 메소드를 보여주는 코드 샘플이 포함되어 있다. |
|
|
|
2003년 12월 24일 (수) |
|
| |
블랙박스에서 엔터프라이즈 까지, Part 3 : JMX 통합 실제 Network Management System (NMS)를 사용하여 JMX로 만들어진 자바 애플리케이션을 모니터링한다. NMS/JMX 통합에 사용된 일반적인 기술은 물론 JMX를 전개할 때 발생하는 일반적인 어려움들을 설명한다. |
|
|
|
2004년 1월 20일 (화) |
|
| |
고급 DAO 프로그래밍 J2EE 개발자들은 Data Access Object (DAO) 디자인 패턴을 사용하여 저수준의 데이터 액세스 로직과 고급 비즈니스 로직을 분리한다. DAO 패턴을 구현하는 것은 단순히 데이터 액세스 코드를 작성하는 것 이상이다. |
|
|
|
2004년 2월 3일 (화) |
|
| |
Magic with Merlin: J2SE 1.5 J2SE 1.5 (Tiger)는 아직 공식적인 데뷔는 하지 않았지만 프로토타입을 다운로드를 통해 접근할 수 있다. parameterized 타입, enumeration, 변수 인자 리스트, autoboxing, 향상된 for 루프, 정적 반입 등 언어 차원의 발전이 J2SE 1.5 버전에서 눈에 띈다. |
|
|
|
2004년 2월 20일 (금) |
|
| |
Struts, Tiles, JavaServer Faces 통합하기 JavaServer Faces (JSF)의 프론트-엔드 성능, Tiles의 콘텐트 포맷 능력, Struts 콘트롤러의 유연성이 J2EE 웹 애플리케이션에 들어있다면? 엔터프라이즈 자바 전문가 Srikanth Shenoy와 Nithin Mallya는 이 세 개의 특징을 통합하는 방법을 보여준다. |
|
|
|
2004년 3월 2일 (화) |
|
| |
모바일 P2P 메시징, Part 2: 일반적인 P2P 네트워크로 모바일 확장 개발하기 (한글) JXTA와 Jabber 같은 일반적인 P2P 컴퓨팅 네트워크는 모바일 디바이스에 적용하기에는 너무 복잡하다. 따라서 경량 모바일 클라이언트나 릴레이(relay)를 통해 작동하는 특별한 아키텍쳐는 P2P 커뮤니티를 모바일 사용자로 확대되어야 한다. Michael Yuan은 J2ME JXTA 클라이언트 프로젝트인 JXME를 설명한다. |
|
|
|
2004년 3월 10일 (수) |
|
| |
Extreme Programming : 돌아온 "XP distilled", Part 1 자바 언어의 객체 지향 프로그래밍은 상당히 유명해졌다. 소프트웨어 개발에 혁명을 가져왔다고 해도 과언이 아니다. 최근 조사 결과에 따르면 소프트웨어 개발 프로젝트의 절반가량이 늦어지고 있고, 3분의 1 정도는 예산 초과이다. 기술이 문제가 아니다. 소프트웨어를 개발하는 방식이 문제인 것이다. |
|
|
|
2004년 3월 19일 (금) |
|
| |
경로 컴파일과 테스트 자동화 (한글) SAX ContentHandler 컴파일러인 HC에 대한 작업이 계속되고 있다. 이번 달에 우리의 컬럼니스트는 컴파일 알고리즘을 설명하며, 또한 JUnit로 테스트를 자동화하는 사항도 다룬다. |
|
|
|
2004년 4월 5일 (월) |
|
| |
XML& Java: 데이터 바인딩, Part 2: 성능 엔터프라이즈 자바 전문가 Dennis Sosnoski는 자바의 XML 데이터 바인딩에 대해서 여러 프레임웍의 스피드와 메모리 사용을 시험한다. 코드 생성 접근방식, Castor mapped binding 접근방식 등이 이 실험에 포함된다. 자바 애플리케이션에 XML을 사용하고 있다면 반드시 이 데이터 바인딩 접근방식을 알아야한다. |
|
|
|
2004년 4월 6일 (화) |
|
| |
Jakarta Tomcat을 갖춘 개발 환경으로서의 Eclipse Eclipse를 자바 개발 환경으로 사용하는 것은 대단한 일이다. Eclipse Tomcat 플러그인을 사용하면 자바와 웹 개발 프로젝트를 더욱 훌륭하게 조직화하고 통합할 수 있다. 이 글에서는 Eclipse, Jakarta Tomcat, Eclipse Tomcat 시작 플러그인의 설치부터 단계별로 소개하겠다. |
|
|
|
2004년 5월 1일 (토) |
|
| |
Apache JMeter를 이용한 WebSphere 퍼포먼스 테스트 빡빡한 예산과 시간도 얼마 없다면 JMeter를 사용하여 웹과 다른 애플리케이션의 스트레스 테스트를 추천한다. IBM의 Greg Herringer가 순수 자바 애플리케이션을 사용하여 WebSphere 미들웨어 솔루션을 테스트 했던 경험을 나눈다. |
|
|
|
2004년 5월 1일 (토) |
|
| |
Struts 개발 유연한 Struts 프레임웍을 사용하여 웹 애플리케이션 개발에 활용해본다. 오픈 소스와 성숙한 프레임웍을 최적화 시킬 수 있는 최상의 사용법을 선보인다. ActionForm, Action class, ActionErrors 를 포함하여 Struts를 사용하는 방법을 배운다. |
|
|
|
2004년 6월 16일 (수) |
|
| |
CodeRuler 성을 지켜라! 영토를 정복하라! 기사에게 명하여 창 시합을 벌여 적을 무찌르게 한다.
적의 위치를 파악하고 영토를 정복한다. 자바 코드를 작성하는 것이 지루하다면 중세적 판타지를 현실로 옮길
때가 됐다. 자바 프로그래밍 기술을 단련하고 Eclipse 개발 환경을 완전히 파악하는 과정 속에서 어느덧
자신의 왕국을 다스리게 된다. |
|
|
|
2004년 6월 29일 (화) |
|
| |
Element Construction Set를 사용하여 포맷 된 로그 만들기 Jakarta Element Construction Set (ECS)는 자바와 객체 지향 방식을 사용하여 마크업 언어 문서를 만들기 위한 오픈 소스 프로젝트이다. 자바 개발자 Amit Tuli는 ECS를 소개하고 로그 파일로부터 포맷이 잘 된 상태 리포트를 만들 때 이를 사용하는 단계별 방식을 설명한다. 샘플 애플리케이션을 만들어 ECS와 ECS의 사용법에 대한 이해를 도울 것이다. API에 대한 잠재적 사용법도 배우게 된다. |
|
|
|
2004년 7월 22일 (목) |
|
| |
자바 이론과 실습: 웹 티어의 상태 복제 대부분의 중요한 웹 애플리케이션들은 세션 별로 상태를 관리할 필요가 있다. 클러스터링 애플리케이션에서 상태가 관리
및 복제되는 방법은 애플리케이션의 확장성에 큰 영향을 미친다. 많은 J2SE와 J2EE 애플리케이션은 서블릿
API에서 제공하는 HttpSession에 상태를 저장한다 |
|
|
|
2004년 7월 29일 (목) |
|
| |
Eye on performance: 프로파일링 튜닝은 속도에 문제가 있을 때만 하는 것은 아니다. 가끔은 애플리케이션의 다른 부분들도 조정될 필요가 있다. 애플리케이션에 튜닝이 필요하다면 가장 먼저 취하는 행동은 프로파일러로 애플리케이션을 점검하는 일이다. 그러나 프로파일링이 언제나 유용한 것은 아니다. |
|
|
|
2004년 7월 29일 (목) |
|
| |
Annotations in Tiger, Part 1: 메타데이터를 자바 코드에 추가하기 J2SE 5.0 (Tiger)의 새로운 기능인 Annotation은 필요가 많은 메타데이터 기능을 핵심 자바 언어로 가져왔다. 메타테이터가 유용하게 쓰이는 이유를 설명하고 자바의 Annotation 소개한다. |
|
|
|
2004년 9월 2일 (목) |
|
| |
Annotations in Tiger, Part 2: 커스텀 어노테이션 Part 1에서 J2SE 5.0의 새로운 메타데이터 장치인 어노테이션을 소개했고 Tiger의 기본적인 빌트인 어노테이션에 초점을 맞추었다. 커스텀 어노테이션을 작성을 지원한다는 점이 특징적이였다. 이 글에서 커스텀 어노테이션을 만드는 방법과 어노테이션에 주석을 달아 코드의 문서화와 커스터마이징을 강화하는 방법을 설명하겠다. |
|
|
|
2004년 9월 2일 (목) |
|
| |
Eclipse 플러그인용 로깅 프레임웍 Eclipse는 J2SDK Logging Utilities 또는 Apache의 Log4j 처럼, 풍부한 기능을 갖춘 설정 가능한 로깅 장치가 부족하다. 이 글에서, 그 자체가 플러그인이면서, Apache Log4j에 기반해 있는 Eclipse 플러그인용 로깅 프레임웍을 설정하고 사용하는 방법을 배운다. 전체 소스 코드도 제공한다. |
|
|
|
2004년 9월 27일 (월) |
|
| |
자바 애플릿으로 원격 웹 서비스에 접근하기 애플릿은 사용자의 시스템에 어떤 영향도 미칠 수 없도록 "모래상자"에서 실행되도록 설계되었다. 따라서 애플릿의 보안은 서버 기반의 애플리케이션 보다 더 치밀하다. 예를 들면, 자바 애플리케이션은 또 다른 서버로 네트워크 연결을 하여 웹 서비스 응답을 요청할 수 있다. 애플릿 역시 이럴 수 있지만 이는 원래 호스팅된 서버에만 해당된다. 그런데, 임의의 웹 요청을 할 수 있는 애플릿이 필요할 때가 있다. |
|
|
|
2004년 10월 14일 (목) |
|
| |
DB2 기초: DB2 UDB 시스템 카탈로그에서 유용한 정보를 얻는 방법 IBM® DB2® Universal Database™ (UDB)는 시스템 카탈로그라고 하는 특별한 테이블을 관리하고 있다.
데이터베이스 객체들을 설명하는 메타데이터들이 포함된 이 테이블들은 두 개의 뷰를 정의하고 있다.
SYSCAT 스키마 하의 읽기 전용 뷰와 SYSSTAT 스키마 하의 업데이트 가능한 뷰가 바로 그것이다.
이 글에서는 DB2 UDB 시스템 카탈로그를 소개하고 이 풍부한 데이터베이스 정보의 보고가 어떻게 발굴되는지를 설명한다.
(명령행 또는 DB2 Control Center를 사용하여) 카탈로그를 쿼리하는 방법도 예제를 통해 설명한다.
|
|
|
|
2004년 11월 2일 (화) |
|
| |
메모리 (한글) 자바 런타임이 대규모의 메모리 관리를 핸들하더라도 프로그램의 메모리 사용에 대해 관심을 기울이면 머신 퍼포먼스를 최적화하고 메모리 유출을 감지하는데 큰 도움이 된다. Windows에서 메모리 사용을 감시하는데 사용할 수 있는 많은 툴이 있다. 사용 관점에 따라 장단점을 갖고 있다. 필자는 메모리 사용에 대한 몇 가지 잘못된 개념들을 바로잡고 툴 사용법을 설명하겠다. |
|
|
|
2004년 11월 16일 (화) |
|
| |
엔터프라이즈 메타데이터 발견 서비스 지향 아키텍쳐는 미래를 주도할 것이다. 하지만 기존 IT 자산과의 상호 운용이 쉬워야 한다. 이 백서에서는 어댑터를 통해 기존 시스템들과의 연결성을 확립하는 핵심 단계를 논하고 있다. 어댑터 파트너들과 기타 ISV들이 강력한 스팩과 구현을 제공하기 위해 우리와 협력했다. 다른 SOA 플랫폼 벤더들 역시 이러한 스팩들을 채택하여 완벽한 상호 운용성을 이룩하는데 일조했다. |
|
|
|
2004년 12월 14일 (화) |
|
| |
테스트엔지로 자바 단위 테스트를 쉽게! JUnit 프레임웍은 현제 자바의 단위 테스트를 위한 솔루션이다. 이 프레임웍은 자바 개발자들에게 테스트 지향 개발이라는 개념을 소개했고, 단위 테스트를 효과적으로 작성하는 방법을 가르쳤다는 점에서 높이 평가 받을만 하다. 하지만 JUnit은 지난 몇 년 동안 그 한계에 다다랐다. 따라서 오늘날의 복잡한 환경에 적합한 테스트를 작성하는 것은 점점 더 어려운 일이 되어가고 있다. JUnit은 다른 보완 테스트 프레임웍들과 통합되어야 한다. 이 글에서 Filippo Diotalevi가 자바 애플리케이션 테스트를 위한 새로운 프레임웍인 TestNG를 소개한다. TestNG는 강력하고, 혁신적이며, 확장성 있고, 유연할 뿐만 아니라 JDK 5.0의 획기적인 신 기능인 Java Annotations의 재미있는 애플리케이션을 나타내기도 한다. |
|
|
|
2005년 1월 6일 (목) |
|
| |
PMD로 버그 잡기 소스, 정적 분석 툴인 PMD는 버그를 잡기위한 툴로 손색이 없다. PMD의 사용법을 설명한다. |
|
|
|
2005년 1월 7일 (금) |
|
| |
J2EE에서의 JNDI의 역할 J2EE를 마스터하는 것은 어려운 일이다. 기술과 신조어들이 나날이 늘어가기 때문이기도 하다. Java Naming and Directory Interface (JNDI)는 처음부터 Java 2 Platform, Enterprise Edition (J2EE)의 핵심에 있었지만 풋내기 J2EE 개발자들은 이를 충분히 활용하지 못한다. 이 글에서 J2EE 애플리케이션에서의 JNDI의 역할을 규명하고 애플리케이션을 전개로부터 분리하는 방법을 설명하겠다. |
|
|
|
2005년 1월 13일 (목) |
|
| |
IBM WebSphere Developer Technical Journal: WebSphere Application Server V6의 시스템 관리 -- Part 1 IBM® WebSphere® Application Server V6에는 시스템 관리 기능이 향상되었다. 향상된 각 부분을 설명한다. |
|
|
|
2005년 1월 26일 (수) |
|
| |
불신자를 위한 JSF: JSF 소문의 실체 Java™ Server Faces (JSF) 같이 중요한 기술은 수 많은 소문들을 만들어냈다.
주요 내용은 JSF 개발은 어렵고, 일반적인 접근 방식으로는 감당이 안되며, WYSIWYG 툴에 전적으로 의존해야 한다는
것이다. 총 4회로 이루어질 이 글에서 Rick Hightower가 소문과 진실을 가려낸다. |
|
|
|
2005년 2월 3일 (목) |
|
| |
Classworking toolkit: Hansel과 Gretel (한글) 단위 테스트는 코드가 스팩에 맞춰 수행되는지를 확인할 수 있는 놀라운 기술이다. 하지만 단위 테스트의 품질은 테스트 작성자에 달려있다. 그리고 단위 테스트의 결과는 테스트의 품질 그 자체이다. 단위 테스트로 여러분이 원하는 만큼의 일을 수행했다고 어떻게 확신하는가? 이 글에서, 코드 커버리지 툴이 테스트의 품질 검사를 어떻게 수행하는지 설명한다. |
|
|
|
2005년 2월 8일 (화) |
|
| |
Jython을 사용하여 Apache Derby 데이터베이스에 연결하기 Jython으로 프로그래밍을 하면 Python의 장점을 활용하면서 자바 패키지 및 기능들로 접근을 관리할 수 있다. Apache Derby 관계형 데이터베이스에 접근하고 이를 조작하는데 Jython이 어떻게 사용되는지 살펴본다. |
|
|
|
2005년 2월 17일 (목) |
|
| |