만만한 것이 보이질 않는군요.
Reverse Engineering이 되는 무료로 사용가능한 소프트웨어는 잘 안 보입니다.
그냥
http://www.visual-paradigm.com/ evaluation 이용했습니다.

테스트케이스가 없는 기존 코드 설계입니다.
사용자 삽입 이미지

테스트케이스를 만든 경우입니다.
사용자 삽입 이미지

많이 복잡하긴 합니다.
프로젝트 소스 폴더 구성은 다음과 같습니다.
사용자 삽입 이미지

테스트케이스의 아웃풋 클래스폴더를 따로 지정해주는 센스도 잊지 마세요.
사용자 삽입 이미지

2008년 2월 2일 okjsp 2월 세미나 입니다.
화질이 좋지 않기 때문에 소리만 확인하시는 것이 좋습니다.


기본 실습 시간
음, 있군요. 불편을 감수하고 쓸만합니다.
pdf 저장은 되지만 PPT 파일 생성은 해주지 않습니다.
온라인 채팅지원되는 프리젠테이션이 가능하네요.




http://docs.google.com/Presentation?id=dhmgtw6h_143hbwftmc7

많이 미완성이지만 채우도록 하겠습니다.
Eclipse Overview
  1. Layout
  2. Terms
  3. License
  4. SiteMap
  5. Package Guide

Project Start

  1. Java Project
  2. HelloWorld
  3. src, class
  4. Code Navigation
  5. Refactoring
  6. Editing

CVS 협업

  1. 코드 공유 개념
  2. CVS Perspective

Eclipse Configuration

  1. Preferences
  2. Help
  3. short cut

Eclipse Plugin

  1. extention
  2. Europa

Debug Perspective

  1. Debug Intro

JDK Version

  1. Compiler Version

Q&A

http://live.eclipse.org/
사용자 삽입 이미지

이클립스 홈페이지 우측 상단의 아이콘 중에 라이브 이클립스 사이트로 이동하도록 되어있습니다.

웹 세미나를 줄여서 웨비나라고 부르는데, 동영상, pt, 채팅이 고스란히 재현되는군요. 제품은 adobe사의 breeze를 이용했습니다만 컨텐츠가 장난이 아니게 쌓여있습니다. 계속 쌓이고, 또 앞으로 있을 웨비나에 대한 스케줄도 공시하고 있습니다.

mylyn2.2 에 대한 전세계 이클립스를 사용하는 개발자들의 관심이 뜨거운 것도 알 수 있습니다.

자주 가 봐야겠습니다.

OKJSP소스를 집과 회사에서 관리를 합니다. CVS update 후 에러가 보여서 확인해봤더니 모처럼만에 CVS Conflict가 났습니다.
아이콘이 이상하게 표시됩니다.

사용자 삽입 이미지



파일을 열어보면 <<<<<<< 표시와 >>>>>>> 표시가 보입니다.
사용자 삽입 이미지

의미상 ======= 을 기준으로 상단부분이 CVS update 이전 로컬에서 고쳐진 부분이고, 아랫부분에 >>>>>>> 1.2 위 까지 CVS 저장소에서 받아온 소스의 변경된 부분입니다. 같은 라인이네요. ^^; 아마도 로컬에서 작업하고 올리지 않고, 퇴근 후 작업해서 올렸기 때문에 회사에서 소스를 다시 동기화하니 발생한 문제 같습니다. null로 작업했는데, 그냥 writer로 굳혀버렸죠.


수정하는 방법은 다음과 같이 불필요한 부분을 다 지워주고, 에러가 없도록 정리해 줍니다. 그리고 커밋을 하면 됩니다.
사용자 삽입 이미지


만약 커밋이 필요없고, 로컬에 있는 내용을 모두 포기하려면 파일의 컨텍스트 메뉴에서 Replace With > Latest from HEAD 메뉴로 확 덮어씌우면 됩니다. 로컬에서 작업한 예전 내용은 대개의 경우 Compare With > History... 로 확인 가능합니다.
사용자 삽입 이미지

소스의 수정한 부분이 겹치지 않고 다른 부분이라면 Update할 때 eclipse에서 자동으로 Merge를 시켜줍니다.
겹치는 부분이 있다면 사람이 해결해야 되는 것이 맞죠.

이클립스로 쉽게 웹서비스 시작하기에 이어지는 글입니다.
simplews 프로젝트 하나에서 3개의 프로젝트가 더 늘어났습니다.
일단 기존 simplews의 변화부터 살펴 보겠습니다.
svn에 최초 버전을 기록해 놓았기 때문에 Synchronize 뷰를 통해서 파일의 변경내역을 확인할 수 있습니다.

사용자 삽입 이미지


