Top

[초보 자바 개발자를 위한]
이클립스 Juno 따라잡기

  • 원서명Getting Started with Eclipse Juno (ISBN 9781782160946)
  • 지은이로드리고 프락시노 아라우, 비니수 두렐리, 라파엘 테세이라
  • 옮긴이신은정
  • ISBN : 9788960775299
  • 28,000원
  • 2014년 02월 28일 펴냄
  • 페이퍼백 | 316쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 이클립스 프로페셔널

책 소개

요약

이클립스 4.x가 릴리스되면서 새롭게 선보이는 기능과 개선된 기능을 소개하고, 이클립스 설치에서부터 코드 작성, 테스트, 소스 관리까지 애플리케이션 개발과 관련된 전반적인 사항을 다룬다. 또한 자바 기반의 다양한 애플리케이션을 개발하는 예제를 통해 이클립스의 사용법을 설명한다. 예제를 따라 하다 보면 이클립스의 사용법뿐만 아니라 자바로 할 수 있는 다양한 세계를 경험하게 되고 개발 생산성을 높이는 좋은 팁도 얻게 된다.

이 책에서 다루는 내용

■ 이클립스 소개와 IDE를 사용해야 하는 이유
■ 이클립스를 이용해 자바 코드를 효율적으로 작성하는 방법
■ 이클립스에 JUnit 4를 통합하고 JUnit 기반 테스트 메소드를 개발하고 실행하는 방법
■ 버전 관리 시스템 Git/EGit을 이용해 프로젝트를 관리하는 방법
■ 이클립스 WTP를 이용해 웹 기반 자바 애플리케이션을 개발하고 배포하는 방법
■ 새로운 편집기와 뷰를 개발하고 IDE의 기본 요소에 기능을 기여해 이클립스를 확장하는 방법

이 책의 대상 독자

이클립스는 다양한 언어를 위한 IDE로 사용되지만, 자바 커뮤니티에서 특히 더 인기가 높다. 이 책은 이클립스를 더 많이 알고 잘 활용하고 싶은 자바 프로그래머를 대상으로 구성했다. 그러므로 이클립스를 이용한 자바 개발에 중점을 뒀으며, 이 책의 주요 독자는 자바 프로그래머다.

이 책은 초급과 중급 자바 프로그래머에 적합한 수준으로 작성했다. 자바에 친숙한 대학원생에게도 도움이 될 것이다. 소프트웨어를 개발하면서 이클립스의 세계를 처음 접하는 사람에게 이 책을 권한다. 다른 IDE를 사용해 본 경험이 있으면서 이클립스가 제공하는 기능이 궁금한 경험 많은 개발자라면 IDE의 주요 기능을 경험할 수 있는 실용적인 예제를 직접 경험해보길 바란다. 이클립스를 처음 사용하는 방법을 중점적으로 다루기 때문에 이클립스를 이미 써 본 사용자는 별 도움이 되지 않을 수도 있다. 하지만 달리 생각하면 이클립스를 완전히 익히는 계기도 된다. 이 책은 이클립스를 올바르게 사용하고 개발 생산성을 높이고 싶은 개발자들이 빠르게 학습할 수 있는 튜토리얼이다.

자바를 잘 모른다면 책이 맞지 않지만, 조금이라도 자바를 안다면 자바 문법을 집중적으로 학습한 후 책을 읽으면 대부분의 내용을 따라 할 수 있다. 자바 서적을 옆에 가까이 두기만 하면 된다. 이 책에 나온 대부분의 자바 코드는 초급 개발자도 가능한 수준이다. 초보자가 자바 문법과 관련된 기술 때문에 포기하지 않게 최대한 간단하게 예제 코드를 작성하려고 노력했다. 좀 복잡해보이는 부분에 대해서는 간단한 설명을 제공하거나 관련 주제를 자세히 설명한 곳도 함께 표시했다.

이 책의 구성

