Top Banner
jsp / eclipse 정보공유 http://okjsp.pe.kr Effective Software Project Collaboration using Eclipse okjsp 2011.08
251

Collaboration with Eclipse final

May 16, 2015

Download

Technology

Kenu Heo

Collaboration with eclipse
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Effective Software Project Collaboration

using Eclipse okjsp2011.08

Page 2: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Schedule

1,2 이클립스 기본

3 VCS & 빌드 도구 ANT

4 이클립스와 협업 프로세스

5,6 이클립스 웹개발

7,… 이클립스와 테스트 자동화

Page 3: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

0. Set up

• jdk 1.7

• eclipse 3.7 indigo

• tomcat 7.0.19

• mysql 5.5

• Github.com

Page 4: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JAVA_HOME

Page 5: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

java -version

Page 6: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Ganymede

Page 7: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

eclipse 3.4 JEE

Page 8: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

1. 이클립스 개요

• Source Compile

• Project Build

• Tool positioning

• 개발 생산성 향상

• IDE

Page 9: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Source Compile

• javac

• eclipse auto compile

• src

• build or classes

Page 10: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Project Build

• build script

• ready for use

Page 11: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Tool positioning

요구분석

설계

개발

테스트

usecase

modeling

IDE

Testing Tool

릴리스 build Tool

Page 12: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

개발 생산성 향상

• requirement 확인

• control complexity

• refactoring

• automation

Page 13: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

IDE

• coding

• compile/build

• run/debug

Page 14: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 컴파일과 빌드의 차이점은?

• IDE의 기본 기능 세 가지는?

Page 15: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

2. Hello World 실행하기

• Java Application

• Java Web Application

• Console View

• Argument, Parameter, Method Signature

Page 16: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Start

Page 17: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Perspective

Page 18: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Java Project

Page 19: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Page 20: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Java Application

• main()

• Java Project

Page 21: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Create Class

Page 22: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Create Class

Page 23: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hello World

Page 24: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Run

Page 25: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Quick Access ^3

Page 26: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Console ViewConsole View Preferences

Page 27: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Java Web Application

• servlet container

• Dynamic Web Project

Page 28: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Argument, Parameter, Method Signature

• Argument

•main(String[] args)

• Parameter

• key, value pairs transfer

• Query String

• Method Signature

• public static void main(String[] args)

Page 29: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 구구단 출력 프로그램을 자바프로젝트로 작성하기

• 웹 프로젝트로 구구단을 작성하기

Page 30: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

3. 코드 네비게이션

• Reading Code

• Readability

• Find

• Open Resource

• Definition

• References

Page 31: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

legend

• ctrl : ^

• alt : @

• shift : ~

Page 32: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Find/Search

• 찾기/바꾸기

• ^ + F

• 파일 찾기

• ^ + ~ + R, @ + n u

• 문자열 포함된 소스 찾기

• contextMenu + find

• ^ + H

Page 33: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Find/Search #2

• 코드 패턴 찾기

• ^ + j, ^~ + j ; incremental find

• ^ + k, ^~ + k ; selection find

• 상속 관계 찾기

• ^ + t

• 메소드 찾기

• ^ + o ; Outline

Page 34: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Find/Search #3

• 선언부 찾기

• ^ + leftClick

• f3

• 참조 소스 목록

• ctrl + shift + g

• contextMenu > References > Project

• 같은 변수 찾기

• 형광펜

Page 35: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Navigate

• 라인번호로 이동

• ^ + L

• 중괄호({} brace) 처음과 끝

• ctrl + shift + p

• @ + ~ + 좌우화살표

Page 36: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Navigate #2

• 파일과 파일 사이 이동

• ^ + f6

• 뒤로/앞으로

• @ + 좌우 화살표

Page 37: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

코드 비교하기

• compare with...

• replace with...

Page 38: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

편집

• copy & paste

• ^ + insert / ~ + insert

• ^ + c / ^ + v

• ^ + @ + 상하 화살표

• method copy/remove

• outline view에서 copy/remove