web.xml 파일만 변경이 되었고, 나머지 디렉토리와 파일들은 새롭게 생성되었습니다.
파일 확장자의 변화를 보면 *.wsdd, *.jar, *.wsdl 이렇게 생성이 되었습니다.

디렉토리의 변경도 볼 필요가 있는데, WebContent/WEB-INF/ 아래 생긴 것과 WebContent 으로 나눠 볼 수 있습니다. WebContent/ 디렉토리는 컨텍스트 루트이고, WebContent/WEB-INF/ 디렉토리는 브라우저를 통해서 접근할 수 없는 서버 내부적 디렉토리입니다. 결국 WebContent/wsdl/ 디렉토리가 외부로 공개되는 자원이라고 생각할 수 있습니다. 파일이 하나 있는데, 이름이 자바파일 이름과 같고, 확장자가 wsdl 이네요.

WEB-INF/lib 디렉토리에 추가된 jar 파일을 살펴보겠습니다.
axis.jar : 웹서비스용 컴포넌트입니다.
http://axis.apache.org/
commons-discovery-0.2.jar : 서비스 발견 컴포넌트입니다.
http://commons.apache.org/discovery/
commons-logging.jar : 로깅에 관련된 컴포넌트.
http://commons.apache.org/logging/
jaxrpc.jar : 자바 xml rpc 컴포넌트
https://jax-rpc.dev.java.net/
saaj.jar : SOAP with Attachments API for Java (SAAJ)
http://java.sun.com/webservices/saaj/docs.html
wsdl4j-1.5.1.jar : Web Services Description Language for Java
http://sourceforge.net/projects/wsdl4j

이러한 컴포넌트들이 자동으로 붙게 됩니다.
java와 utf8 환경에서 한글 깨지는 현상에 대한 gruter님 질문 관련 포스팅입니다. 제한적인 상황이라는 것은 참고해주시면 좋겠습니다.

테스트는 다음과 같이 했습니다.
XP, jdk1.6.03, eclipse 3.3.1 JEE 환경
새로운 workspace 만들고 java project 하나 만들었습니다.
기본 설정에서 "한글UTF8" 문자열을 콘솔뷰에 찍는 프로그램을 만듭니다.
설정에서 java 소스파일의 인코딩타입을 utf8로 변경합니다.
사용자 삽입 이미지

사용자 삽입 이미지


콘솔에서 확인합니다.
사용자 삽입 이미지


인코딩 변환으로 소스의 한글이 깨어져 보이기 때문에 한글부분을 수정했습니다.
사용자 삽입 이미지

콘솔에서 확인합니다.
사용자 삽입 이미지


이 테스트에서 내릴 수 있는 결론은 파일 인코딩 타입 변환에 따른 한글이 깨어질 수 있다 정도입니다.

설정을 모두 해제하시고, 인코딩 변환 부분을 최소화 시켜서 작업하는 것이 좋을 것 같습니다.
개인적으로 2003년부터 철저히 외면했던 기술이었습니다. 허나 옥션의 openapi를 하다보니 지나칠 수 없는 기술이었습니다. 웹서비스가 어려웠던 이유 중 하나는 xml 봉투를 만드는 일과 이렇게 만들어진 봉투를 post방식으로 요청하는 것이 쉽지 않아서였습니다.

이클립스에는 이런 복잡 다단한 작업을 WTP에서 편하게 할 수 있는 기능을 제공합니다.
http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/BottomUpWebService/BottomUpWebService.html
문서를 기본으로 웹서비스를 쉽게 이용하는 방법을 알아보겠습니다. webtools 플러그인이 장착된 이클립스에서 가능합니다. JEE 패키지나 WTP all-in-one 이클립스를 받아서 사용하시면 됩니다.


새로운 프로젝트를 만듭니다. web으로 필터링해서 보이는 Dynamic Web Project 를 선택합니다. 자바를 사용하기 때문에 Dynamic Web Project 를 이용합니다.
사용자 삽입 이미지


프로젝트 이름은 simplews 로 정했습니다. Apache Tomcat 5.5를 기준으로 했습니다. Target Runtime으로 설치된 톰캣을 지정해줍니다.
사용자 삽입 이미지


Axis2 Web Services는 선택하지 않습니다.
사용자 삽입 이미지


프로젝트가 만들어지면 src 아래 wtp 폴더를 만들고 Converter.java 파일을 복사해 넣습니다. 섭씨, 화씨 온도 변환 프로그램입니다. 아주 간단하죠. 이러면 일단 웹서비스를 만들 준비가 끝난 것입니다.


사용자 삽입 이미지


