본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

Java 9 모듈 프로그래밍 상세페이지

컴퓨터/IT 개발/프로그래밍

Java 9 모듈 프로그래밍

자바 모듈 프로그래밍으로 재사용 가능하고 관리하기 쉬운 코드 작성하기
소장종이책 정가21,000
전자책 정가20%16,800
판매가16,800
Java 9 모듈 프로그래밍 표지 이미지

Java 9 모듈 프로그래밍작품 소개

<Java 9 모듈 프로그래밍> 유지 보수 가능한 응용 프로그램 개발을 위한 자바 모듈 프로그래밍
자바 9에서 모듈화의 도입은 엄청난 사건입니다. 자바 9에 포함된 다른 선택적인 요소와 달리 자바 플랫폼 모듈 시스템은 자바 코드의 설계와 구현에서 근본적인 변화를 의미합니다.
이 책은 단계별 접근법으로 새로운 모듈을 생성해보고 레거시 코드에서 자바 9 모듈 시스템으로 옮겨가는 방법을 다룹니다. 완전히 모듈화된 예제 코드로 새로운 기능들을 직접 실습해볼 수 있습니다. 모듈 정의를 생성하고 모듈 간 의존성을 설정하고 모듈화된 JDK에서 제공하는 내장 모듈들을 활용해볼 수 있습니다. 또한, 모듈 해석에 대해 배우고 jlink 명령으로 사용자 정의 런타임 이미지를 생성합니다.
한 단계 더 나아가 새로운 모듈 응용 프로그램을 작성하는 모범 사례를 배웁니다. 또한, 기존 자바 코드베이스를 자바 9로 업그레이드하고 라이브러리 코드 작성 시 발생할 수 있는 문제들과 자바 9 응용 프로그램을 테스트하는 방법을 알아봅니다.

모듈과 모듈 프로그래밍 개념 소개
- 자바 9 모듈 빌드 및 구성
- 모듈 사용과 모듈 간 종속성 설정
- 캡슐화와 가독성, 접근성 원칙 이해 및 사용
- jlink로 완전히 로드된 사용자 정의 런타임 이미지 생성
- 모듈을 작성하는 데 유용한 모범 사례
- 새로운 자바 9 모듈 시스템으로의 마이그레이션


출판사 서평

이 책은 자바로 모듈 프로그래밍을 할 수 있도록 자세한 지침과 따라 해볼 수 있는 실습 예제를 제공합니다. 이 책에 있는 코드를 읽고 따라 해보면 자바 9 모듈화의 개념과 기능, 플랫폼에 미치는 영향을 이해하게 되고, 모듈 응용 프로그램을 만드는 데 새로운 패러다임을 직접 활용할 수 있습니다.
이 책의 주요 목표는 자바 모듈화에 대한 개념과 중요 내용을 깊게 이해하는 것입니다. 장 순서는 중간에 모르는 내용이 없도록 세심하게 고려하였습니다. 그래서 가능하면 처음부터 정독하기를 추천하지만, 이미 특정 주제를 알고 있다면 건너뛰어도 무방합니다.

장별 다루는 내용
<1장 자바 9 모듈화 소개>
자바 코드의 구조와 관리 상태를 다룹니다. 자바 프로그래밍을 하는 사람은 누구나 익숙한 JDK를 예로 들어 시간이 흐르면서 커져만 가는 코드베이스를 관리하고 조직하면서 겪는 도전 과제와 위험성을 개괄적으로 서술합니다. 그리고 프로젝트 Jigsaw(직소)를 소개하고 앞서 설명한 도전 과제를 모듈화 개념으로 어떻게 해결하는지 설명합니다.

<2장 첫 번째 자바 모듈 만들기>
모듈 구조를 사용하지 않는 샘플 코드로 한 단계씩 첫 번째 자바 9 모듈을 만들어갑니다. module 키워드와 module-info.java 클래스, 자바 모듈을 어떻게 정의하는지 알아봅니다. 그다음 모듈을 컴파일하고 실행해봅니다. .class 파일의 구조와 런타임이 어떻게 모듈 구조를 추론하여 동일한 모듈 정의를 사용하는지 알아봅니다.

<3장 모듈 간 의존성 다루기>
이 장에서는 두 번째 모듈을 만들고 모듈끼리 서로 참조하도록 합니다. 자바 9를 활용하여 이러한 관계를 정의하며 멀티 모듈 응용 프로그램을 컴파일하고 실행하는 방법을 배웁니다.

