본문 바로가기

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

쿼커스 쿡북 상세페이지

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

쿼커스 쿡북

쿠버네티스를 위한 네이티브 자바 솔루션
소장종이책 정가35,000
전자책 정가20%28,000
판매가28,000
쿼커스 쿡북 표지 이미지

쿼커스 쿡북작품 소개

<쿼커스 쿡북> 쿼커스를 쉽고 빠르게 익히는 145가지 레시피



쿼커스는 쿠버네티스에 최적화된 클라우드 네이티브 프레임워크다. 스프링, 하이버네이트, 이클립스 마이크로프로파일, 쿠버네티스, 아파치 캐멜과 이클립스 Vert.x와 같이 익숙한 라이브러리와 기술을 기반으로 네이티브 응용프로그램을 만든다.



이 책에서 제시하는 145가지 레시피는 쿼커스를 시작하는 방법부터 자바 응용프로그램 개발까지 단계별로 보여준다. 실무에서 마주할 수 있는 레시피를 따라가다 보면 자바 에코 시스템에서 쿼커스가 작동하는 방식을 이해하고, 프레임워크를 특성에 맞게 조정하는 방법을 익힐 수 있다.

쿼커스 개발 모드 익히기
카프카와의 상호작용
템플릿, 스케줄링, 오픈API 등 부가 기능 추가하기
쿠버네티스와 통합 및 배포 방법
네이티브 쿼커스 응용프로그램 테스트 방법

'Supersonic Subatomic Java' 쿼커스의 세계에 오신걸 환영합니다.



2018년부터 시작된 쿼커스는 ‘초음속(supersonic)의 원자보다 작은 자바(subatomic JAVA)’를 지향하며 그 이름만큼 빠르게 발전하고 있다. 원문에 있는 예제를 최신 버전(1.11.3)으로 변경하고 서문을 쓰고 있는 시점에 다음 버전이 나온다는 소식을 접할정도이다.



이 책의 매력은 짧게 핵심에 집중한다는 점이다. 쿼커스의 전반적인 주제에 대해 빠르게 기능을 확인할 수 있는 다수의 예제 코드를 제공한다. 단순한 hello 출력부터 그랄VM을 활용하여 네이티브 실행 파일을 빌드한다. 같은 소스 코드로 쿠버네티스에 배포한다. 하나씩 읽고 따라하다 보면 자연스럽게 쿼커스의 강점을 배울 수 있다.


저자 프로필

알렉스 소토 부에노

2021.04.29. 업데이트 작가 프로필 수정 요청

1990년대 초에 처음 구입한 컴퓨터를 통해 소프트웨어에 매료되었다. 이 모든 것은 퀵베이직의 고릴라 게임Qbasic Gorillas과 지렁이 게임Qbasic Nibbles에서 시작되었다. 게임의 소스 코드를 발견한 후에는 완전히 빠져들었으며, 앞으로 무엇을 하고 싶은지 정확히 알 수 있었다! 처음에는 베이직을 배웠으며, 얼마 지나지 않아 『Teach Yourself Java in 21 Days』를 선택했다. 고등학교와 대학교에서는 자바 및 C/C++로 기초를 향상시켰다. ‘닷컴’ 열풍이 터진 시기에 꿈꾸던 레드햇에 입사했다. 대부분 자바 기반의 많은 소프트웨어 프로젝트를 수행했으며 수년 동안 웹 작업을 담당했다. 다른 사람들이 생산적으로 일할 수 있도록 도울 수 있어서 매우 기뻐한다. 전 세계의 다양한 컨퍼런스와 유타의 지역 JUG 무대에서 그를 볼 수 있다.


저자 소개

저자
알렉스 소토 부에노

1990년대 초에 처음 구입한 컴퓨터를 통해 소프트웨어에 매료되었다. 이 모든 것은 퀵베이직의 고릴라 게임Qbasic Gorillas과 지렁이 게임Qbasic Nibbles에서 시작되었다. 게임의 소스 코드를 발견한 후에는 완전히 빠져들었으며, 앞으로 무엇을 하고 싶은지 정확히 알 수 있었다! 처음에는 베이직을 배웠으며, 얼마 지나지 않아 『Teach Yourself Java in 21 Days』를 선택했다. 고등학교와 대학교에서는 자바 및 C/C++로 기초를 향상시켰다. ‘닷컴’ 열풍이 터진 시기에 꿈꾸던 레드햇에 입사했다. 대부분 자바 기반의 많은 소프트웨어 프로젝트를 수행했으며 수년 동안 웹 작업을 담당했다. 다른 사람들이 생산적으로 일할 수 있도록 도울 수 있어서 매우 기뻐한다. 전 세계의 다양한 컨퍼런스와 유타의 지역 JUG 무대에서 그를 볼 수 있다.

저자
제이슨 포터

자바 챔피언이자 레드햇의 개발자 경험 이사. swing.jar 파일이 외부 라이브러리였던 자바 버전 1.2부터 코딩을 시작했으며, 이때부터 자바 세계에 빠져들었다. POKE 명령을 사용해 ZX 스펙트럼으로 프로그래밍했으며 인텔 80286을 탑재한 여러 대의 컴퓨터를 가지고 있다. 현재는 국제적 강연자로, 라몬율 대학교에서 학생들을 가르치고 있다. 그의 목소리는 라디오에서도 들을 수 있다.