Page 39: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 오픈소스 프로젝트 import 하기

• 편집기 단축키 중 ctrl+shift+R의역할은?

• 자바 편집기에서 ctrl+shift+G의역할은?

• 클래스, 메소드, 변수의 선언위치로이동하는 단축키는?

Page 40: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

4. 프로젝트 기반의소스 아키텍처

• 개발 표준

• 소스 디렉토리 구조

• 서비스 디렉토리 구조

• 버젂관리 해야할 것

• 빌드 스크립트의 가변성

Page 41: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

개발 표준

• 용어집

• 코딩 컨벤션

• CRUD 코드 샘플

Page 42: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

소스 디렉토리 구조

• src

• src/java

• src/test

• WebContent

• WebContent/WEB-INF/web.xml

• WebContent/WEB-INF/lib

• WebContent/WEB-INF/classes

• docs

Page 43: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

서비스 디렉토리 구조

• Context Root

• /WEB-INF/web.xml

• /WEB-INF/lib

• /WEB-INF/classes

Page 44: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

버젂관리 해야할 것

• src

• WebContent/

• .ignore

• project configuration

Page 45: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

빌드 스크립트의가변성

• properties 이용

• relative path

Page 46: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 다이나믹 웹 프로젝트 기본 폴더구조는?

Page 47: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

5. 프로퍼티 에디터플러그인 설치하기

• Properties의 특성

• 프로젝트 내에서 properties 파일의위치

• propedit plugin

Page 48: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Update Site URL

http://propedit.sourceforge.jp/eclipse/updates/

Page 49: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Software Updates

Page 50: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Check plugin & Install

Page 51: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Plugin Licenses

Page 52: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Install Complete

Page 53: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Software Updates

• Installed Software

• Update...

• Uninstall...

• Revert Configuration...

• Available Software

• Update site url

Page 54: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 플러그인 설치의 두 가지 방법을기술

• AnyEdit plugin

• Subversive plugin

• pathtools

Page 55: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

6. Mylyn과 작업리스트

• Mylyn 개요

• ToDo 리스트의 관리

• 일정관리

Page 56: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

New Task

Page 57: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Mylyn 개요

• Task List

• Planning

• Context

• Category

• Activate Task

• Focus on Active Task

Page 58: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Task List

Page 59: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

ToDo 리스트의 관리

• Context 와 연결

• 우선숚위

• Estimation

Page 60: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

일정관리

• Personal Planning

• Scheduled for

• Due

• Estimated hours

Page 61: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• Mylyn과 구글의 이슈트래커와 연결

Page 62: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Day-2

Page 63: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

이클립스 서브버전 플러그인Subversive

• Ganymede project

• Polarion license

• Team UI

Page 64: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

eclipse.org/subversive

Page 65: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Subversive Update URL

http://www.polarion.com/products/svn/subversive.php?src=eclipseproject

Page 66: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 오픈소스 프로젝트 호스팅 서비스와서브버젂 플러그인을 연결해서프로젝트 소스를 가져오기

Page 67: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Version Control System 기본

• 버전관리 라이프사이클

• import

• add

• commit

• checkout

• update

• repository

• sandbox

Page 68: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

젂통적인 개발방식

server

client

browser

개발자A

개발자B

ftp, telnet

ftp, telnet

Page 69: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

VCS를 이용한 개발

VCS

server

client

browser

개발자A

개발자B

build

: sandbox;

VCS서버와 sync되는 소스 작업공간

Page 70: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

용어• 저장소 Repository버젂 관리되는 파일이 저장되는 서버의 기준 디렉토리

• 모듈 Module저장소의 하위 단위, 한 모듈은 보통 하나의 프로젝트

• 체크아웃 checkout모듈을 작업자의 PC로 가져오는 명령

• 샌드박스 sandbox파일의 수정이 가능한 VCS서버와 동기화되는 작업공간.

• 전송 Commit작업 완료된 파일을 VCS서버에 반영

Page 71: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Source Repository

Image from: http://designpatternschash.blogspot.com/2008/09/what-is-tortoise-svn.html

