확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
사이즈비교 공유하기

모던 자바 인 액션

: 람다, 스트림, 함수형, 리액티브 프로그래밍으로 새로워진 자바 마스터하기

리뷰 총점9.5 리뷰 19건 | 판매지수 6,840
베스트
IT 모바일 top100 11주
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2019년 08월 01일
쪽수, 무게, 크기 692쪽 | 926g | 183*235*35mm
ISBN13 9791162242025
ISBN10 1162242027

이 상품의 태그

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

목차 목차 보이기/감추기

옮긴이·지은이 소개
옮긴이의 말
지은이의 말
이 책에 대하여
표지 그림 소개

[ PART I 기초 ]

CHAPTER 1 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가?
1.1 역사의 흐름은 무엇인가?
1.2 왜 아직도 자바는 변화하는가?
1.3 자바 함수
1.4 스트림
1.5 디폴트 메서드와 자바 모듈
1.6 함수형 프로그래밍에서 가져온 다른 유용한 아이디어
1.7 마치며

CHAPTER 2 동작 파라미터화 코드 전달하기
2.1 변화하는 요구사항에 대응하기
2.2 동작 파라미터화
2.3 복잡한 과정 간소화
2.4 실전 예제
2.5 마치며

CHAPTER 3 람다 표현식
3.1 람다란 무엇인가?
3.2 어디에, 어떻게 람다를 사용할까?
3.3 람다 활용 : 실행 어라운드 패턴
3.4 함수형 인터페이스 사용
3.5 형식 검사, 형식 추론, 제약
3.6 메서드 참조
3.7 람다, 메서드 참조 활용하기
3.8 람다 표현식을 조합할 수 있는 유용한 메서드
3.9 비슷한 수학적 개념
3.10 마치며

[ PART II 함수형 데이터 처리 ]

CHAPTER 4 스트림 소개
4.1 스트림이란 무엇인가?
4.2 스트림 시작하기
4.3 스트림과 컬렉션
4.4 스트림 연산
4.5 로드맵
4.6 마치며

CHAPTER 5 스트림 활용
5.1 필터링
5.2 스트림 슬라이싱
5.3 매핑
5.4 검색과 매칭
5.5 리듀싱
5.6 실전 연습
5.7 숫자형 스트림
5.8 스트림 만들기
5.9 마치며

CHAPTER 6 스트림으로 데이터 수집
6.1 컬렉터란 무엇인가?
6.2 리듀싱과 요약
6.3 그룹화
6.4 분할
6.5 Collector 인터페이스
6.6 커스텀 컬렉터를 구현해서 성능 개선하기
6.7 마치며

CHAPTER 7 병렬 데이터 처리와 성능
7.1 병렬 스트림
7.2 포크/조인 프레임워크
7.3 Spliterator 인터페이스
7.4 마치며

[ PART III 스트림과 람다를 이용한 효과적 프로그래밍 ]

CHAPTER 8 컬렉션 API 개선
8.1 컬렉션 팩토리
8.2 리스트와 집합 처리
8.3 맵 처리
8.4 개선된 ConcurrentHashMap
8.5 마치며

CHAPTER 9 리팩터링, 테스팅, 디버깅
9.1 가독성과 유연성을 개선하는 리팩터링
9.2 람다로 객체지향 디자인 패턴 리팩터링하기
9.3 람다 테스팅
9.4 디버깅
9.5 마치며

CHAPTER 10 람다를 이용한 도메인 전용 언어
10.1 도메인 전용 언어
10.2 최신 자바 API의 작은 DSL
10.3 자바로 DSL을 만드는 패턴과 기법
10.4 실생활의 자바 8 DSL
10.5 마치며

[ PART IV 매일 자바와 함께 ]

CHAPTER 11 null 대신 Optional 클래스
11.1 값이 없는 상황을 어떻게 처리할까?
11.2 Optional 클래스 소개
11.3 Optional 적용 패턴
11.4 Optional을 사용한 실용 예제
11.5 마치며

CHAPTER 12 새로운 날짜와 시간 API
12.1 LocalDate, LocalTime, Instant, Duration, Period 클래스
12.2 날짜 조정, 파싱, 포매팅
12.3 다양한 시간대와 캘린더 활용 방법
12.4 마치며