이 책은 이클립스 주노(Juno)를 설명한다. 주노는 이 책을 집필하던 시점에 가장 최신의 안정된 IDE 버전으로, 2012년 6월에 릴리스됐다. 자바 애플리케이션 구현과 관련된 가장 기본적인 작업(자바 프로젝트 생성 및 구성, 리팩토링, 실행 구성 설정 같은 작업)을 수행하는 방법부터 설명한 후 테스트와 웹 개발, GUI 프로그래밍, 요구하는 대로 이클립스 편집기 확장 같은 좀 더 세부적인 주제를 다룬다.
이 책은 기술에 대해 깊게 고민할 필요 없이 이클립스를 바로 사용할 수 있게 직접 실습해보는 방식으로 작성했다. 이 책에서 다룬 주제는 다음과 같다.

■ 자바 코드 작성을 위해 이클립스를 효율적으로 사용하기
■ 이클립스와 JUnit 4를 통합해 JUnit 기반 테스트 메소드를 개발하고 실행하기
■ 버전 관리 시스템 Git/EGit을 이용해 프로젝트 관리하기
■ SWT를 이용해 GUI 애플리케이션 개발하기
■ 예제를 활용해 고급 GUI 개발하기
■ 웹 기반 자바 애플리케이션의 개발과 배치를 위한 이클립스 WTP 플러그인 사용하기
■ 새로운 편집기와 뷰를 개발하고 기존 IDE에 기능을 기여해 이클립스 확장하기

1장, ‘소개’에서는 이클립스를 처음 사용하는 방법을 설명하다. 이클립스를 설치하는 방법과 이클립스 주노의 새롭고 주목할 만한 기능을 간단히 소개한다.

2장, ‘자바 개발’에서는 이클립스를 이용한 자바 개발 기초를 다룬다. 메인 윈도우에는 작은 윈도우가 많이 있으며, 작은 윈도우에는 버튼과 드롭다운 메뉴가 많으므로, 초보자에게 이클립스는 매우 어려울 수 있다. 2장에서는 자바 프로그램 개발을 위한 이클립스의 주요 기능을 알아본다. 이어서 자바 프로젝트를 생성하고, 자바 개발에 사용되는 이클립스 뷰를 자세히 살펴본 후 자바 코드 생성, 실행 구성 설정을 포함한 자바 프로젝트 빌드와 실행까지 모든 절차를 두루 설명한다. 자바 코드를 개선하기 위한 리팩토링도 살펴본다. 매우 복잡한 프로젝트로 고생하고 있다면 리팩토링이 자바 개발에서 얼마나 중요한 요소인지 알게 될 것이다.

3장, ‘JUnit과 디버깅을 이용한 단위 테스트’에서는 자바에서 단위 테스트를 구현하는 데 가장 널리 사용되는 프레임워크인 JUnit을 소개한다. 이클립스에서 JUnit을 사용하기 위해 필요한 설정 방법을 배우고, JUnit의 애노테이션을 이용해 테스트 메소드를 작성하는 방법도 설명한다. 보면 알겠지만 특정 테스트 메소드를 실행하지 않게 하거나 해당 메소드에서 예외가 발생함을 JUnit에게 알릴 때 애노테이션을 사용한다. 3장은 이클립스 디버거를 사용해 코드의 문제를 발견하는 방법을 소개하고 마친다.

4장, ‘버전 관리 시스템’에서는 이클립스에서 버전 관리 시스템을 사용하는 방법을 설명한다. 복잡한 소프트웨어 프로젝트(또는 한 사람 이상이 참여한 프로젝트)에서 작업할 때는 문제가 발생했을 때 소프트웨어 버전 간의 차이를 추적하고 관리하는 도구가 필요하다. 책에서는 CVS와 SVN, Git을 다루고, 내장되거나 외부에서 가져온 플러그인을 통해 이클립스 내에서 버전 관리 시스템을 사용하는 방법을 설명한다. 이 책을 읽고 나면 이클립스 내에서 버전 관리 시스템을 사용한 협업 개발이 가능해진다.

5장, ‘SWT’에서는 표준 위젯 툴킷(SWT, Standard Widget Toolkit)을 이용한 그래픽 사용자 인터페이스(GUI) 개발에 대해 설명한다. 5장에서는 버튼과 레이블, 콤보 같이 가장 기본적인 위젯을 소개한다. 5장은 6장, ‘SWT 고급 기능’의 기초가 된다.

