장바구니 담기 close

장바구니에 상품을 담았습니다.

자바 9 모듈화

자바 9 모듈화

  • 샌더맥
  • |
  • 터닝포인트
  • |
  • 2018-09-17 출간
  • |
  • 312페이지
  • |
  • 190 X 241 X 19 mm /767g
  • |
  • ISBN 9791161340296
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

Java 9에서 모듈형 애플리케이션을 만드는데 필요한 패턴과 사례 


이 책은 애플리케이션의 설계와 구조를 개선하려는 Java 개발자를 위한 책이다. Java 모듈시스템은 Java 애플리케이션을 설계하고 빌드하는 방법을 개선한다. 모듈을 즉시 사용하지않더라도 JDK 자체의 모듈화를 이해하는 것이 중요한 첫걸음이다. 책의 첫 번째 파트에서모듈을 이해하고나면, 다음 파트의 마이그레이션에 대한 설명을 접하게 된다.
이 책은 Java에 대한 일반적인 소개를 하지 않는다. 비교적 큰 규모의 Java 애플리케이션을 개발한 경험이 있다고 가정하고 설명을 한다. 대규모의 애플리케이션을 개발하는 경우 모듈화가 점점 중요해지고 있다. 경험 많은 Java 개발자는 클래스패스로 인해 발생하는 문제점을 인식하고 있으며 이는 모듈시스템과 모듈의 기능을 이해하는데 도움이 될 것이다.

이 책은 세 파트로 나누어져 있다.
1. Java 모듈시스템 소개
2. 마이그레이션
3. 모듈형 개발 도구

첫 번째 파트에서는 모듈시스템 사용방법을 설명한다. 모듈형 JDK를 시작으로, 사용자 고유의 모듈을 생성한다. 다음으로는 모듈의 디커플링을 가능하게 하는 서비스에 대해 설명한다. 첫 번째 파트는 모듈화 패턴에 대한 논의와 어떻게 모듈을 사용하여 유지보수성과 확장성을 극대화할 수 있는지에 대하여 설명한다.

두 번째 파트는 마이그레이션에 관한 것이다. 대부분의 경우 모듈시스템용으로 설계되지 않은 Java 라이브러리를 사용하는 기존 Java 코드가 남아있을 것이다. 이 파트에서는 기존 코드를 모듈로 마이그레이션하는 방법과 아직 모듈로 변환되지 않은 기존 라이브러리를 사용하는 방법을 배우게된다. 라이브러리의 작성자 또는 유지관리자인 경우, 라이브러리에모듈을 지원할 수 있도록 수정하는 방법을 설명한다.

세 번째 파트는 도구들에 관한 것이다. 이 파트에서는 IDE 및 빌드 도구의 현재 상황에 대해 알아본다. 또한 모듈을 테스트하는 방법도 배우게 될 것이다. 모듈은 새로운 도전 과제를 제공할 뿐 아니라 (테스트)단위 테스트 기회이기도 하다. 마지막으로 모듈 시스템의 또 다른 흥미로운 기능인 “링크(linking)”에 대해서도 알아 볼 것이다. 이 기능을 사용하면최적화된 사용자정의 런타임 이미지를 만들 수 있으므로 모듈을 사용하여 Java 애플리케이션을 제공하는 방법을 변경할 수 있다.

 

목차


[차례]
파트 1. Java 모듈 시스템 소개
1장. 모듈화 관련 이슈들
모듈화는 무엇인가?
Java 9 이전 버전 살펴보기
JAR가 모듈로 사용될 수 있을까?
클래스패스 지옥
Java 9 모듈

2장. 모듈과 모듈형 JDK
모듈형 JDK
모듈 디스크립터(Module Descriptor)
가독성(Readability)
접근성
묵시적 가독성
제한적인 익스포트(qualified exports)
모듈 해석(resolution)과 모듈패스
모듈화 되지 않은 코드에서 모듈형 JDK 사용하기

3장. 모듈 개발하기
첫 번째 모듈 만들기
모듈 구조
모듈 이름 정하기
컴파일하기
패키징하기
모듈 실행하기
모듈패스
모듈 연결하기
혼자 동작하는 모듈은 없다
EasyText 예제 알아보기
두 개의 모듈
플랫폼 모듈을 사용하여 동작하기
적합한 플랫폼 모듈 찾기
GUI 모듈 만들기
캡슐화의 한계
인터페이스와 인스턴스화