역자
유동환

책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에서 안드로이드 앱을 개발했다. 자바카페와 한국자바개발자협의회(JCO)에서 초기 멤버로서 수년간 활동했다. 집필한 책으로는 『처음 배우는 플러터』, 『RxJava 프로그래밍』, 『안드로이드를 위한 Gradle』(공저, 이상 한빛미디어)이 있고, 번역한 책으로는 『자바로 배우는 핵심 자료구조와 알고리즘』, 『Java 9 모듈 프로그래밍』, 『그레이들 레시피』(이상 한빛미디어), 『Professional Java Web Services』(정보문화사, 2002) 와 『자바와 JUnit을 활용한 실용주의 단위 테스트』(길벗, 2019)가 있다.

목차

CHAPTER 1 쿼커스 소개

1.1 개발자 친화적

1.2 쿠버네티스와 통합

1.3 메모리와 첫 응답시간

1.4 쿼커스의 흐름



CHAPTER 2 뼈대 잡기

2.1 메이븐으로 쿼커스 뼈대 잡기

2.2 그레이들로 쿼커스 프로젝트 뼈대 잡기

2.3 쿼커스 코딩 시작 웹페이지에서 쿼커스 프로젝트 뼈대 잡기

2.4 VS Code로 쿼커스 프로젝트 뼈대 잡기

2.5 개발자 모드에서 라이브 리로드

2.6 정적 자원 제공



CHAPTER 3 REST 서비스 개발하기

3.1 단순한 REST API 종단점 생성하기

3.2 요청 인자 추출하기

3.3 HTTP 응답 상태 코드 사용하기

3.4 HTTP 메서드와 바인딩하기

3.5 CORS 활성화하기

3.7 HTTP 요청 가로채기

3.8 SSL로 안전하게 연결하기



CHAPTER 4 설정

4.1 사용자 정의 속성으로 응용프로그램 설정하기

4.2 설정 속성에 프로그램적으로 접근하기

4.3 설정값을 외부에서 덮어쓰기

4.4 프로파일 설정하기

4.5 로거 설정 변경하기

4.6 응용프로그램 로그 추가하기

4.7 고급 로깅

4.8 사용자 정의 프로파일 설정하기

4.9 사용자 정의 소스 생성하기

4.10 사용자 정의 변환기 생성하기

4.11 설정값을 그룹화하기

4.12 설정값 검증하기



CHAPTER 5 프로그래밍 모델

5.1 JSON 마샬링/언마샬링

5.2 XML 마샬링/언마샬링

5.3 입출력값 검증하기

5.4 사용자 정의 유효성 검증하기

5.5 프로그램으로 객체 검증하기

5.6 의존성 주입하기

5.7 팩토리 생성하기

5.8 객체 생명주기 이벤트 실행하기

5.9 응용프로그램 생명주기 이벤트 실행하기

5.10 이름을 가진 한정자 사용하기

5.11 사용자 정의 한정자 사용하기

5.12 애너테이션으로 제한 설정하기

5.13 인터셉터 생성하기

5.14 행동 테스트 작성하기

5.15 단위 테스트 작성하기

5.16 목 객체 생성하기

5.17 모키토를 활용해 목 객체 생성하기

5.18 메타 애너테이션으로 다수의 애너테이션을 그룹화하기

5.19 테스트의 전/후에 코드 실행하기

5.20 네이티브 실행으로 테스트하기



CHAPTER 6 쿼커스 응용프로그램의 패키징

6.1 명령 모드에서 실행하기

6.2 실행형 JAR 파일 생성하기

6.3 우버 JAR 패키징하기

6.4 네이티브 실행 빌드하기

6.5 JAR 파일을 위한 도커 컨테이너 빌드하기

6.6 네이티브 파일을 위한 도커 컨테이너 빌드하기

6.7 네이티브 SSL 응용프로그램을 빌드하고 도커화하기





CHAPTER 7 영속성

7.1 데이터소스 정의하기

7.2 다수의 데이터소스 사용하기

7.3 데이터소스 헬스 체크 추가하기

7.4 트랜잭션의 경계를 선언적으로 정의하기

7.5 트랜잭션 문맥 설정하기

7.6 프로그램으로 트랜잭션 제어

7.7 트랜잭션 제한시간을 설정하거나 변경하기

7.8 persistence.xml 설정하기

7.9 persistence.xml 없이 설정하기

7.10 다른 JAR에 있는 엔티티 사용하기

7.11 파나쉬로 데이터 영속성 다루기

7.12 파나쉬의 listAll 메서드로 모든 엔티티의 인스턴스 찾기

7.13 파나쉬의 findById 메서드로 개별 엔티티 찾기

7.14 파나쉬의 find와 list 메서드로 엔티티 찾기

7.15 파나쉬의 count 메서드를 사용해 엔티티의 개수 얻기

