자바 9 모듈화(Java 9 Modularity)
없습니다
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
모듈을 즉시 사용하지않더라도 JDK 자체의 모듈화를 이해하는 것이 중요한 첫걸음이다. 책의 첫 번째 파트에서모듈을 이해하고나면, 다음 파트의 마이그레이션에 대한 설명을 접하게 된다.
이 책은 Java에 대한 일반적인 소개를 하지 않는다. 비교적 큰 규모의 Java 애플리케이션을 개발한 경험이 있다고 가정하고 설명을 한다. 대규모의 애플리케이션을 개발하는 경우 모듈화가 점점 중요해지고 있다.
경험 많은 Java 개발자는 클래스패스로 인해 발생하는 문제점을 인식하고 있으며 이는 모듈시스템과 모듈의 기능을 이해하는데 도움이 될 것이다.
이 책은 세 파트로 나누어져 있다.
1. Java 모듈시스템 소개
2. 마이그레이션
3. 모듈형 개발 도구
첫 번째 파트에서는 모듈시스템 사용방법을 설명한다. 모듈형 JDK를 시작으로, 사용자 고유의 모듈을 생성한다. 다음으로는 모듈의 디커플링을 가능하게 하는 서비스에 대해 설명한다. 첫 번째 파트는 모듈화 패턴에 대한 논의와 어떻게 모듈을 사용하여 유지보수성과 확장성을 극대화할 수 있는지에 대하여 설명한다.
두 번째 파트는 마이그레이션에 관한 것이다. 대부분의 경우 모듈시스템용으로 설계되지 않은 Java 라이브러리를 사용하는 기존 Java 코드가 남아있을 것이다. 이 파트에서는 기존 코드를 모듈로 마이그레이션하는 방법과 아직 모듈로 변환되지 않은 기존 라이브러리를 사용하는 방법을 배우게된다.
라이브러리의 작성자 또는 유지관리자인 경우, 라이브러리에모듈을 지원할 수 있도록 수정하는 방법을 설명한다.
세 번째 파트는 도구들에 관한 것이다. 이 파트에서는 IDE 및 빌드 도구의 현재 상황에 대해 알아본다. 또한 모듈을 테스트하는 방법도 배우게 될 것이다. 모듈은 새로운 도전 과제를 제공할 뿐 아니라 (테스트)단위 테스트 기회이기도 하다.
마지막으로 모듈 시스템의 또 다른 흥미로운 기능인 “링크(linking)”에 대해서도 알아 볼 것이다. 이 기능을 사용하면최적화된 사용자정의 런타임 이미지를 만들 수 있으므로 모듈을 사용하여 Java 애플리케이션을 제공하는 방법을 변경할 수 있다.
작가정보
저자(글) 샌더 맥
저자 샌더 맥
네덜란드의 Luminis에서 Fellow로 일하고 있으며, 주로 JVM에서 모듈형 및 확장 가능한 소프트웨어를 개발하지만 필요한 경우 TypeScript를 사용하고 있다.
열정적인 연사이며 블로그 http://branchandbound.net와 Pluralsight 강사로서 지식을 공유하는 것을 좋아한다.
저자(글) 폴 베이커
저자 폴 베이커
Netflix의 선임 소프트웨어 엔지니어로 Edge Developer Experience 팀에서 주로 회사 내에서 개발자 생산성 향상을 위한 도구 작업을 하고 있다. 코드 작성 외에도 지식 공유에 대해 열정을 가지고 있다.
이 책은 Modular Cloud Apps와OSGi (O'Reilly)를 공동 저작한 후 두 번째 저서이다. 모듈성, 컨테이너 기술 및 기타 여러 주제에 관한 회의에서 자주 연설한다.
번역 김성태
역자 김성태
삼성 SDS에 입사하여 삼성전자 SmartTV 개발(C++, JavaScript) 관련 프로젝트 수행과 솔루션 개발(Java)을 하였으며, 현재는 스타트업에서 node.js, react 등을 활용하여 서비스 개발을 하고 있다.
"뿌리가 튼튼한 JSP"(2002년 공동저술), "J2EE Design Patterns Applied"(2003년 공동 번역), "웹 애플리케이션 개발을 위한 자바스크립트와 jQuery 기초가이드"(2016년 공동 저술) 작업을 하였다
번역 임재봉
역자 김성태
삼성 SDS에 입사하여 삼성전자 SmartTV 개발(C++, JavaScript) 관련 프로젝트 수행과 솔루션 개발(Java)을 하였으며, 현재는 스타트업에서 node.js, react 등을 활용하여 서비스 개발을 하고 있다.
"뿌리가 튼튼한 JSP"(2002년 공동저술), "J2EE Design Patterns Applied"(2003년 공동 번역), "웹 애플리케이션 개발을 위한 자바스크립트와 jQuery 기초가이드"(2016년 공동 저술) 작업을 하였다
목차
- Part 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장. 고급 모듈화 패턴
강력한 캡슐화 재검토
딥 리플렉션
오픈 모듈과 패키지
의존성 주입
모듈에 대한 리플렉션
모듈 읽기
모듈 수정하기
어노테이션
컨테이너 애플리케이션 패턴
레이어 및 설정
레이어에서의 클래스 로딩
플러그인 아키텍처
컨테이너 아키텍처
컨테이너에서 플랫폼 모듈 해석
Part 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
Part 3 모듈 개발을 위한 도구
11장. 빌드 도구와 IDE
Apache Maven
다중 모듈 프로젝트
EasyText에 Apache Maven 적용하기
Apache Maven으로 모듈형 애플리케이션실행하기
Gradle
IDE
12장. 모듈 테스트
블랙박스 테스트
Junit을 이용한 블랙박스 테스트
화이트박스 테스트
테스트 도구들
13장. 사용자 정의 런타임 이미지를 이용한 사이즈 줄이기
정적 링크와 동적 링크
jlink 사용하기
적합한 서비스 Provider 모듈 찾기
링크 시점의 모듈 해석
클래스패스 기반의 어플리케이션을 위한 jlink
사이즈 줄이기
성능 향상하기
크로스 타겟팅을 위한 런타임 이미지
14장. 모듈화의 미래
OSGi
Java EE
마이크로서비스
기본정보
ISBN | 9791161340296 | ||
---|---|---|---|
발행(출시)일자 | 2018년 09월 17일 | ||
쪽수 | 312쪽 | ||
크기 |
190 * 241
* 19
mm
/ 767 g
|
||
총권수 | 1권 | ||
원서명/저자명 | Java 9 Modularity/Mak, Sander |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립