Page 72: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Update, Commit

Image from: http://designpatternschash.blogspot.com/2008/09/what-is-tortoise-svn.html

Page 73: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• VCS 용어의 의미를 기술

• import

• commit

• update

• conflict

• repository

• sandbox

Page 74: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

소스의 공유와 배포에 관하여

• Sandbox

• Update Frequently

• Commit by function unit

• Team Communication

• Time Gap

Page 75: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Process

Page 76: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

VCS Best Practices

• 작업 시작 젂에 항상 project update를 시행

• 완료된 파일은 매일 점심 식사 젂과 퇴근젂에 젂송(Commit)

• 충돌이 자주 생기는 파일은 해당작업자들간의 의사소통이 잘 안 된다는 표시

• 에러가 난 파일은 해결될 때까지젂송(Commit) 자제

Page 77: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• VCS를 이용한 공유시 소스의 이력을볼 수 있는 방법은?

• 웹 애플리케이션 배포시 이상이생겼을 경우 원상복구를 빨리 할 수있는 방법을 기술하시오.

Page 78: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

버젂 비교하기

• Compare with ...

• Source Tree Time Machine

Page 79: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Show in History

Page 80: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

https svn trust

Page 81: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

History View

Page 82: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Compare With ...

Page 83: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Get Content

Page 84: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 히스토리 뷰에서 과거 소스의 내용을가져와 현재의 소스에 적용하는 방법

• 일주일 전 프로젝트 소스 가져오기

Page 85: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

ANT 빌드스크립트 만들기

• project

• target

• task

Page 86: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Ant.apache.org

Page 87: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Ant Outline

Page 88: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 이클립스IDE와 빌드툴의 차이

• 기존 프로젝트에 ANT 빌드스크립트를 적용하기

Page 89: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

ANT를 이용한 자동화

• Build Script

• Crontab

• Conditional Build based on property

• javadoc

• JUnit

Page 90: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

ftp task

<target name="upload" depends="publish" description="ftp upload text files">

<ftp server="${ftp.server}" port="21" remotedir="${ftp.remotedir}"

userid="${ftp.userid}" password="${ftp.password}"depends="yes“ binary="yes">

<fileset dir="${publish.home}"><!-- jsp 파일 업로드 --><include name=“**/*.jsp"/>

<!-- class 파일과 resources 업로드 --><include name="WEB-INF/classes/kr/**/*.class"/>

<!-- 정적인 파일 업로드 --><include name="**/*.htm*"/>

</fileset></ftp>

</target>

Page 91: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Optional Task

Page 92: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• ftp를 이용하려면 필요한 라이브러리

• 빌드날짜가 포함된 jar 파일생성하기

Page 93: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Day-3

Page 94: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

1. 지속적인 통합Continuous Integration

• 주기적인 빌드를 통해서 프로젝트 팀간의 인터페이스 격차를 조기에 발견

• 빅뱅통합에 드는 비싼 비용을 절감

• PC급의 빌드 서버 활용

Page 95: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Commit Time issue

• interfaces, xml small but important files

• break whole build

• fear of commit

• short periodical commit time interval

Page 96: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Best Practices

• Maintain a Single Source Repository.

• Automate the Build

• Make Your Build Self-Testing

• Everyone Commits Every Day

• Build the Mainline on an Integration Machine

• Keep the Build Fast

• Test in a Clone of the Production Environment

• Make it Easy for Anyone to Get the Latest Executable

• Everyone can see what's happening

• Automate Deployment

Page 97: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 지속적인 통합의 장점 세 가지 기술

• 지속적인 통합의 프랙티스 열 가지기술

Page 98: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

2. Hudson 개요

• Building/testing software project continuously

• Monitoring execution of externally-run jobs

Page 99: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Plugins

• installation

• Using interface

• http://yourhost/hudson/managePlugins

• Download

• download *.hpi file into

• $HUDSON_HOME/plugins

source: http://wiki.hudson-ci.org/display/HUDSON/Plugins

Page 100: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Plugins #1

• Source code management