<4장 모듈화 JDK 소개>
플랫폼의 모듈화라는 JDK에 가해진 중요한 변화를 배웁니다. JDK를 설치할 때 기본으로 들어 있는 모듈을 알아봅니다. 이러한 모듈에 관해 더 많은 정보를 찾고 얻을 수 있는 도구와 기법에 대해서도 알아봅니다.

<5장 플랫폼 API 사용하기>
실습 형태의 단계별 학습으로 예제 응용 프로그램에서 플랫폼 모듈을 사용하는 방법을 배웁니다. 이러한 플랫폼 모듈을 참조할 때 겪을 수 있는 몇 가지 도전 과제와 그 해결 방안을 이해할 수 있습니다.

<6장 가독성과 접근성>
모듈 간 의존성을 상세하게 알아보고 모듈과 라이브러리의 캡슐화 수준을 통제하는 방법을 소개합니다. 자바 요소의 캡슐화와 가용성에 영향을 주는 새로운 조건인 접근성과 가독성을 살펴봅니다.

<7장 서비스 소개>
예제 응용 프로그램에서 두 모듈 사이의 강한 결합도를 알아보고 이것이 어떻게 확장성을 저해하고 새로운 모듈을 끼워 넣는 데 어려움을 주는지 이야기합니다. 또한, 새롭게 추가된 자바 9 서비스를 소개하고 구현 클래스를 캡슐화하기 위한 단계별 지침을 제공하며 ServiceLoader API를 호출하여 이들을 어떻게 찾는지 알아봅니다.

<8장 링킹 이해하기와 jlink 활용하기>
자바 9로 개발하는 과정에서 정적 링킹 단계를 소개하고 이것이 어떻게 동작하는지 알아봅니다. 자바 9로 모듈을 만들 때 링킹이 하는 중요한 역할을 설명합니다. 그리고 예제 프로젝트용 런타임 이미지를 만들고 최적화하고 실행하기 위한 단계별 지침을 제공합니다.

<9장 모듈 설계 패턴과 전략>
자바로 모듈 응용 프로그램을 만들 때 활용할 수 있는 몇 가지 모범 사례를 다룹니다. 자바 모듈 시스템의 기능과 동작 방식에 익숙해졌으므로 다음 질문은 언제, 어떻게 활용하는가입니다. 모듈의 범위와 경계를 정립하고 좋은 모듈 인터페이스를 정의하며 모듈 응용 프로그램을 만들 때 맞닥뜨리는 일반적인 몇 가지 도전 과제의 해결 방안을 소개합니다.

<10장 자바 9를 위한 코드 준비하기>
오래된 예제 코드베이스를 자바 9로 마이그레이션하는 방법을 알아봅니다. 자바 모듈의 선택적 특성과 클래스패스 기반 코드가 어떻게 자동으로 이름 모듈로 할당되는지 알아봅니다. 그리고 자바 9에서 단계적으로 레거시 코드를 컴파일하고 실행해봅니다. 또한, 캡슐화된 타입을 사용할 때 발생하는 문제를 처리하거나 이를 피하는 방법을 알아봅니다.

<11장 자바 9로 마이그레이션하기>
자바 9에서 제공하는 새로운 모듈 시스템으로 레거시 코드를 마이그레이션하는 방법을 알아봅니다. 코드에 대한 마이그레이션 전략을 세우는 방법을 배우고 자바 9와 호환되지 않는 의존 관계를 어떻게 다루어야 할지 배웁니다. 자동화 모듈이나 명령줄 덮어쓰기 같이 마이그레이션을 보조하기 위해 설계된 자바 9의 기능도 알아봅니다.

<12장 빌드 도구 활용과 자바 모듈 테스트>
빌드 도구 통합과 유닛 테스트라는 자바 프로그래밍의 중요한 영역을 다룹니다. 메이븐으로 프로젝트를 구조화하고 자바 9 모듈 응용 프로그램에 메이븐의 멀티 모듈 프로젝트 개념을 어떻게 맞추는지 알아봅니다. 마지막으로 JUnit을 활용한 자바 모듈 테스트 방법을 알아봅니다.



저자 소개

저자_ 코시크 코타갈
Java Brains의 설립자. Java Brains는 온라인 교육 사이트를 운영하며 기업용 자바와 자바스크립트 기술에 관한 다양한 과정을 무료로 제공합니다. Financial Engines에서 선임 엔지니어로 근무하였으며 풀스택 웹 개발자로 14년간 일하였습니다. 주 관심사는 자바, 스프링, 자바 EE, 자바스크립트와 앵귤러입니다. 가르치기를 좋아하여 자바와 자바스크립트로 코딩하지 않을 때는 아마도 누군가를 가르치고 있을 겁니다. 현재 베이 에어리어에 거주합니다.