6장, ‘SWT 고급 기능’에서는 5장에서 배운 내용을 기초로 툴바와 테이블 같은 고급 위젯을 소개하고, 좀 더 멋스러운 GUI를 개발하는 방법을 소개한다. 6장은 모든 특성을 갖춘 예제를 제공한다.

7장, ‘이클립스 WTP를 이용한 웹 개발’에서는 이클립스를 이용한 간단한 웹 애플리케이션 개발을 다룬다. 웹 툴 플랫폼(WTP, Web Tools Platform)이라는 플러그인 집합을 포함한 이클립스를 이용해 서블릿과 JSP(JavaServer Pages)라는 두 개의 기본적인 웹 기술 기반의 웹 애플리케이션 개발 방법을 설명한다.

8장, ‘이클립스 개발’에서는 좀 더 고급 주제인 이클립스 확장을 다루고, 이클립스 아키텍처 구성에 대해 배운다. 이 책을 읽고 나면 자신만의 플러그인이나 편집기를 만들고, 심지어 특정 뷰를 확장하기 위해 확장점(extension point)을 추가하는 방법을 알게 된다.

9장, ‘이클립스 RCP’에서는 8장에서 배운 내용을 활용하고, 이클립스 RCP(Eclipse Rich Client Platform)을 이용해 자신만의 리치 클라이언트 애플리케이션을 개발해본다. 간단한 애플리케이션 개발을 통해 뷰와 메뉴, 패널을 추가하는 방법과 그들 간에 상호작용하는 방법을 배운다. 그리고 이클립스 플랫폼을 이용해 완벽한 기능을 갖춘 크로스플랫폼 애플리케이션을 빌드하고, 애플리케이션에 브랜드를 적용하며 패키징하는 방법도 다룬다.

부록, ‘키보드 단축키’에서는 책에서 다루는 모든 키보드 단축키와 이클립스를 이용해 개발할 때 생산성 향상에 도움이 되는 기능을 담았다.

저자/역자 소개

저자 서문

이클립스는 2001년 11월에 첫 번째 버전을 릴리스했다. 이후 많은 기능을 개선했으며 사용자 수도 증가했다. 그간의 많은 개선 덕분에 이클립스는 많은 인기를 얻고 찬사를 받았다. 요즘 이클립스는 자바 애플리케이션 개발을 위한 통합 개발 환경(IDE) 중 가장 많이 사용된다. 이클립스는 무료 오픈소스 프로그램이며, 소프트웨어 개발과 관련된 많은 활동을 지원하는 플러그인을 포함한다. 뿐만 아니라 사용자의 요구와 기호에 따라 추가적인 플러그인을 다운로드해 설치하기도 쉽다. 이클립스는 대부분 자바로 개발돼 다양한 플랫폼을 지원한다는 장점도 있다.

IDE 없이 자바를 사용한 경험이 있다면 자바가 매우 불편하다는 사실을 깨달았을 것이다. 대부분의 경우 자바 컴파일러(javac)가 표시하는 오류 메시지는 도움이 되지 않기 때문이다. 세미콜론을 누락한 경우와 같이 아주 간단한 오류조차 긴 오류 메시지 목록에 표시된다. IDE에서는 이런 종류의 간단한 문제는 프로그램을 실행하기 전에 발견해서 보여주며, 사용자가 고민하기 전에 해결책을 제안해준다. 완전한 기능을 갖춘 IDE를 사용하면 많은 이점이 있다는 사실은 의심할 여지가 없다. 예를 들어 IDE는 코드 자동 완성 기능을 제공하고 코드의 형태를 정렬하게 도와주며, 테스트와 디버깅, 코드의 변경을 추적하는 기능을 제공하는 플러그인을 제공하기도 한다.

IDE의 이런 모든 장점에도 불구하고 고급 개발 도구의 사용법을 익히는 일은 쉽지 않다. IDE를 완전히 학습하는 데는 많은 시간과 노력이 필요해 보통 가파른 학습 곡선의 양상을 보인다. 설상가상으로 많은 개발자는 새로운 프로그래밍 언어를 배우면서 동시에 IDE를 배워야 하는 경우도 종종 있다.