• Build triggers

• Build tools

• Build wrappers

• Build notifiers

• Slave launchers and controllers

Page 101: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Plugins #2

• Build reports

• Artifact uploaders

• External site/tool integrations

• UI plugins

• Page decorators

• Misc

Page 102: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Plugins

Page 103: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Plugins

Page 104: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Findbugs plugin

Page 105: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Security

• java -jar hudson.war

--argumentsRealm.passwd.kenu=okpass

--argumentsRealm.roles.kenu=admin

Page 106: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Security

Page 107: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Security

Page 108: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Security

Page 109: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Hudson Security

• Quick and Simple Security <http://hudson.gotdns.com/wiki/display/HUDSON/Quick+and+Simple+Security>

• Standard Security Setup <http://hudson.gotdns.com/wiki/display/HUDSON/Standard+Security+Setup>

• Apache frontend for security <http://hudson.gotdns.com/wiki/display/HUDSON/Apache+frontend+for+security>

• Authenticating scripted clients <http://hudson.gotdns.com/wiki/display/HUDSON/Authenticating+scripted+clients>

• Help! I locked myself out! <http://hudson.gotdns.com/wiki/display/HUDSON/Disable+security>

Page 110: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Eclipse plugin

source: http://code.google.com/p/hudson-eclipse/

Page 111: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• Hudson의 두 가지 목적은?

• Hudson 플러그인 설치 방법 두 가지

• Hudson의 기본인증 기능을 설치하기

• 구글 메싞저와 연결하기

Page 112: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

3. Hudson과Subversion 연결

Page 113: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Check out URL

Page 114: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Job Configure

Page 115: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 오픈소스 프로젝트와 Hudson 연결

Page 116: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

4. 개발프로세스에서이클립스 포지셔닝

Page 117: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Page 118: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 이클립스 프로젝트의 Ant 빌드스크립트를 만들고 Hudson을통해 개발서버에 배포하기

Page 119: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

5. Eclipse Communication Framework

Page 120: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

ECF in Ganymede

Page 121: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Page 122: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Real-time Shared Editing

http://www.vimeo.com/1195398?pg=embed&sec=1195398

Page 123: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• ECF 프레임워크를 통해서 짝프로그래밍하기

Page 124: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

6. 프로젝트 Health Check

Page 125: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Health Check

Page 126: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 프로젝트 모니터링을 위해 Hudson에메일 설정하기

• JUnit Report 설정하기

• Findbugs를 통해 프로젝트 버그 정적분석하기

Page 127: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Day-4

Page 128: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

1. 웹프로젝트의 특징

• ServerSide Script

• ClientSide Script

Page 129: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Java ProjectDynamic Web Project

Page 130: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

설정 파일 비교

Page 131: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 서버 사이드 스크립트와 클라이언트사이드 스크립트의 런타임 차이점

• Client/Server 애플리케이션과 웹애플리케이션의 차이점

Page 132: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

2. 톰캣 서버 연결

• Target Runtime

Page 133: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 톰캣 서버 포트를 8080에서 9090으로변경하기

• 프로젝트 퍼블리쉬하지 않게 설정조정하기

• 자바 프로젝트와 다이나믹 웹프로젝트의 차이점

Page 134: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

3. JSP/Servlet 만들기

Page 135: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Servlet 만들기

Page 136: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Servlet 클래스

Page 137: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

URL Mapping

Page 138: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Servlet Template

Page 139: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

doGet()

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<h1>Hello World</h1>");

out.close();

Page 140: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

URL mapping

Page 141: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• DB를 이용해 방명록 만들기

Page 142: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

4. 한글 인코딩 처리

Page 143: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Java Hangul

new String(string.getBytes("8859_1"), "ms949");

new String(string.getBytes("ms949"), "8859_1");

Page 144: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

홖경변수

System.getProperty("user.language");

JAVA_OPTS="-Duser.language=en"

JAVA_OPTS="-Duser.language=ko"

Page 145: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JSP encoding

<%@ page pageEncoding="ms949" %>