역자_ 유동환
책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에서 안드로이드 앱을 개발하였습니다. 최근에는 선행플랫폼개발팀으로 자리를 옮겨 차세대 모바일 기술 프로젝트를 진행하고 있습니다. 자바카페와 한국자바개발자협의회(JCO)에서 초기 멤버로서 수년간 활동하였습니다.
집필한 책으로는 『안드로이드를 위한 Gradle』과 『RxJava 프로그래밍』(공저, 이상 한빛미디어)이 있고, 번역한 책으로는 『Professional Java Web Services』(정보문화사)와 『그레이들 레시피』(한빛미디어)가 있습니다.

[운영 중인 블로그와 페북 그룹]
- 유동의 브런치
- 책 쓰는 프로그래머 협회
- 리액티브 프로그래밍 입문

목차

CHAPTER 1 자바 9 모듈화 소개
_1.1 자바 언어의 모듈화
_1.2 패키지로 자바 개발을 다시 생각하기
_1.3 자바, 스무 해가 넘은 코드베이스
_1.4 자바 플랫폼 모듈 시스템
_1.5 프로젝트 Jigsaw
_1.6 요약

CHAPTER 2 첫 번째 자바 모듈 만들기
_2.1 JDK 설정하기
_2.2 JDK 버전 전환하기
_2.3 넷빈즈 IDE 설정하기
_2.4 자바 9 모듈
_2.5 넷빈즈 활용 모듈 만들기
_2.6 주소록 관리 프로그램
_2.7 오류 다루기
_2.8 요약

CHAPTER 3 모듈 간 의존성 다루기
_3.1 두 번째 모듈 만들기
_3.2 두 모듈 컴파일하기
_3.3 모듈 의존성 설정하기
_3.4 모듈 버전 관리
_3.5 패키지 구조 다시 생각하기
_3.6 모듈 경로 인자 이해하기
_3.7 클래스패스 다시 보기
_3.8 클래스패스 문제점 다시 보기
_3.9 요약

CHAPTER 4 모듈화 JDK 소개
_4.1 레거시 JDK 확인
_4.2 프로젝트 Jigsaw로 들어가기
_4.3 플랫폼 모듈화
_4.4 관찰대상 모듈
_4.5 두 가지 문제점 다시 보기
_4.6 요약

CHAPTER 5 플랫폼 API 사용하기
_5.1 로깅 기능 추가
_5.2 XML 파일에서 주소록 정보 읽기
_5.3 자바 FX로 UI 추가하기
_5.4 요약

CHAPTER 6 가독성과 접근성
_6.1 가독성
_6.2 접근성
_6.3 모듈화 비틀기
_6.4 주소록 관리 프로그램에 개념 적용하기
_6.5 요약

CHAPTER 7 서비스 소개
_7.1 결합의 문제
_7.2 서비스 이해하기
_7. 고급 서비스
_7.4 서비스와 모듈 시스템의 목적
_7.5 요약

CHAPTER 8 링킹 이해하기와 jlink 활용하기
_8.1 모듈 해석
_8.2 JDK 상태 다시 보기
_8.3 jlink를 활용한 링킹
_8.4 모듈 JAR 파일 만들기
_8.5 요약

CHAPTER 9 모듈 설계 패턴과 전략
_9.1 모듈 설계하기
_9.2 관심사에 따른 모듈화
_9.3 계층 구조로 모듈화
_9.4 변화 패턴으로 모듈화
_9.5 API 설계하기
_9.6 자바 모듈의 코딩 패턴과 전략
_9.7 요약

CHAPTER 10 자바 9를 위한 코드 준비하기
_10.1 자바 9 마이그레이션 시작
_10.2 자바 8 기반의 응용 프로그램 예제
_10.3 자바 9 컴파일러와 런타임 사용하기
_10.4 영향력 이해하기
_10.5 추천 전략
_10.6 요약

CHAPTER 11 자바 9로 마이그레이션하기
_11.1 마이그레이션 목표 이해하기
_11.2 마이그레이션 시작하기
_11.3 좀 더 큰 코드베이스 다루기
_11.4 라이브러리 마이그레이션하기
_11.5 여러 자바 버전에 대응하는 라이브러리 빌드하기
_11.6 요약

CHAPTER 12 빌드 도구 활용과 자바 모듈 테스트
_12.1 아파치 메이븐과 통합하기
_12.2 자바 9로 유닛 테스트하기
_12.3 요약
_12.4 마무리


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전