확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
이클립스 RCP

이클립스 RCP

: 자바 GUI 애플리케이션 개발을 위한 컴포넌트 아키텍처 플랫폼

[ 개정판 ] 에이콘 이클립스 프로페셔널 시리즈-007이동
첫번째 리뷰어가 되어주세요
정가
36,000
판매가
32,400 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

관련상품

이클립스 애플리케이션 개발서 세트
[도서] 이클립스 애플리케이션 개발서 세트
제프 맥아퍼 등저/신은정 등역 에이콘출판사
10% 54,000
이클립스 애플리케이션 개발서 세트
이클립스 플러그인 개발서 세트
[도서] 이클립스 플러그인 개발서 세트
제프 맥아퍼,장미셸 르뮤,크리스 아니슈칙,에릭 클레이버그,댄 루벨 공저/양석호,신은정 공역 에이콘출판사
10% 61,200
이클립스 플러그인 개발서 세트

품목정보

품목정보
발행일 2012년 01월 31일
쪽수, 무게, 크기 624쪽 | 1238g | 188*250*35mm
ISBN13 9788960772700
ISBN10 8960772704

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 (4명)

책 속으로 책속으로 보이기/감추기

여러모로 이 책은 이클립스 RCP의 설계 문서라 할 수 있다. 이클립스 3.1 개발팀의 일원으로 개발과 동시에 초판을 작성했기 때문이다. 그래서 어떤 기능은 구현되기 전에 작성되기도 했다. 이번 개정판은 이클립스 3.5를 개발하면서 작성했다.
RCP가 어떻게 동작하는지를 설명하면서 이클립스 RCP를 구성하는 메커니즘과 개념을 사용해 개발할 때 개발자가 어떻게 느낄지 더 생생하게 이해하게 됐다. 항상 즐거운 일이라고 할 수는 없지만, 이클립스 RCP 학습 과정을 개선할 좋은 기회였다.

설명하기 어렵거나 사용이 복잡한 부분을 만날 때마다, 한 걸음 물러서서 이클립스를 좀 더 쉽게 사용하도록 수정할 방법을 많이 고민했다. 실제로 직접 수정한 경우도 많았다(나뿐만 아니라, 이클립스 플랫폼 팀이 모두 참여했다). 10페이지 분량의 복잡하고 상세한 설명을 새로운 마법사나 다른 기능을 사용해 한 단락으로 바꿨을 때의 기쁨은 이루 말로 표현하기 어렵다.

다른 한편으로는 기능을 명쾌하고 간단하게 설명하는 데 도움이 되는 핵심 사항에 대한 통찰력을 얻게 됐다. 이런 과정에서 발견된 오류를 수정하는 일은 집중을 방해하기도 했지만 가치 있는 일이었다. 글을 쓰고 코딩하고 배우면서 동시에 삶을 즐기기도 하는 것처럼 말이다.

우리는 RCP로서의 이클립스에 대해 상당한 지식을 얻게 됐으며, 이 책을 읽는 독자도 그렇게 되리라 믿는다. ---저자 서문 중에서

내가 처음 개발한 데스크탑 애플리케이션은 비주얼 스튜디오(Visual Studio)라는 도구를 사용해서 윈도우에서 동작하는 계산기 프로그램이었다. 당시에는 데스크탑 환경으로 거의 윈도우를 사용했으므로, 비주얼 C/C++나 VB 등을 사용해서 윈도우에서 동작하는 데스크탑 애플리케이션 개발이 주를 이뤘다. 그뿐 아니라 데스크탑 애플리케이션 개발을 지원하는 플랫폼이나 프레임워크 없이 모든 기능을 개발자가 직접 개발해야 했다.

이후, 자바라는 플랫폼 독립적이고 이식성이 뛰어난 프로그래밍 언어가 등장해 인기를 얻으면서 단일 플랫폼이 아닌 크로스 플랫폼을 지원하는 데스크탑 애플리케이션에 대한 관심이 높아졌다. 실제로 자바 진영에서는 AWT, 스윙 등으로 데스크탑 애플리케이션을 개발하고자 지속적인 노력을 기울였다. 하지만 화면 UI나 성능 등 여러 가지 한계에 부딪쳐 사용자가 많이 쓰지는 않았다.

이러던 차에 IBM이 자신들의 멀티 플랫폼을 지원하는 통합개발환경을 오픈소스 프로젝트로 기증하면서 이클립스 RCP 기반으로 자바 데스크탑 애플리케이션 개발이 활발해졌다. 썬마이크로시스템즈도 넷빈즈라는 통합개발환경으로 대응을 하고 있지만, 확장이 용이하도록 잘 구성된 컴포넌트 아키텍처와 글로벌한 개발자들의 참여로 새로운 기능과 기능 개선이 빠른 이클립스가 더 많은 인기를 누리고 있다.