<%@ page contentType="text/html;charset=ms949" %>

Page 146: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JSP encodingrequest.setCharacterEncoding("ms949");

Filter<filter>

<filter-name>Set Character Encoding</filter-name><filter-class>filters.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param>

</filter>

<filter-mapping><filter-name>Set Character Encoding</filter-name><url-pattern>/*</url-pattern>

</filter-mapping>

Page 147: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

한글 문제 처리 방법

• 다른 DB클라이언트로 한글 확인

• 인코딩 함수 모두 제거 후 점진 적용

• 브라우저의 소스보기에서 한글 확인

• 중간단계의 한글 깨짐 해결우선숚위는 최하위로

Page 148: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 자바에서의 캐릭터 인코딩 처리 기술

• JSP의 인코딩 처리 기술

• 한글 문제 처리 방법

• HTTP에서의 인코딩 처리 기술

Page 149: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

5. Spring 웹프레임워크 다루기

• JPetStore 샘플을 통해서 스프링프레임워크 숙지

Page 150: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

warfile.bat 실행

Page 151: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

hsqldb 서버 기동

Page 152: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

import war file

Page 153: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Import src

Page 154: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JPetStore 실행

Page 155: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• Spring Framework 에서 다음을 순서대로나열하시오

• Controller

• DAO

• Service

• JSP

• applicationContext.xml

Page 156: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

6. 원격 서버 배포하기

Page 157: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

배포시 주의사항

• 개발 서버는 Hudson 등을 통해자동화 가능

• 운영계는 원상복구에 대한 이슈가크기 때문에 심볼릭 링크 등을통해서 빠르게 원복할 수 있도록 함

Page 158: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

ftp ant task 등

<ftp server="${ftp.server}"

port="21"

remotedir="${ftp.remotedir}"

userid="${ftp.userid}"

password="${ftp.password}"

depends="yes"

binary="yes"

>

<fileset dir="${publish.home}">

<include name="images/**/*.gif"/>

<include name="images/**/*.jpg"/>

<include name="WEB-INF/lib/*.jar"/>

<include name="WEB-INF/classes/*.class"/>

</fileset>

</ftp>

Page 159: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Remote System Explorer

Page 160: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

RSE Ftp

Page 161: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 톰캣에서 war 파일로 프로젝트배포하기

• ant의 ftp 태스크를 이용해서배포하기

Page 162: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Day-5

Page 163: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

이클립스와 테스트 자동화

• 1. 이클립스에서 지원하는 테스트케이스

• 2. JUnit 이해하기

• 3. 테스트케이스와 리팩토링

• 4. Findbugs 플러그인을 통한 품질향상

• 5. JUnit과 Findbugs의 지속적인 리포트

• 6. Selenium을 이용한 웹 UI 레코딩 테스트

Page 164: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

1. 이클립스에서지원하는 테스트케이스

• 테스트케이스는 입력값과 출력값을지정해서 테스트 되는 함수가 그조건의 충족 여부를 확인 가능한프로그램

• assertEquals(예상출력, 함수(입력));

Page 165: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트의 자동화

• 테스트케이스는 프로그램으로자동화해야 한다.

• 품질은 테스트의 범위와 실행 횟수에영향을 받는다.

• 수작업의 테스트는 기한 내 테스트실행 횟수를 감소시킨다.

• 테스트는 빨리 쉽게 수행 가능해야한다.

Page 166: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Test Harness

• Scaffold

• Outside of Application

• Fine grained TestCases

• It’s useful for changing software

• Acrobatic with safety net

Page 167: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Page 168: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Page 169: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestCase 제작

Page 170: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestCase 제작

Page 171: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestCase 제작

Page 172: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestCase 제작

package net.okjsp;

import junit.framework.TestCase;

public class HelloWorldTest extends TestCase {

}

Page 173: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 메소드

Page 174: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

assert...

• assertTrue(실행결과);

• assertFalse(실행결과);

• assertEquals(목적값, 실행결과);

• assertEquals(float목적값, 실행결과, 오차범위);

Page 175: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

일단 테스트 고