CHAPTER 13 디폴트 메서드
13.1 변화하는 API
13.2 디폴트 메서드란 무엇인가?
13.3 디폴트 메서드 활용 패턴
13.4 해석 규칙
13.5 마치며

CHAPTER 14 자바 모듈 시스템
14.1 압력 : 소프트웨어 유추
14.2 자바 모듈 시스템을 설계한 이유
14.3 자바 모듈 : 큰 그림
14.4 자바 모듈 시스템으로 애플리케이션 개발하기
14.5 여러 모듈 활용하기
14.6 컴파일과 패키징
14.7 자동 모듈
14.8 모듈 정의와 구문들
14.9 더 큰 예제 그리고 더 배울 수 있는 방법
14.10 마치며

[ PART V 개선된 자바 동시성 ]

CHAPTER 15 CompletableFuture와 리액티브 프로그래밍 컨셉의 기초
15.1 동시성을 구현하는 자바 지원의 진화
15.2 동기 API와 비동기 API
15.3 박스와 채널 모델
15.4 CompletableFuture와 콤비네이터를 이용한 동시성
15.5 발행-구독 그리고 리액티브 프로그래밍
15.6 리액티브 시스템 vs 리액티브 프로그래밍
15.7 마치며

CHAPTER 16 CompletableFuture : 안정적 비동기 프로그래밍
16.1 Future의 단순 활용
16.2 비동기 API 구현
16.3 비블록 코드 만들기
16.4 비동기 작업 파이프라인 만들기
16.5 CompletableFuture의 종료에 대응하는 방법
16.6 로드맵
16.7 마치며

CHAPTER 17 리액티브 프로그래밍
17.1 리액티브 매니패스토
17.2 리액티브 스트림과 플로 API
17.3 리액티브 라이브러리 RxJava 사용하기
17.4 마치며

PART VI 함수형 프로그래밍과 자바 진화의 미래

CHAPTER 18 함수형 관점으로 생각하기
18.1 시스템 구현과 유지보수
18.2 함수형 프로그래밍이란 무엇인가?
18.3 재귀와 반복
18.4 마치며

CHAPTER 19 함수형 프로그래밍 기법
19.1 함수는 모든 곳에 존재한다
19.2 영속 자료구조
19.3 스트림과 게으른 평가
19.4 패턴 매칭
19.5 기타 정보
19.6 마치며

CHAPTER 20 OOP와 FP의 조화 : 자바와 스칼라 비교
20.1 스칼라 소개
20.2 함수
20.3 클래스와 트레이트
20.4 마치며

CHAPTER 21 결론 그리고 자바의 미래
21.1 자바 8의 기능 리뷰
21.2 자바 9 모듈 시스템
21.3 자바 10 지역 변수형 추론
21.4 자바의 미래
21.5 더 빠르게 발전하는 자바
21.6 결론

부록
_APPENDIX A 기타 언어 업데이트
_APPENDIX B 기타 라이브러리 업데이트
_APPENDIX C 스트림에 여러 연산 병렬로 실행하기
_APPENDIX D 람다와 JVM 바이트코드

저자 소개 (4명)

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

완전히 새로워진 자바 8, 9, 10의 기능을 속 시원하게 배우자!

이 책은 자바 최신 기능을 애플리케이션에 실용적으로 적용하는 방법을 알려준다. 수정처럼 투명한 예제와 꼼꼼한 정보 제공으로 여러분의 노력에 보답할 것이다. 또한 기존 핵심 자바의 지식뿐 아니라 스트림 API, 자바 모듈 시스템 같은 최신 추가 기능, 동시성의 새로운 접근 방법, 함수형 개념 등 읽기 쉽고 유지보수하기 쉬운 코드를 구현하는 데 어떻게 도움이 되는지 배울 수 있다.

왜 새로운 기능을 사용해야 할까?

예를 들어 새로 추가된 기능 중에서 람다를 이용하면 좀 더 간결한 자바 프로그램을 구현할 수 있다. 대부분의 독자는 이미 이벤트 핸들러, 콜백 등을 이용해 어떤 이벤트가 발생했을 때 호출될 메서드를 포함하는 객체를 등록해본 경험이 있을 것이다. 람다라면 더 다양한 분야에서 이 기능을 사용할 수 있다. 즉 람다와 람다의 친구인 메서드 레퍼런스로 어떤 동작 중 실행될 수 있는 코드나 메서드를 간단하게 인수로 전달할 수 있다. 결국 독자 여러분이 생각했던 것보다 이와 같은 기능이 자주 사용(메서드를 코드로 파라미터화하는 것뿐 아니라 새로운 스트림 API를 이용해 데이터를 수집하는 복잡한 쿼리에 이르기까지)된다는 것을 확인하게 될 것이다.