7.16 파나쉬의 page 메서드를 사용해 엔티티 목록을 페이지로 표시하기

7.17 파나쉬의 stream 메서드로 결과를 스트림으로 사용하기

7.18 파나쉬 엔티티 테스트하기

7.19 데이터 접근 객체 혹은 저장소 패턴 사용하기

7.20 아마존 다이나모DB 사용하기

7.21 몽고DB로 작업하기

7.22 몽고DB로 파나쉬 사용하기

7.23 쿼커스와 Neo4j 사용하기

7.24 Flyway로 시작하기

7.25 Flyway를 프로그램으로 사용하기



CHAPTER 8 장애 허용

8.1 자동 재시도 구현하기

8.2 제한시간 구현하기

8.3 격벽 패턴으로 과부하 피하기

8.4 회로 차단기 패턴으로 불필요한 호출 회피하기

8.5 결함 허용 비활성화하기



CHAPTER 9 관찰력

9.1 자동 헬스 체크 사용하기

9.2 사용자 정의 헬스 체크 생성하기

9.3 메트릭 노출하기

9.4 메트릭 생성하기

9.5 분산 추적 사용하기

9.6 사용자 정의 분산 추적



CHAPTER 10 쿠버네티스 통합

10.1 컨테이너 이미지 빌드와 푸시

10.2 쿠버네티스 자원 생성하기

10.3 헬스 체크를 포함해 쿠버네티스 자원을 생성하기

10.4 쿠버네티스에 서비스 배포하기

10.5 오픈시프트에 서비스 배포하기

10.6 컨테이너 이미지를 자동으로 빌드하고 배포하기

10.7 쿠버네티스로부터 응용프로그램 설정하기

10.8 설정 확장으로 쿠버네티스로부터 응용프로그램 설정하기

10.9 쿠버네티스 클러스터와 프로그램으로 상호작용하기

10.10 쿠버네티스 클라이언트 상호작용을 테스트하기

10.11 쿠버네티스 오퍼레이터 구현하기

10.12 Knative로 서버리스 워크로드를 배포하고 관리하기



CHAPTER 11 인증과 권한

11.1 쿼커스 보안 기본

11.2 엘리트론 속성 파일 설정으로 인증과 권한

11.3 엘리트론 보안 JDBC 설정으로 인증과 권한

11.4 마이크로프로파일 JWT로 권한

11.5 OpenID Connect를 활용한 권한과 인증

11.6 OpenID Connect로 웹 자원 보호하기



CHAPTER 12 응용프로그램 시크릿 관리

12.1 쿠버네티스 시크릿을 사용한 데이터 저장

12.2 볼트로 설정 시크릿을 안전하게 보관하기

12.3 서비스로서의 암호화

12.4 시크릿으로 데이터베이스 비밀번호 생성하기

12.5 볼트 쿠버네티스 인증으로 서비스 인증하기



CHAPTER 13 쿼커스 REST 클라이언트

13.1 JAX-RS 웹 클라이언트 사용하기

13.2 마이크로프로파일 REST 클라이언트 사용하기

13.3 CRUD 클라이언트 구현하기

13.4 헤더 조작하기

13.5 REST 클라이언트에서 멀티파트 메시지 사용

13.6 REST 클라이언트에 SSL 설정하기



CHAPTER 14 스프링 API로 쿼커스 응용프로그램 개발하기

14.1 스프링 의존성 주입 사용하기

14.2 스프링 웹 사용하기

14.3 스프링 데이터 JPA 사용하기

14.4 스프링 보안 사용하기

14.5 스프링 부트 속성 사용하기



CHAPTER 15 리액티브 프로그래밍 모델로 개발하기

15.1 비동기 HTTP 종단점 생성하기

15.2 데이터를 비동기 스트림하기

15.3 메시징으로 컴포넌트 디커플링하기

15.4 아파치 카프카 메시지에 반응하기

15.5 아파치 카프카로 메시지 보내기

15.6 카프카 안과 밖으로 POJO를 마샬링하기

15.7 카프카 스트림즈 API 사용하기

15.8 쿼커스로 AMQP 사용하기

15.9 MQTT 사용하기

15.10 리액티브 SQL기반의 쿼리하기

15.11 리액티브 SQL 클라이언트를 사용해 삽입하기

15.12 리액티브 몽고DB 클라이언트 사용하기

15.13 리액티브 Neo4j 클라이언트 사용하기



CHAPTER 16 쿼커스 부가 기능

16.1 큐트 템플릿 엔진으로 템플릿 생성하기

16.2 큐트를 사용해 HTML 출력

16.3 큐트 템플릿의 위치 변경하기

16.4 큐트 데이터 클래스 확장하기

16.5 OpenAPI로 종단점 기술하기

16.6 OpenAPI 명세를 커스터마이징하기

16.7 동기 방식으로 이메일을 보내기

16.8 리액티브하게 이메일 보내기

16.9 스케줄 작업 생성하기

16.10 응용프로그램 데이터 캐싱 사용하기


리뷰

구매자 별점

0.0

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

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

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

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

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

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



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

spinner
모바일 버전