Page 176: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JUnit Result

Page 177: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

컴파일 되게 만들기

Page 178: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

컴파일 되게 만들기

Page 179: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

다시 테스트 고

Page 180: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 통과하게 하기

Page 181: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

기능 추가하기

Page 182: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

컴파일 되게 만들기

Page 183: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

다시 테스트 고

Page 184: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 통과하게 하기

Page 185: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

리팩토링 하기-중복제거재홗용

Page 186: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 히스토리

Page 187: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 조건 강화하기

Page 188: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

다시 테스트 고

Page 189: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 통과하게 하기

Page 190: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트에 관하여

Page 191: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Test and Debug

Page 192: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

참고

• http://junit.org

• http://www.eclipse.org

• http://xper.org

• http://okjsp.tistory.com/tag/test

Page 193: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 테스트케이스란?

Page 194: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

2. JUnit 이해하기

• java version of xUnit family.

• CPPUnit, JSUnit, ASUnit, httpUnit…

• Kent Beck, Erich Gamma

• assert

• TestCase, TestSuite

• Matter of S/W quality.

Page 195: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

sf.net/projects/junit

Page 196: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestCase

• Ver3.8.x

• Extends TestCase

• assertTrue

• assertEquals

• Ver4.x

• Annotation

Page 197: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestSuite

• AllTests

• Group of TestCases

• Regression Test Automation

Page 198: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• JUnit 테스트케이스로 디버깅하기

• TestCase와 TestSuite 구분하기

Page 199: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

3. 테스트케이스와리팩토링

Page 200: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

리팩토링 하기

Page 201: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

리팩토링 하기-inline

Page 202: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 스위트

Page 203: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 스위트

Page 204: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

젂체 테스트하기

Page 205: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

정리-테스트 리듬

• Rhythm

• TestCase

• Change Small Code

• All Test

• Refactoring

• All Test

• 돌다리도 두드려 가라.

• 모래 코드 위에 코드를 추가하지 말라.

Page 206: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 코드 분리하기-소스폴더

Page 207: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 코드 분리하기-소스폴더

Page 208: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 코드 분리-Move

Page 209: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

테스트 코드 분리-Move

Page 210: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

다시 테스트 고

Page 211: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JUnit Beyond

Page 212: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 리팩토링이란?

• 리팩토링과 테스트케이스의 관계?

Page 213: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

4. Findbugs 플러그인을통한 품질향상

Page 214: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

from

• http://findbugs.sourceforge.net

Page 215: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

What for

• Find Java Program Bugs

• Search by bug patterns

• Search for compiled byte code

• Refer source code for Human Readable

• Provide fix guide for each bug

Page 216: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Tool• Command line• Desktop Application

• Java Web Start; jnlp• Plugin

• IDE: • Eclipse, NetBeans …

• Build Tool:• Ant, Maven

• CI Tool : • Hudson

Page 217: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Command line

• Download, Unzip, set Path

• options

• findbugs -textui-javahome /path/to/jdk1.5.0 -xml -output findbugs.xml /path/to/classes

Page 218: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Desktop

Page 219: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Eclipse plugin

• Update URL

• http://findbugs.cs.umd.edu/eclipse/

Page 220: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Eclipse plugin-editor

Page 221: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Eclipse plugin-view

Page 222: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Eclipse plugin-perspective

Page 223: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Related

• http://findbugs.sourceforge.net

• https://hudson.dev.java.net

• http://okjsp.tistory.com/tag/findbugs

Page 224: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• Findbugs 이클립스 플러그인사용하기

• Hudson 플러그인으로 리포팅하기

Page 225: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

5. JUnit과 Findbugs의지속적인 리포트

Page 226: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

JUnit Ant Task

• junit-ant.jar, junit.jar

copy to $ANT_HOME/lib/

<target name="test" depends="compile">

<junit>

<classpath refid="test.classpath"/>

<test name="test.UnitTest"></test>

</junit>

</target>

Page 227: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

junitreport<mkdir dir="report/html"/>

<junit printsummary="on" haltonfailure="on">