이제 웹서비스 서비스를 만드는 작업을 해보겠습니다. 웹서비스의 프로바이더와 클라이언트를 동시에 만들게 됩니다. File > New 에서 web으로 필터링하면 아까와 다르게 Web Service 항목이 보입니다. 이것을 선택합니다.
사용자 삽입 이미지


wtp.Converter 서비스 구현체를 선택합니다. 그리고 아래에 눈금게이지를 Test client까지 올립니다. 그리고 아래에 Monitor the Web service 항목을 체크합니다. Finish 버튼을 클릭하면 1분 정도의 작업이 진행될 것입니다.
사용자 삽입 이미지


관련된 프로젝트가 3개가 더 생겼습니다. 웹서비스를 지원하는 Servers, simplews client 프로젝트 그리고 JSR-109 Web Services 라는 듣보잡 프로젝트가 생성됩니다. 톰캣이 기동되고 서비스를 테스트할 수 있는 클라이언트 페이지가 에디터 영역에 뜹니다.
사용자 삽입 이미지


celsiusToFarenheit(float)를 클릭해서 값을 넣어 테스트해봅니다. 36.5 를 입력하면 화씨온도가 Result영역에 보이게 됩니다.
사용자 삽입 이미지


하단의 뷰에 TCP/IP Monitor 가 뜹니다. 보는 옵션을 Byte에서 XML로 바꿔주면 조금 더 가독성이 높일 수 있습니다. 왼쪽이 Envelope이고 오른쪽이 응답된 서비스 데이터입니다.
사용자 삽입 이미지


생성된 파일에 대해서 다음 글로 분석해보겠습니다.
이클립스의 대표적인 뷰입니다. 프로젝트와 파일들을 표시하는 뷰입니다.

Package Explorer
자바의 패키지 형태로 구분해서 보여주는 뷰입니다. Dynamic Web Project 일 경우 src 디렉토리가 주로 자바소스의 기준디렉토리가 됩니다. 파일을 패키지별 리스트로 보는 방법과 트리구조형태로 보는 방법이 있습니다. 툴바 메뉴중 제일 우측의 역삼각형을 클릭해서 보는 방법을 조정할 수 있습니다.
사용자 삽입 이미지

Navigator
윈도우의 탐색기와 가장 유사합니다. Package Explorer에서 안 보였던 디렉토리들도 다 확인할 수 있습니다. 윈도우 탐색기의 모양에 익숙해진 분들이 선호하는 뷰입니다만, 단점이 있다면 에러가 난 자바파일의 아이콘 표시가 안 되기 때문에 깔끔한 코딩이 어렵습니다.
자바 파일의 복사와 이동이 비교적 자유롭습니다.
사용자 삽입 이미지

Project Explorer
패키지 익스플로러와 유사하지만 JEE 개발에 맞춰져 있습니다. 제일 상단에 2.4를 포함한 아이콘은 web.xml 의 구성을 보여주는 곳입니다. Java Resources: src로 표시된 부분이 자바 소스의 기준 디렉토리입니다. 웹개발에 최적화된 뷰입니다.
사용자 삽입 이미지


마우스 오른 버튼을 클릭하면 나오는 메뉴를 컨텍스트 메뉴하고 합니다. 컨텍스트는 text와 text를 연결한다(con-)는 어원을 갖고 있는데 문맥이라고 번역합니다. 보이지 않는 의미를 갖고 있지요. 그래서 컨텍스트는 마우스가 가르키는 곳의 상황에 따라 다르게 메뉴 항목이 꾸려집니다. 이 세 가지 뷰에서도 확인할 수 있습니다.

WebContent 디렉토리에서의 컨텍스트 메뉴는 JSP와 같은 파일들을 생성할 수 있도록 되어있습니다.
사용자 삽입 이미지

프로젝트 익스플로러에서 src 디렉토리는 Class 생성 항목이 있습니다.
사용자 삽입 이미지

패키지 익스플로러로 포커스를 옮겨서 같은 src 디렉토리의 컨텍스트 메뉴를 나타나게 했습니다. 그런데 항목에 Class는 보이지 않는군요. 좀 난감합니다. Others.. 에서 Class를 선택할 수 있겠지만, 난감한 컨텍스트임에는 틀림이 없습니다. 그런데...
사용자 삽입 이미지

이번에는 src 디렉토리의 컨텍스트 메뉴에 Class 항목이 보입니다. 왜 일까요? 퍼스펙티브를 바꾸었습니다. 이클립스 우측 상단의 퍼스펙티브 목록에서 JEE를 Java로 변경한 후에 나타난 컨텍스트 메뉴입니다.
사용자 삽입 이미지

같은 뷰라 하더라도 퍼스펙티브에 따라서 컨텍스트 메뉴는 달라집니다.
사용자 삽입 이미지

+ Recent posts