이 책의 구성

이 책은 크게 ‘기초’, ‘함수형 데이터 처리’, ‘스트림과 람다를 이용한 효과적 프로그래밍’, ‘매일 자바와 함께’, ‘개선된 자바 동시성’, ‘함수형 프로그래밍과 자바 진화의 미래’ 여섯 가지 내용으로 구성되었다. 처음 1부와 2부에서 소개하는 장들은 순서대로 읽어야 앞뒤 문맥을 이해할 수 있으며 나머지 네 개 부는 각각 독립적인 내용으로 구성되어 있으므로 어떤 순서로든 읽을 수 있다. 대부분의 장에는 직접 실습할 수 있도록 다양한 퀴즈를 포함했다.

_1부 : 자바 8을 처음 접하는 독자에게 적합한 내용을 다루는 세 개 장을 제공한다. 1부를 끝낼 즈음엔 람다 표현식이 무엇인지 이해할 수 있고, 람다를 이용해서 변화하는 요구사항에 쉽게 대응할 수 있는 간결하면서도 유연한 코드를 구현할 수 있게 될 것이다.

_2부 : 새로운 스트림 API를 자세히 설명한다. 2부를 끝내면 스트림이 무엇이며, 스트림을 이용해서 데이터 컬렉션을 처리하는 간결하고 효율적인 애플리케이션을 구현하는 방법을 알게 될 것이다.

_3부 : 자바를 더 효과적으로 사용하고 최신 기법으로 코드를 개선하는 데 도움을 주는 다양한 자바 8, 자바 9 관련 내용을 살펴본다. 가능한 최신의 프로그래밍 개념을 설명하는 것이 목표로 이 책의 다른 부분에서는 3부에서 다룬 내용을 활용하지는 않는다.

_4부 : 프로젝트를 구성하는 코드를 더 쉽고 안정적으로 만들 수 있도록 자바 8과 자바 9에 추가된 다양한 새 기능을 살펴본다.

_5부 : 6장과 7장에서 설명한 스트림을 이용한 쉬운 병렬 처리 방법에서 한 걸음 더 나아가 자바로 병렬 프로그래밍을 구조화하는 고급 기법을 살펴본다.

_6부 : 주제를 조금 전환해 스칼라와 자바 8의 기능을 비교하면서 효과적으로 함수형 프로그래밍을 자바로 구현하는 방법을 살펴본다.

_부록 : 부록 A에서는 책에서 살펴보지않은 자바 8 언어의 작은 특징을 요약한다. 부록 B에서는 유용하게 사용할 수 있도록 자바 라이브러리에 추가된 기능을 설명한다. 부록 C에서는 2부의 연장으로 스트림의 고급 사용법을 설명한다. 부록 D에서는 자바 컴파일러가 람다 표현식을 구현한 내막을 설명한다.

이 책의 내용

- 자바 8, 자바 9, 자바 10 의 강력한 새로운 기능을 사용하는 방법
- 멀티코어를 효과적으로 활용하는 애플리케이션을 구현하는 방법
- 리팩토링, 테스팅, 디버깅
- 함수형 프로그래밍 적용
- 퀴즈, 기습 질문, 업데이트 내용을 담은 부록

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

“최신 자바 기능을 완벽하고 훌륭한 예제와 함께 실용적으로 소개했습니다.”
- 올렉산드 만드리크(EPAM 시스템스)

“단순하고 아름답게 자바 8, 자바 9을 실용적으로 설명했어요.”
- 디팍 바스카란(세일즈포스닷컴)

“스트림, 동시성, 리액티브를 다양한 활용 사례와 예제로 설명합니다.”
- 롭 파체코(시놉시스)

회원리뷰 (19건) 리뷰 총점9.5