나는 우연히 특정 프레임워크 기반 개발을 지원하기 위한 개발 도구를 이클립스 플러그인으로 개발하면서 RCP를 경험하게 됐다. 주로 이클립스 플러그인, 즉 확장형 제품 개발을 주로 개발했으나, 독립형 애플리케이션 개발과 큰 차이는 없으며 개발하는 내내 탄탄한 컴포넌트 아키텍처에 매우 감탄했다. 그뿐 아니라 이클립스 내부 설계 사상과 적용된 디자인 패턴을 이해하면서 플러그인 개발뿐만 아니라 OO/CBD 기반 개발에 대해서도 많이 학습하는 기회가 됐다. 이 책을 읽는 독자들도 이클립스 RCP 기반으로 데스크탑 애플리케이션을 개발해보면 나와 같은 경험을 할 것이라고 확신한다.

이 책은 이클립스 3.5 갈릴레오(Galileo)를 개발하면서 작성했으나, 현재 최신 버전은 이클립스 3.7.1 인디고(Indigo)다. 새로운 버전의 PDE는 플러그인 간에 라이선스 공유 기능, UI 없이 애플리케이션 실행, 형상 관리 저장소로부터 소스 가져오기, p2 메타데이터 로딩에 소요되는 메모리 최적화 등의 기능이 추가되고 개선됐지만 하위 호환을 지원하므로 책에서 제공하는 예제는 인디고에서도 실행이 가능하다. 단, 인디고에서 작업하더라도 타깃 플랫폼을 갈릴레오로 해야 한다. 특히 설치나 업데이트와 관련된 실습은 RCP의 가장 기반이 되는 이퀴낙스와 p2 컴포넌트 영역의 피처나 패키지가 변경되고, 클래스와 메소드 시그니처가 변경됐기 때문에 인디고 환경에서는 동작하지 않는다.

1판과 마찬가지로 개정판에서도 SWT/JFace에 대한 자세한 설명이 없다. SWT/JFace의 자세한 내용은 Eclipse.org 기술 문서나 에이콘출판사에서 출간한 『SWT/JFace 인 액션』 등의 책과 SWT JFace Eclipse 사이트(http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm)를 참고하길 바란다. 이 책에서는 경험적으로 봤을 때 한글 메뉴보다는 영문 메뉴를 접하는 경우가 많기 때문에 메뉴나 옵션 등은 최대한 영문으로 작성했으며, 의미 이해가 필요한 부분은 영문과 한글을 함께 표현했다.
---옮긴이의 말 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

추천평 추천평 보이기/감추기

이 책 초판에 실린 내 글에서, 이클립스 리치 클라이언트 플랫폼(RCP, Rich Client Platform)은 나사(NASA)의 로봇을 우주로 보내는 거대한 로켓과 아주 유사하다고 묘사했다. 즉 로켓은 강력하고 정교한 기술로 이뤄졌고 아주 중요하긴 하지만, 궁극적으로는 로봇을 목적지로 안전하게 운반하는데 그 목적이 있는 발사체다. 이후 4년 동안 RCP는 움직이고 날고 떠다니는 수많은 우주선과 로봇을 제어하기 위해 개발한 도구의 발사체로서 그 역할을 계속해왔다. RCP는 컴포넌트 기반 개발을 위한 견고한 플랫폼이고 풍부한 사용자 인터페이스(rich user interfaces)를 위한 유연한 프레임워크이며, 작은 단위의 소프트웨어를 지원하는 매우 다양한 기능을 제공한다.

우리 팀이 만든 작은 코드 조각이 나사에서 이룬 일은 매우 자랑스러웠으나, 행성 간 우주 탐사 프로젝트의 성공은 우주선의 궤도를 설계하는 일에서부터 로봇 가장자리를 따라 촘촘하게 케이블을 연결하는 일에 이르기까지 나사 안팎의 수많은 전문가가 모여 달성한 성과다. 물론 오래 전에 처음으로 로켓을 만들 때 화살촉에 화약으로 채워진 튜브를 묶는 일은 소수만이 가능했다. 그러나 화성 탐사로봇을 착륙시키고 움직이게 할 만큼 복잡한 일을 할 수 있었던 건, 특성화와 협업의 엄청난 위업 덕분이다.

특성화와 협업의 놀랄 만한 조합은 다른 곳에서도 일어난다. 창고 같은 간단한 건물은 몇몇 인부들이 함께 모여 만들면 된다. 그러나 마천루는 설계자와 목수, 배관공, 전기기사, 석공 등 수많은 전문가의 노력이 모여 만들어진 결과물이다.