이 책은 이클립스의 가파른 학습 곡선을 극복하게 도와준다. 이 책을 읽고 나면 이클립스를 이용한 많은 개발 활동을 수행할 수 있는 기초를 다지게 될 것이다.

저자 소개

로드리고 프락시노 아라우(Rodrigo Fraxino Araujo)

브라질 상파울루 대학에서 컴퓨터 과학 박사 과정 중에 있으며 프랑스 국립 컴퓨터 과학 및 제어 연구소, 로캉쿠르(Rocquencourt)의 객원 연구원으로 근무했다. 2011년부터는 IBM에서 소프트웨어 엔지니어로 근무하고 있다.

비니수 두렐리(Vinicius H. S. Durelli)

브라질 상파울루 대학에서 컴퓨터 과학 박사 과정 중이다. 2011년부터 2012년까지 박사 학위 연구 논문을 작성하면서 미국 버지니아의 조지 메이슨 대학(the George Mason University)의 객원 연구원으로 근무했다. 2008년에 산 카를로스의 연방 대학에서 컴퓨터 과학 석사 학위를 받았으며, 2006년에는 썬(Sun)으로부터 자바 개발자 인증을 받았다. 나이가 많은 사람이라 느낄지 모르겠지만, 2004년경부터 이클립스를 사용했다. 비니수가 개발이나 글을 쓰지 않을 때는 비디오 게임, 특히 마리오와 젤다 게임을 즐기며 브라질 유술인 주짓수(Jiu Jitsu)를 한다.

라파엘 테세이라(Rafael M. Teixeira)

IBM 리눅스 기술 센터에서 소프트웨어 엔지니어로 근무하면서 이클립스 오픈 소스 프로젝트를 위한 코드를 개발하고 있다. 상파울루 대학에서 컴퓨터 공학 학사 학위를 받은 후 석사 과정 중이다. 라파엘이 가장 좋아하는 취미는 달리기지만 가끔은 비디오 게임을 즐기기도 한다.

옮긴이의 말

이클립스(Eclipse)는 다양한 운영체제에서 자바, C 등의 언어로 언어로 애플리케이션을 개발, 빌드, 배치할 수 있게 지원하는 통합개발도구(IDE)다. 2001년 이클립스 1.0이 릴리스된 후 이클립스는 많은 개선을 함으로써 자바 개발에 있어 사실상의 표준 도구가 됐다. 이런 개선과 변화 중 가장 주목할 만한 릴리스는 OSGi로 런타임 기반 구조를 변경해 2004년 6월에 릴리스한 이클립스 3.0과 GUI 구성 방식의 가변성을 높인 이클립스 4.x다. 이클립스 3.0 릴리스 후 이클립스는 플러그인뿐만 아니라 OSGi 번들도 쉽게 사용할 수 있게 됨으로써 많은 개발자가 유익한 기능을 기여하게 되고, 더 많은 인기를 얻게 됐다.

많은 인기를 끈 이클립스 3.x는 2011년 인디고(Indigo)를 마지막으로 릴리스됐으며, 2012년 6월 이클립스 4 모델 기반의 이클립스 주노(Juno)(4.2)가 릴리스됐다. 이클립스 4는 3.x와의 호환성을 지원하며, GUI를 EMF 모델 기반으로 정의함으로써 런타임 시의 화면 모델 변경이 가능하고 CSS 파일을 통해 화면의 스타일을 설정함으로써 친숙한 화면 구성이 가능해졌다. 뿐만 아니라 빠른 접근이 가능하게 전역 검색 바나 디버그 커맨드 등의 위치를 변경했으며, 편집기 분리나 편집기와 뷰 중첩 같이 작업의 편의를 위해 사용자가 유연하게 화면을 구성할 수 있게 개선되고, 탐색 기능 등이 향상됐다. 이클립스 4 초기에는 다소 무겁고 느리다는 평을 많이 받았지만, 이런 문제를 상당 부분 개선해 현재는 케플러(Kepler)(4.3)까지 릴리스됐다.