혜택 및 유의사항?
구매 Modern Java in Action 리뷰 내용 평점5점   편집/디자인 평점5점 s*********7 | 2021.04.02 | 추천0 | 댓글0 리뷰제목
 전공 공부에 필요하기도 하고 개인적으로 Java 공부가 더 필요하다 생각해서 Java의 최신 버전을 다루는 책을 찾고 있었는데 이 책이 최신 Java를 다루고 설명도 자세한 것 같아서 마침 내가 원하던 것이라 구매했다. 책의 총 페이지는 692페이지로 프로그래밍 언어를 다루는 다른 책들처럼 무겁고 두께가 상당했다. 책의 구성은 Part 1부터 6까지 있고 각 Part안에;
리뷰제목

 전공 공부에 필요하기도 하고 개인적으로 Java 공부가 더 필요하다 생각해서 Java의 최신 버전을 다루는 책을 찾고 있었는데 이 책이 최신 Java를 다루고 설명도 자세한 것 같아서 마침 내가 원하던 것이라 구매했다. 책의 총 페이지는 692페이지로 프로그래밍 언어를 다루는 다른 책들처럼 무겁고 두께가 상당했다. 책의 구성은 Part 1부터 6까지 있고 각 Part안에 Chapter가 있어서 총 21개의 Chapter를 다룬다. 마지막에는 짧게 참고할 만한 부록이 있다.

 

 먼저 Part 1은 기초 부분으로서 최근 프로그래밍 언어들의 변화 추세와 이에 대한 대응으로 최신 Java(Java 8, 9, 10, 11)에 나타난 변화를 요약해 소개하고 최신 Java의 대표적인 변화들 중 하나인 Lambda에 대해 소개하고 자세히 설명한다. 다음 Part 2는 함수형 데이터 처리로서 Stream을 다룬다Stream의 소개부터 활용법, Stream을 이용한 데이터 수집 및 병렬 데이터 처리를 설명한다. Part 3은 앞에서 소개한 Stream과 Lambda를 이용해 효과적인 프로그래밍을 소개한다. 먼저 Java의 Collection API가 개선된 부분을 소개하고 기존 코드들을 Lambda와 Stream을 이용한 refactoring을 설명한다. 그리고 Lambda를 이용한 도메인 전용 언어를 다룬다.

 

 다음 Part 4에서는 Java 8, 9에 추가된 새 기능들을 다룬다. 먼저 Optional Class를 다루고 새로 추가된 날짜와 시간에 관련된 API를 소개한다. 그리고 default method와 Java 9에 추가된 Module 시스템에 대해 설명한다. Part 5는 Java의 개선된 동시성에 관한 부분으로 개선된 병렬 프로그래밍으로 만드는 것을 다룬다. 그래서 리액티브 프로그래밍과 Java 9의 Flow API를 설명한다. 마지막 Part 6은 함수형 프로그래밍에 대한 소개와 Java로 이를 구현하는 방법을 소개한다. 끝에는 부록으로 Java의 기타 업데이트에 관한 내용을 설명한다.

 

 일단은 한번 간단하게 쭉 읽어봤는데 내용도 많고 최신 Java에 대해 깊게 다루다보니 확실히 난이도가 높아서 금방 따라가기에 벅차긴 하다. Java를 전공 수업 때 한번 배워보고 최신 버전과 관련된 내용을 깊게 공부해보려고 이 책을 산건데 단순 Java의 기본 문법이나 API를 잘 다루는 것 외에도 디자인 패턴이나 프로그래밍 설계와 관련된 이론의 배경 지식을 깊게 알고 있어야 이 책을 공부하는데 도움이 될 것 같다. 물론 이 책에서 이해를 돕기 위해 자세한 설명과 그림이 같이 있고 예시 코드들도 많아서 하나씩 차근차근 따라간다면 괜찮을 것 같다. 난이도는 매우 높지만 어차피 공부하려고 구매한 책이니 여러 번 읽으면서 계속 공부를 하면 언젠가는 다 이해하고 익숙해질 것 같다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
구매 자바 인 액션 내용 평점5점   편집/디자인 평점5점 YES마니아 : 플래티넘 z***a | 2021.02.11 | 추천0 | 댓글0 리뷰제목
 C# 을 주로 이용을 해오다가 자바를 메인언어로써 사용을 하는 회사에서 일하게 된 지도 어느덧 거의 1년을 바라보고 있는 시점이다.   자바에 대한 전반적인 새로운 기능들을 빠르고 깊이 있는 부분들을 쉽게 이해할 수 있게 해주는 책이 무엇이 있을까 고민하다 이 책을 선택하였다.   이 책은 자바의 8부터의 주요 변경 사항들을 중심으로 설명을 한다. 마음에;
