이미 소장하고 있다면 판매해 보세요.
|
파트 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 모듈 집합 모듈 모듈에 Facade 패턴 적용하기 안전하게 모듈 분리하기 순환 의존성 피하기 분할 패키지 순환 의존성 제거하기 선택적 의존성 컴파일 시점 의존성 서비스를 이용한 선택적 의존성 구현 모듈 버전 관리 모듈 해석과 버전 리소스 캡슐화 모듈에서 리소스 로딩하기 모듈 사이의 리소스 로드 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. Java 모듈시스템 소개 2. 마이그레이션 3. 모듈형 개발 도구 첫 번째 파트에서는 모듈시스템 사용방법을 설명한다. 모듈형 JDK를 시작으로, 사용자 고유의 모듈을 생성한다. 다음으로는 모듈의 디커플링을 가능하게 하는 서비스에 대해 설명한다. 첫 번째 파트는 모듈화 패턴에 대한 논의와 어떻게 모듈을 사용하여 유지보수성과 확장성을 극대화할 수 있는지에 대하여 설명한다. 두 번째 파트는 마이그레이션에 관한 것이다. 대부분의 경우 모듈시스템용으로 설계되지 않은 Java 라이브러리를 사용하는 기존 Java 코드가 남아있을 것이다. 이 파트에서는 기존 코드를 모듈로 마이그레이션하는 방법과 아직 모듈로 변환되지 않은 기존 라이브러리를 사용하는 방법을 배우게된다. 라이브러리의 작성자 또는 유지관리자인 경우, 라이브러리에모듈을 지원할 수 있도록 수정하는 방법을 설명한다. 세 번째 파트는 도구들에 관한 것이다. 이 파트에서는 IDE 및 빌드 도구의 현재 상황에 대해 알아본다. 또한 모듈을 테스트하는 방법도 배우게 될 것이다. 모듈은 새로운 도전 과제를 제공할 뿐 아니라 (테스트)단위 테스트 기회이기도 하다. 마지막으로 모듈 시스템의 또 다른 흥미로운 기능인 “링크(linking)”에 대해서도 알아 볼 것이다. 이 기능을 사용하면최적화된 사용자정의 런타임 이미지를 만들 수 있으므로 모듈을 사용하여 Java 애플리케이션을 제공하는 방법을 변경할 수 있다. |