이 책은 이클립스 4.x의 초창기 모델인 주노(Juno)의 설치에서부터 코드 작성, 테스트, 소스 관리까지 애플리케이션 개발과 관련된 전반적인 사항을 다룬다. 앞서 언급했듯이 이클립스로 개발 가능한 애플리케이션은 다양하지만, 책에서는 자바 기반 애플리케이션 개발 방법을 설명한다. 기본적인 자바 애플리케이션에서부터 SWT와 JFace를 이용한 GUI 애플리케이션, 자바 기반 웹 애플리케이션, 이클립스 플러그인까지 매우 다양한 애플리케이션을 예제를 통해 쉽게 따라 하며 배울 수 있게 구성됐다. 다양한 주제를 다루기 때문에 자바 개발을 이제 막 시작하는 독자는 책을 통해 자바의 다양한 세계를 경험하고 자바에 대한 흥미를 더욱 불러일으키는 계기가 될 것이다. 또한 IDE를 처음 접한 개발자는 IDE를 통해 개발 생산성을 향상시키는 방법을 찾게 될 것이다.

이렇듯 이 책은 자바 개발을 시작하는 초급 개발자나 이클립스를 사용해 본 적이 없는 자바 개발자를 대상으로 작성됐다. 따라서 각 주제의 기본 개념이나 메커니즘을 설명하기보다 개발 생산성을 높일 수 있는 이클립스 사용법 설명에 집중한다.

애플리케이션 유형별 동작 원리나 깊이 있는 지식을 원하는 독자는 각 유형별 기본원리를 설명한 문서나 책을 참고하길 바란다.

신은정

옮긴이 소개

신은정

아주대학교 정보 및 컴퓨터 공학부를 졸업하고, 2001년 SI업체에 입사해 다양한 SI 프로젝트를 수행했으며, 웹 서비스와 BPM, SOA 등에 대한 연구 개발 프로젝트를 수행했다. 또한 개발 생산성 향상을 위한 이클립스 기반 개발 도구와 스프링 기반 엔터프라이즈 프레임워크를 개발했으며, 클라우드에도 관심이 많아 한국정보화진흥원의 클라우드 관련 연구 과제와 OAuth 지침서 작성에도 참여했다. 이런 경험이 기반이 돼 93회 정보관리기술사에 합격했고, 현재 통신업체에서 중소기업의 참신하고 기술력 있는 소프트웨어를 발굴하고 평가하는 업무와 IT 거버넌스 관련 업무를 수행 중이다. 에이콘출판사에서 펴낸 『(개정판) 이클립스 RCP』(2012년), 『이클립스 4 플러그인 개발』(2013년)을 번역했다.

목차