최근의 소프트웨어 애플리케이션은 로켓 달린 화살보다는 우주 탐사로봇, 창고보다는 고층빌딩에 더 가깝다. 복잡한 애플리케이션을 개발하는 데는 특성화와 협력이 필요하다. 이것이 바로 이클립스 RCP가 존재하고 지속적인 성공을 거둔 이유다. 이 책을 통해 소개하는 플랫폼은 전 세계에 알려진 전문가 집단이 협력한 결과다. 이들은 어떤 애플리케이션 개발에도 쓸 수 있는, 무료이면서 확장성이 좋은 프레임워크 구현을 미션으로 몇 년 동안 협력해온 다양한 분야의 전문가들이다. 이 프레임워크를 사용한다는 건, 이클립스 RCP 위에 애플리케이션을 개발하는 엄청난 규모의 개발자 커뮤니티에 합류했음을 의미한다.

우리 팀은 2005년부터 열린 이클립스 개발사와 사용자 모임인 이클립스컨(EclipseCon)에 매년 참석할 때마다 RCP로 개발된 다양한 애플리케이션을 보고 놀라움을 금치 못한다. 원자로 제어에서, 기차 스케줄링, 주식 거래, 데이터 센터 설계, 재고 관리, 테러 중지, 단백질 분석, 어선 모니터링, 파일 공유, 많이 사용되는 프로그래밍 언어 편집기까지 매우 다양한 RCP 애플리케이션을 직접 목격했기 때문이다. 이클립스컨에 몇 번 참석한 후, 나는 다른 우주국에서 RCP를 기반으로 임무 통제 애플리케이션을 개발했다(수도 없이 얘기했으니 아마 상상이 될 것이다). RCP의 다양성보다 더 놀라운 것은 애플리케이션 간의 유사성이다. 예를 들면 APC가 데이터 센터를 설계하는 프로그램에서 서버 랙을 배치할 때 사용한 그래픽 편집 프레임워크는 우리 팀이 우주선 운행 프로그램에서 화성의 이미지를 조작할 때 사용한 프레임워크와 동일하다. 우리 팀은 우주선 명령어 편집기를 만들 때 이클립스 프로그램 도구에서 가장 많이 사용되는 기본 컴포넌트도 사용했다. 이 같은 유사성 덕분에 애플리케이션 간에 리소스를 조합하고 서로를 참조할 수 있으며, 결국 고객을 위해 더 좋은 제품을 제공할 수 있다.

일반적으로 지리적으로 분산된 그룹이 개발한 소프트웨어를 기반으로 애플리케이션을 개발하는 일은 다소 위험해서, 모든 기능을 한 곳에서 직접 개발하는 편이 더 쉽고 안전하다고 생각할 것이다. 하지만 나사의 프로그래머들이 직접 로켓 엔진을 개발하거나, 배관 일밖에 해본 적 없는 고층건물 배관공이 건물의 기초를 다지는 일을 안전하게 해낼 수 있을까? 팀원이 리치 애플리케이션 개발의 모든 영역에 전문가일 수는 없을 뿐만 아니라 그렇게 하면 오히려 일에 집중하지 못하기 때문에 전체 프로젝트를 위험에 빠트리기 쉽다. 예를 들어 다음 해 동안 애플리케이션 개발을 위해 세 명의 개발자로 구성된 팀을 꾸렸다고 해보자. 그리고 필요한 기능 중 하나가 진행 상황 사용자 알림 기능을 유지하고 오래 걸리는 작업을 수행하는 일이라고 가정하자. 물론 아무런 사전지식 없이도 개발할 수 있지만, 이클립스 플랫폼 팀 멤버에게 작업 예상 시간을 물어보니, 탄탄하고 유연한 프레임워크 Jobs API를 개발하려면 거의 3년이 걸린다고 예측했다. 이클립스 RCP는 전문 영역이 아닌 분야에 투자되는 프로젝트 예산을 줄여준다.

로봇과 우주선을 조작하는 도구 개발이 전문인 이도 있을 테고 보건이나 청정 에너지와 관련된 도구 개발이 전문 영역인 사람도 있을 것이다. 하지만 이 책의 저자는 도구 개발을 쉽게 해주고 결국 우리가 각자의 전문 영역에 집중할 수 있게 해주는 분야에서의 전문가다. RCP 기반 위에서 개발하는 커뮤니티에 참여하고자 한다면, 다음 번 이클립스컨에서 자신의 작업을 지원하는 도구들을 사용하는 방법을 익혀보고, RCP 개선에 자신의 능력을 기여하는 방법도 찾아보기 바란다.
제프 노리스 (캘리포니아 공과대학 제트 분사 연구소, 플래닝 소프트웨어 시스템즈 그룹 책임)

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 절판 상태입니다.
뒤로 앞으로 맨위로 공유하기