리뷰제목

 C# 을 주로 이용을 해오다가 자바를 메인언어로써 사용을 하는 회사에서 일하게 된 지도

어느덧 거의 1년을 바라보고 있는 시점이다.

 

자바에 대한 전반적인 새로운 기능들을 빠르고 깊이 있는 부분들을 쉽게 이해할 수 있게 해주는

책이 무엇이 있을까 고민하다 이 책을 선택하였다.

 

이 책은 자바의 8부터의 주요 변경 사항들을 중심으로 설명을 한다.

마음에 들었던 점은

저자의 깊이있는 설명과 핵심을 관통하는 그림

번역을 한 분의 자연스러운 문장과 해석

이렇게 꼽을 수 있겠는데 이러한 점과 자바에 대한 호기심 그리고 현업에서 사용해야만 하는 의무도 있어서

재미있게 이 책을 읽을 수 있었다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
자바의 패러다임의 변화 내용 평점5점   편집/디자인 평점5점 l*********e | 2020.10.25 | 추천0 | 댓글0 리뷰제목
2020년 10월 말 현재 1년전 읽고 다시 이책을 다시 손에 들었다.자바 11 인 액션은 아직도 나오지 않았다...자바 8이 나왔지만 실무에선 쓸일이 여전히 없다. 오히려 코틀린이 대세로 떠오르며 쓸일이 없던 함수형 언어와 람다에 대하여 반대로 자바 관점에서 다시 공부하기 위해 손에 들었다.'아..그때 그 내용이 이것이었군' 이라는 생각과 함께 새삼 내용이 참 알차고 좋은 책임을 느;
리뷰제목

2020년 10월 말 현재 1년전 읽고 다시 이책을 다시 손에 들었다.


자바 11 인 액션은 아직도 나오지 않았다...

자바 8이 나왔지만 실무에선 쓸일이 여전히 없다. 오히려 코틀린이 대세로 떠오르며

쓸일이 없던 함수형 언어와 람다에 대하여 반대로 자바 관점에서 다시 공부하기 위해 손에 들었다.

'아..그때 그 내용이 이것이었군' 이라는 생각과 함께 새삼 내용이 참 알차고 좋은 책임을 느낀다.

착한(?) 설명, 이해하기 좋은 예제, 연습하기 좋은 연습문제 등.

람다와 이후 필요한 내용들을 보기 위해서라면, 3장 부터 다시 읽기 시작하면 된다. (나온지가 언젠데..)

필요한 부분들만 일단 찍어서 훑어 보고 인덱싱을 완료 했다.

이제 다시 읽으며 실습과 습득 공부를 시작해야 한다.

1년 지났다고 내용이 새롭다니..... 쓸일 없으면 잊어 버린다는 건 진실이다. (눈물 쓱..)

지금 시점이라면 함수형 언어가 이렇게나 뜬 상황이라면, 초보들은 반드시 이책으로 공부를 시작하라고 하고 싶다.

조금 어렵고 힘들다고 하여도.. 결국 다른 언어를 이해하는데, 그리고 현재 저 키워드를 이해하는데 많은 도움이 될 것이라고 생각한다.

읽으세요. 두번 읽고 세번 읽고 쭉쭉.. 틈틈히 읽어줍시다. 내것이 될 때 까지.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0

한줄평 (9건) 한줄평 총점 8.0

혜택 및 유의사항 ?
구매 평점4점
잘 읽고 있어요
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 플래티넘 남*미 | 2022.12.10
구매 평점1점
번역 진짜.. 뒤로 갈수록 번역이 귀찮아졌는지 그냥 남발함;; 일하기 싫은거 티내지마셈
2명이 이 한줄평을 추천합니다. 공감 2
YES마니아 : 골드 정*종 | 2022.10.23
구매 평점5점
번역이 엉성하긴하지만 제공되는 코드들은 정말좋다. 추천
이 한줄평이 도움이 되었나요? 공감 0
d*******1 | 2022.06.25
  •  쿠폰은 결제 시 적용해 주세요.
1   30,600
뒤로 앞으로 맨위로 aniAlarm