<classpath refid="test.classpath"/>

<formatter type="xml"/>

<batchtest todir="report">

<fileset dir="dst">

<include name="**/*Test*"/>

</fileset>

</batchtest>

</junit>

<junitreport todir="report">

<fileset dir="report">

<include name="TEST-*.xml"/>

</fileset>

<report format="frames" todir="report/html"/>

</junitreport>

Page 228: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

junitreport

Page 229: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Findbugs Ant Task

• $FINDBUGS_HOME/lib/findbugs-ant.jar

copy to $ANT_HOME/lib/

<taskdef name="findbugs"

classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />

<target name="findbugs" depends="compile">

<findbugs home="${findbugs.home}"

output="xml" outputFile="findbugs.xml"

jvmargs="-Xms512M -Xmx1024M " timeout="1800000">

<sourcePath path="WebContent/WEB-INF/src" />

<class location="WebContent/WEB-INF/classes" />

</findbugs>

</target>

Page 230: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

HUDSON Report

• https://hudson.dev.java.net/

Page 231: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

How to use in our team

• Each one’s IDE; before commit;

• Using App’s Health Care

• CI graph

• Code Review

Page 232: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• JUnit과 Findbugs의 Ant 연결 파일과Ant Task 실행을 위해 파일을 복사할위치는 어디인가?

Page 233: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

6. Selenium을 이용한웹 UI 레코딩 테스트

• Overview

• Install

• UI Recording

Page 234: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

• Install Firefox

• http://getFirefox.com

• 도구 > 부가 기능

• Search "Selenium"

Page 235: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

install

Page 236: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Selenium IDE

Page 237: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Recording

Page 238: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

VerifyText

Page 239: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Replay

Page 240: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

tune

Page 241: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestCase

Page 242: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

TestSuite

Page 243: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

Selenium Core

• Selenium Core is a DHTML test execution framework.

Page 244: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

연습문제

• 방명록 웹UI 테스트케이스 작성하기

Page 245: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

정리

05.09 이클립스 기본

05.16 서브버젂과 빌드 도구 ANT

05.23 이클립스와 협업 프로세스

05.30 이클립스 웹개발

06.13 이클립스와 테스트 자동화

Page 246: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

이클립스 기본

• 이클립스 개요

• Hello World 실행하기

• 코드 네비게이션

• 프로젝트 기반의 소스 아키텍처

• 프로퍼티 에디터 플러그인 설치하기

• Mylyn과 작업리스트

Page 247: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

서브버젂과 빌드 도구 ANT

• 1. 이클립스 서브버젂 플러그인 Subversive

• 2. Version Control System 기본

• 3. 소스의 공유와 배포에 관하여

• 4. 버젂 비교하기

• 5. ANT 빌드스크립트 만들기

• 6. ANT를 이용한 자동화

Page 248: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

이클립스와 협업 프로세스

• 1. 지속적인 통합 Continuous Integration

• 2. Hudson 개요

• 3. Hudson과 Subversion 연결

• 4. 개발프로세스에서 이클립스 포지셔닝

• 5. Eclipse Communication Framework

• 6. 프로젝트 Health Check

Page 249: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

이클립스 웹개발

• 1. 웹프로젝트의 특징

• 2. 톰캣 서버 연결

• 3. JSP/Servlet 만들기

• 4. 경우에 따른 인코딩 처리

• 5. Spring 웹 프레임워크 다루기

• 6. 원격 서버 배포하기

Page 250: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

이클립스와 테스트 자동화

• 1. 이클립스에서 지원하는 테스트케이스

• 2. JUnit 이해하기

• 3. 테스트케이스와 리팩토링

• 4. Findbugs 플러그인을 통한 품질향상

• 5. JUnit과 Findbugs의 지속적인 리포트

• 6. Selenium을 이용한 웹 UI 레코딩 테스트

Page 251: Collaboration with Eclipse final

jsp / eclipse 정보공유 http://okjsp.pe.kr

수고하셨습니다.이클립스로

행복한 개발하세요.