4장. 서비스
팩토리 패턴
구현을 숨기기 위한 서비스
서비스 제공하기
서비스 사용하기
서비스 라이프 사이클
서비스 Provider 메소드
팩토리 패턴 재검토
디폴트 서비스 구현
서비스 구현 선택
서비스 타입 검사 및 게으른 인스턴스화
서비스 바인딩을 사용한 모듈 해석
서비스 및 연결하기

5장. 모듈화 패턴
모듈 바운더리 정하기
린(lean) 모듈
API 모듈
API 모듈은 어떻게 구성해야 할까?
묵시적 가독성
디폴트 구현이 있는 API 모듈
집합 모듈
모듈에 Fa?ade 패턴 적용하기
안전하게 모듈 분리하기
순환 의존성 피하기
분할 패키지
순환 의존성 제거하기
선택적 의존성
컴파일 시점 의존성
서비스를 이용한 선택적 의존성 구현
모듈 버전 관리
모듈 해석과 버전
리소스 캡슐화
모듈에서 리소스 로딩하기
모듈 사이의 리소스 로드
ResourceBundles 클래스 사용하기

6장. 고급 모듈화 패턴
강력한 캡슐화 재검토
딥 리플렉션
오픈 모듈과 패키지
의존성 주입
모듈에 대한 리플렉션
모듈 읽기
모듈 수정하기
어노테이션
컨테이너 애플리케이션 패턴
레이어 및 설정
레이어에서의 클래스 로딩
플러그인 아키텍처
컨테이너 아키텍처
컨테이너에서 플랫폼 모듈 해석

파트 2. 마이그레이션
7장. 모듈로 변환하지 않고 마이그레이션하기
클래스 패스는 없어졌지만, 여전히 사용된다
라이브러리, 강력한 캡슐화 그리고 JDK 9 클래스패스
컴파일 및 캡슐화된 API
삭제된 타입
JAXB 및 기타 Java EE API 사용
jdk.unsupported 모듈
기타 변경 사항

8장. 모듈로 마이그레이션
마이그레이션 전략
간단한 예제 살펴보기
클래스패스와 모듈패스 같이 사용하기
자동 모듈
오픈 패키지
오픈 모듈
캡슐화 해제를 위한 VM인수
자동 모듈과 클래스패스
Jdeps 사용하기
동적 코드 로딩
분할 패키지

9장. 마이그레이션 케이스 스터디: Spring과 Hibernate
애플리케이션에 익숙해지기
Java 9에서 클래스패스 기반으로 실행하기
모듈 설정하기
자동 모듈 사용하기
Java 플랫폼 의존성 및 자동 모듈
리플렉션을 위해 패키지 오픈하기
불법적인 접근 수정하기
다중 모듈에 대한 리팩터링
10장. 라이브러리 마이그레이션
모듈화 이전 단계
라이브러리 모듈 이름 선택하기
모듈 디스크립터 만들기
모듈 디스크립터로 라이브러리 업데이트하기
Java 구버전 타겟팅하기
라이브러리 모듈 의존성
내부 의존성
외부 의존성
다양한 Java 버전 타겟팅하기
다중 릴리즈 JAR
모듈형 다중 릴리즈 JAR

파트 3 모듈 개발을 위한 도구
11장. 빌드 도구와 IDE
Apache Maven
다중 모듈 프로젝트
EasyText에 Apache Maven 적용하기
Apache Maven으로 모듈형 애플리케이션실행하기
Gradle
IDE

12장. 모듈 테스트
블랙박스 테스트
Junit을 이용한 블랙박스 테스트
화이트박스 테스트
테스트 도구들

13장. 사용자 정의 런타임 이미지를 이용한 사이즈 줄이기
정적 링크와 동적 링크
jlink 사용하기
적합한 서비스 Provider 모듈 찾기
링크 시점의 모듈 해석
클래스패스 기반의 어플리케이션을 위한 jlink
사이즈 줄이기
성능 향상하기
크로스 타겟팅을 위한 런타임 이미지
14장. 모듈화의 미래
OSGi
Java EE
마이크로서비스

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.