목차
  • 1장 소개
  • 책을 읽는 방법
  • 이클립스 다운로드와 설치
  • 이클립스 주노의 새롭고 주목할 만한 기능
  • 정리

  • 2장 자바 개발
  • 새 자바 프로젝트 생성
    • 자바 클래스 생성
    • 작업 세트 생성
  • 자바 프로젝트 가져오기
    • 버전 관리 서버로부터 프로젝트 가져오기
  • 자바 뷰 소개
    • 패키지 탐색기 뷰
    • 자바 편집기 뷰
      • 컴파일 오류와 경고 주석
      • 콘텐츠 지원
      • 코드 탐색
      • 빠른 수정
      • 편집기 설정
    • 문제 뷰
      • 문제 뷰 설정
    • 아웃라인 뷰
    • 유형 계층 구조 뷰
    • 호출 계층 구조 뷰
    • 가져오기 구성
    • 저장 액션
    • 포매터로 코드 스타일 적용
  • 코드 생성
    • 게터와 세터 생성
    • 생성자 생성
    • hashCode()와 equals() 메소드 생성
    • toString() 메소드 생성
    • 메소드 주석 생성
    • 코드와 주석 템플릿 편집
  • 리팩토링
    • 변수 이름 변경
    • 메소드 시그니처 변경
  • 프로젝트 빌드와 실행
    • 실행 구성 생성
  • 프로젝트 빌드 경로 관리
  • 정리

  • 3장 JUnit와 디버깅을 이용한 단위 테스트
  • JUnit으로 테스트 시작
    • JUnit 설정
    • JUnit으로 테스트
    • 이클립스가 생성한 테스트 메소드 구현
    • 이클립스 JUnit 러너 뷰 개요
    • 테스트 케이스 생성
  • 문제 발생 시 디버깅
  • 정리

  • 4장 버전 관리 시스템
  • CVS
    • 저장소
    • 프로젝트 체크아웃
    • 동기화
    • 브랜치
  • SVN
  • Git
  • 정리

  • 5장 SWT
  • 시작하기
    • 설정
    • 위젯
    • 디스플레이
  • 컨트롤
    • 레이블 위젯
    • 텍스트 위젯
    • 버튼 위젯
    • 리스트 위젯
    • 콤보 위젯
  • 레이아웃
    • FillLayout
    • RowLayout
    • GridLayout
  • 새롭고 주목할 만한 기능
  • 정리

  • 6장 SWT 고급 기능
  • 이벤트
  • 유형 이벤트와 무형 이벤트
    • 키 이벤트
    • 마우스 이벤트
  • 메뉴
  • 툴바
  • 테이블
  • 대화상자
    • 메시지 대화상자
    • 파일 대화상자
    • 색상 대화상자
    • 폰트 대화상자
    • 인쇄 대화상자
  • 정리

  • 7장 이클립스 WTP를 이용한 웹 개발
  • 자바 웹 애플리케이션 기술의 장점 소개
  • 서블릿의 이해
  • 자바 서버 페이지의 이해
  • 아파치 톰캣 시작
  • 톰캣 설치
  • 이클립스 웹 툴 플랫폼
    • 서버 구성
  • 서블릿의 생명주기
  • 이클립스 WTP를 이용한 첫 번째 자바 서블릿 작성
    • 좀 더 복잡한 예제: 또 다른 계산기
    • 계산기 예제 배포
  • 이클립스 WTP를 이용해 첫 번째 JSP 구현
  • WAR 파일 생성
  • 정리

  • 8장 이클립스 개발
  • 첫 번째 플러그인 생성
  • 플러그인 프로젝트 실행과 디버깅
    • 실행과 디버깅 구성
  • 확장점
    • 확장점 선언
      • 인터페이스 제공
    • 코드에서 확장점 구현 사용
    • 확장점 구현
  • 플랫폼의 메뉴와 툴바에 기여
    • 액션과 커맨드
      • org.eclipse.ui.menus
      • org.eclipse.ui.commands
      • org.eclipse.ui.handlers
      • 기여 제한과 비활성화
      • 플러그인 스파이 특징
    • 새로운 뷰 작성
      • 뷰의 현재 상태 저장
      • 뷰에 컨텍스트 도움말 추가
      • 새 뷰 예제
  • 플러그인 내보내기
  • 정리

  • 9장 이클립스 RCP
  • RCP의의 이해
  • 이클립스 RCP
    • OSGi 프레임워크 구현
      • 모듈 계층
      • 생명주기 계층
      • 서비스 계층
      • 보안 계층
    • SWT
    • JFace
    • 이클립스 워크벤치
  • 이클립스 RCP로 클라이언트 애플리케이션 개발
    • 템플릿을 이용해 새 클라이언트 애플리케이션 프로젝트 생성
      • 생성된 소스코드 자세히 살펴보기
  • RCP 애플리케이션 실행과 디버깅
  • 예제 확장: 연락처 애플리케이션 생성
    • 연락처 목록 뷰
    • 연락처 편집기
    • Save와 New 커맨드와 메뉴 항목
    • 두 개의 뷰 연결
    • 애플리케이션 실행
  • 이클립스 RCP 애플리케이션 패키징과 브랜드 적용
    • 이클립스 RCP 애플리케이션에 브랜드 적용
  • 정리

  • 부록 키보드 단축키
  • 파일 편집기 단축키
    • 코드 편집 단축키
    • 코드 생성과 코드 리팩토링 단축키
    • 코드 탐색 단축키
    • 자바 단축키
  • 파일 단축키
  • 실행과 디버그 단축키
  • 뷰 단축키

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안