로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

『스프링 5.0 마스터 : 스프링 부트, 스프링 클라우드, 마이크로서비스, 리액티브, 코틀린까지』

   
지은이 랑가 라오 카라남   |   출판사 에이콘  |   발행일 2018년 08월 20일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 36,000원32,400원 10%
마일리지 1% 360원
발행일 2018-08-20
ISBN 1161751823 | 9791161751825
기타정보 번역서 | 588쪽
예상출고일 1~2일 이내 (근무일기준)
배송비 무료배송
   
일반
종합지수 0p
   
 

★ 요약 ★



IT 관련 특히 웹 서비스 관련 종사자면 자바 개발자가 아니더라도 스프링 프레임워크에 대해 한 번은 들어 봤을 정도로 스프링 프레임워크가 차지하고 있는 포지션은 크다. 특히 자바 개발자 사이에서 스프링 프레임워크의 지지는 절대적이라고 할 수 있다. 이에 걸맞게 최신 트렌드를 반영한 이 책은 스프링 5.0과 이와 관련된 최신 기술에 대한 내용을 적절한 예제를 통해 독자가 이해하기 쉽게 구성돼 있어 스프링을 처음 접하는 초보 개발자도 쉽게 이해할 수 있다.





★ 이 책에서 다루는 내용 ★



█ 스프링 프레임워크 5.0의 새로운 기능

█ 스프링 부트로 마이크로서비스 구축

█ 애플리케이션을 효과적으로 개발하고 모니터하기 위한 스프링 부트의 고급 기능 이해

█ 스프링 클라우드를 사용해 클라우드에 애플리케이션 배치 및 관리

█ 스프링 데이터 및 스프링 클라우드 데이터 플로우 이해

█ 리액티브 프로그래밍의 기초 이해

█ 스프링 프레임워크로 애플리케이션을 개발할 때의 모범 사례

█ 코틀린을 사용해 새 프로젝트를 만들고 단위 및 통합 테스트를 사용해 몇 가지 기본 서비스 구현





★ 이 책의 대상 독자 ★



스프링의 기초를 알고 있으면서 스프링 부트를 사용해 애플리케이션을 빌드하고 클라우드에 배포하는 방법을 배우고자 하는 자바 개발자를 대상으로 한다.





★ 이 책의 구성 ★



1장, ‘스프링 프레임워크 5.0의 발전’에서는 초기 버전에서 스프링 5.0에 이르는 스프링 프레임워크의 발전 과정을 알려준다. 스프링은 초창기에 의존성 주입과 핵심 모듈을 사용해 테스트 가능한 애플리케이션을 개발하는 데 사용됐다. 스프링 부트(Spring Boot), 스프링 클라우드(Spring Cloud), 스프링 클라우드 데이터 플로(Spring Cloud Data Flow) 같은 최근 스프링 프로젝트는 애플리케이션 인프라를 다루고 애플리케이션을 클라우드로 이동시킨다. 다양한 스프링 모듈과 프로젝트에 대한 개요를 살펴보자.

2장, ‘의존성 주입’에서는 의존성 주입에 대해 자세히 설명한다. 스프링에서 사용할 수 있는 다양한 종류의 의존성 주입 방법과 오토와이어링이 어떻게 삶을 편리하게 하는지 살펴볼 것이다. 단위 테스트에 대해서도 간략하게 살펴본다.

3장, ‘스프링 MVC 웹 애플리케이션 구축’에서는 스프링 MVC를 사용해 웹 애플리케이션을 빌드하는 방법을 간략히 설명한다.

4장, ‘마이크로서비스 및 클라우드-네이티브 애플리케이션으로의 진화’에서는 지난 10년간 애플리케이션 아키텍처의 진화를 설명한다. 마이크로서비스와 클라우드-네이티브 애플리케이션이 필요한 이유를 이해하고, 클라우드-네이티브 애플리케이션을 구축하는 데 도움이 되는 다양한 스프링 프로젝트를 간략하게 살펴본다.

5장, ‘스프링 부트로 마이크로서비스 구축’에서는 스프링 부트가 출시 수준의 스프링 기반 애플리케이션을 만드는 데 방해가 되는 복잡성을 어떻게 제거하는지 설명한다. 스프링 기반 프로젝트를 시작하기 쉽고, 타사 라이브러리와 쉽게 통합할 수 있다. 이 장에서는 스프링 부트로 여행하는 학생들을 데려갈 것이다. 기본 웹 서비스를 구현한 후 캐싱, 예외 처리, HATEOAS 및 국제화 기능을 추가하는 한편, 스프링 프레임워크와는 다른 기능을 사용한다.

6장, ‘마이크로서비스 확장’에서는 4장, ‘마이크로서비스 및 클라우드-네이티브 애플리케이션으로의 진화’에 마이크로서비스의 고급 기능을 추가하는 데 중점을 둔다.

7장, ‘고급 스프링 부트 기능’에서는 스프링 부트의 고급 기능을 살펴본다. 스프링 부트 액추에이터를 사용해 마이크로서비스를 모니터링하는 방법을 배운다. 그런 다음, 마이크로서비스를 클라우드에 배포한다. 또한 스프링 부트가 제공하는 개발자 도구를 사용해 좀 더 효과적으로 개발하는 방법을 배운다.

8장, ‘스프링 데이터’에서는 스프링 데이터 모듈에 대해 설명한다. 스프링과 JPA 및 빅데이터 기술을 통합하는 간단한 애플리케이션을 개발한다.

9장, ‘스프링 클라우드’에서는 일반적인 문제, 설정 관리, 서비스 검색, 서킷 브레이커 및 지능형 라우팅이 있는 클라우드 분산 시스템에 대해 설명한다. 이 장에서는 스프링 클라우드로 공통 패턴을 위한 솔루션 개발 방법을 배운다. 이러한 솔루션은 개발자 로컬 시스템뿐 아니라 클라우드에서도 잘 작동한다.

10장, ‘스프링 클라우드 데이터 플로’에서는 마이크로서비스 기반의 분산 스트리밍 및 배치 데이터 파이프 라인에 대한 패턴과 모범 사례를 제공하는 스프링 클라우드 데이터 플로에 대해 알아본다. 스프링 클라우드 데이터 플로의 기본 사항을 이해하고, 이를 사용해 기본 데이터 플로 사용 사례를 작성한다.

11장, ‘리액티브 프로그래밍’에서는 비동기 데이터 스트림을 사용한 프로그래밍을 살펴본다. 리액티브 프로그래밍을 이해하고, 스프링 프레임워크에서 제공하는 기능을 간략히 살펴본다.

12장, ‘스프링 모범 사례’에서는 단위 테스팅, 통합 테스팅, 스프링 설정 유지 등과 관련된 스프링을 사용해 엔터프라이즈 애플리케이션을 개발할 때의 모범 사례를 이해한다.

13장, ‘스프링에서 코틀린 사용’에서는 코틀린 같이 인기를 얻고 있는 JVM 언어를 소개한다. 이클립스에서 코틀린 프로젝트를 설정하는 방법에 대해 설명한다. 코틀린을 사용해 새로운 스프링 부트 프로젝트를 만들고 단위 및 통합 테스팅과 함께 몇 가지 기본 서비스를 구현한다.





★ 지은이의 말 ★



스프링 5.0에는 지금까지 프레임워크를 사용하는 방식을 바꿀 무수히 많은 새롭고 흥미로운 기능이 추가될 예정이다. 이 책에서는 테스트 가능한 애플리케이션의 문제 해결부터 클라우드에 분산 애플리케이션을 작성하는 과정까지의 진화를 보여준다. 또한 스프링 5.0의 새로운 기능에 대한 통찰부터 시작해 스프링 MVC를 사용해 애플리케이션을 빌드하는 방법을 보여준다. 이를 통해 스프링 프레임워크를 사용해 마이크로서비스를 구축하고 확장하는 방법을 확실히 이해하게 될 것이다. 이 밖에도 클라우드 애플리케이션을 빌드하고 배포하는 방법도 이해할 수 있다. 아울러 애플리케이션 아키텍처가 모놀리식에서 마이크로서비스 중심으로 구축된 형태로 진화한 방식을 깨닫게 될 것이다. 스프링 부트의 고급 기능은 다양한 예제를 통해 다룬다.

이 책을 다 읽고 나면 스프링 프레임워크로 애플리케이션을 개발하는 데 필요한 지식과 모범 사례를 갖추게 될 것이다.
1장. 스프링 프레임워크 5.0의 발전



__스프링 프레임워크

____EJB 관련 문제점

__스프링 프레임워크가 인기 있는 이유는 무엇일까?

____단순화된 단위 테스트

____복잡한 코드 감소

________스프링 프레임워크는 어떻게 마법을 부릴까?

____아키텍처의 유연성

____변화하는 시대를 선도함

__스프링 모듈

____스프링 코어 컨테이너

____횡단 관심

____웹

____비지니스

____데이터

__스프링 프로젝트

____스프링 부트

____스프링 클라우드

____스프링 데이터

____스프링 배치

____스프링 시큐리티

____스프링 HATEOAS

__스프링 프레임워크 5.0 새로운 기능

____기준선 업그레이드

____JDK 9 런타임 호환성

____스프링 프레임워크 코드에서 JDK 8 기능 사용

____리액티브 프로그래밍 지원

____함수형 웹 프레임워크

____직소를 사용한 자바 모듈성

____코틀린 지원

____삭제된 기능

__스프링 부트 2.0의 새로운 기능

__요약





2장. 의존성 주입



__DI 이해하기

____의존성 이해하기

____스프링 IoC 컨테이너

________빈과 와이어링 정의

________스프링 IoC 컨테이너 생성

________애플리케이션 콘텍스트에 대한 자바 구성

________애플리케이션 콘텍스트의 XML 구성

________스프링 콘텍스트를 사용해 JUnit 작성하기

____모크 단위 테스트

____컨테이너 관리 빈

____DI 유형

________setter 주입

________생성자 주입

________생성자 대 설정자 주입

____스프링 빈 스코프

____자바 대 XML 구성

____@Autowired 어노테이션

________@Primary 어노테이션

________@Qualifier 어노테이션

____기타 중요한 스프링 어노테이션

____콘텍스트 및 DI 탐색

________CDI의 예

__요약





3장. 스프링 MVC 웹 애플리케이션 구축



__자바 웹 애플리케이션 아키텍처

____모델 1 아키텍처

____모델 2 아키텍처

____모델 2 프런트 컨트롤러 아키텍처

__기본 플로

____기존 설정

________스프링 MVC에 대한 의존성 추가하기

________DispatcherServlet을 web.xml에 추가하기

________스프링 콘텍스트 생성하기

____플로 1 - 뷰 없는 간단한 컨트롤러 플로

________스프링 MVC 컨트롤러 생성하기

________웹 애플리케이션 구동

________단위 테스트

____플로 2 - 뷰를 가진 간단한 컨트롤러 플로

________스프링 MVC 컨트롤러

________뷰 생성하기 - JSP

________단위 테스트

____플로 3 - 모델이 있는 뷰로 전환하는 컨트롤러

________스프링 MVC 컨트롤러

________뷰 생성하기

________단위 테스팅

____플로 4 - ModelAndView를 사용해 뷰로 전환하는 컨트롤러

________스프링 MVC 컨트롤러

________뷰 생성하기

________단위 테스팅

____플로 5 - 폼이 있는 뷰로 전환하는 컨트롤러

________명령 또는 폼 백엔드 오브젝트 작성하기

________폼을 표시하는 컨트롤러 메서드

________폼을 가진 뷰 생성하기

______컨트롤러가 폼 제출을 처리하는 메서드를 가져오기

________단위 테스팅

____플로 6 - 이전 플로에 유효성 검증 추가하기

________하이버네이트 벨리데이터 의존성

________빈에 대한 간단한 검증

________커스텀 벨리데이션

________유닛 테스팅

__스프링 MVC의 개요

____중요 기능

____어떻게 작동할까?

__스프링 MVC의 핵심 개념

____RequestMapping

________요청 매핑 예제

________요청 매핑 메서드 - 지원되는 메서드 인수

________RequestMapping 메서드 - 지원되는 리턴 유형

____뷰 리솔루션

________JSP 뷰 리졸버 구성하기

________프리마커 구성

____핸들러 매핑과 인터셉터

________HandlerInterceptor 정의하기

________HandlerInterceptor를 핸들러에 매핑

____모델 속성

____세션 속성

________세션에 속성 추가하기

________세션에서 속성 읽기

________세션에서 속성 제거

____InitBinders

____@ControllerAdvice 어노테이션

__스프링 MVC - 고급 기능

____예외 처리

________컨트롤러 전반의 일반적인 예외 처리

________컨트롤러의 특정 예외 처리

____국제화

________메시지 번들 설정

________SessionLocaleResolver 설정

________CookieLocaleResolver 설정

____스프링 컨트롤러 통합 테스트

____정적 자원 제공

________정적 콘텐츠 노출

________정적 콘텐츠 캐싱

________정적 콘텐츠의 GZip 압축 사용

____스프링 MVC와 부트스트랩의 통합

________메이븐 의존성으로서의 부트스트랩 WebJar

________스프링 MVC 리소스 핸들러로 WebJar 정적 콘텐츠 전달하기 설정

________JSP에서 부트스트랩 리소스 사용하기

__스프링 시큐리티

____스프링 보안 의존성 추가하기

____모든 요청을 인터셉트하도록 필터 설정

____로그아웃

__요약





4장. 마이크로 아키텍처 및 클라우드-네이티브 애플리케이션으로의 진화



__스프링을 이용한 일반적인 웹 애플리케이션 아키텍처

____웹 계층

________웹 애플리케이션 - HTML 뷰 렌더링

________RESTful 서비스

____비즈니스 계층

____데이터 계층

____통합 계층

____횡단 관심

__스프링에 의해 해결된 문제

____느슨한 커플링 및 테스트 가능성

____복잡한 코드

____경량 아키텍처

____유연한 아키텍처

____횡단 관심의 간편한 구현

____디자인 패턴

__애플리케이션 개발 목표

____속도

____안전

________신뢰성

________가용성

________보안

________성능

________높은 복원력

____확정성

__모놀리식 애플리케이션 문제

____긴 릴리스 주기

____확장의 어려움

____새로운 기술 적용

____새로운 방법론 적용

____현대적인 개발 사례 적용

__마이크로서비스 이해

____마이크로서비스는 무엇인가?

____마이크로서비스 아키텍처

____마이크로서비스 특성

________작고 가벼운 마이크로서비스

________메시지 기반 커뮤니케이션과의 상호 운용성

________용량 할당 마이크로서비스

________독립적으로 배포 가능한 유닛

________무상태

________자동화된 빌드 및 릴리스 프로세스

________이벤트-드리븐 아키텍처

________독립된 팀

____마이크로서비스 장점

________출시 시간 단축

________기술 진화

________가용성 및 확장성

________팀 동력

____마이크로서비스 문제

________자동화에 대한 필요성 증가

________서브 시스템의 경계 정의

________가시성 및 모니터링

________결함 허용

________영속적 일관성

________운영 팀에 대한 필요성 증가

__클라우드-네이티브 애플리케이션

____12-팩터 앱

________코드베이스 유지

________의존성

________환경 설정

________백엔드 서비스

________빌드, 릴리스, 실행

________무상태

________포트 바인딩

________동시성

________처분 가능성

________환경 평가

________이벤트 스트림 로그

________구분 없는 어드민 프로세스

__스프링 프로젝트

____스프링 부트

____스프링 클라우드

__요약





5장. 스프링 부트로 마이크로서비스 구축



__스프링 부트는 무엇인가?

____마이크로서비스로 빠르게 프로토타입 구축

____기본 목표

____비기능적인 특징

__스프링 부트 Hello World

____spring-boot-starter-parent 설정

________spring-boot-starter-parent

____필요한 스타터 프로젝트를 사용해 pom.xml 구성

________스타터 프로젝트 이해하기

____spring-boot-maven-plugin 설정

____첫 스프링 부트 구동 클래스 생성

________SpringApplication 클래스

________@SpringBootApplication 어노테이션

____Hello World 애플리케이션 구동

____자동 설정

____스타터 프로젝트

__REST는 무엇인가?

__첫 REST 서비스

____문자열을 반환하는 간단한 메서드

________단위 테스팅

________통합 테스팅

____객체를 반환하는 간단한 REST 메서드

________요청 실행

________단위 테스팅

________통합 테스팅

____경로 변수를 가진 Get 메서드

________요청 실행

________단위 테스팅

________통합 테스팅

__todo 리소스 생성

____메서드, 오퍼레이션, URI 요청

____빈들과 서비스들

____Todo 리스트 검색

________서비스 실행

________단위 테스팅

________통합 테스팅

____특정 Todo의 세부 정보 검색

________서비스 실행

________단위 테스팅

________통합 테스팅

____Todo 추가

________포스트맨

________POST 서비스 실행

________단위 테스팅

________통합 테스트

__스프링 이니셜라이저

____첫 스프링 이니셜라이저 프로젝트 생성

________Pom

________FirstSpringInitializrApplication.java 클래스

________FirstSpringInitializrApplicationTests 클래스

__자동 설정 확인

__요약





6장. 마이크로서비스 확장



__예외 처리

____스프링 부트 기본 예외 처리

________존재하지 않는 리소스

________예외를 발생시키는 리소스

________커스텀 예외 발생시키기

________커스텀 예외 메시지

________응답 상태

__HATEOAS

____응답에 HATEOAS 링크 정보 보내기

________스프링 부트 스타터 HATEOAS

__벨리데이션

____컨트롤러 메서드 벨리데이션 활성화

____빈 벨리데이션 정의

____단위 테스팅 벨리데이션

__REST 서비스 문서화

____Swagger 명세서 생성

________Swagger UI

________어노테이션을 사용한 커스텀 Swagger 문서

__스프링 시큐리티로 REST 서비스 보호

____스프링 시큐리티 스타터 추가

____기본 인증

________통합 테스팅

________단위 테스팅

____OAuth 2 인증

________하이-레벨 플로

________서비스를 OAuth 2로 인증 구현

__국제화

__캐싱

____Spring-boot-starter-cache

____캐싱 활성화

____데이터 캐싱

____JSR-107 캐싱 어노테이션

________자동 감지 순서

__요약





7장. 고급 스프링 부트 기능



__외형화된 구성

____application.properties를 통한 프레임워크 커스텀

________로깅

________임베디드 서버 구성

________스프링 MVC

________스프링 스타터 시큐리티

________데이터 소스, JDBC와 JPA

________기타 구성 옵션

____application.properties의 커스텀 속성

________구성 등록 정보 - 타입세이프(type-safe) 구성 관리

____프로파일

________프로파일-기반 빈 구성

____애플리케이션 구성값에 대한 기타 옵션

...
랑가 라오 카라남(Ranga Rao Karanam)

프로그래머, 강사 및 시스템 설계자다. 관심 분야는 클라우드 네이티브 애플리케이션, 마이크로서비스, 진화론적 설계, 고품질 코드, 데브옵스(DevOps), BDD1, TDD2, 리팩토링이다. 컴포넌트 기반의 클라우드 네이티브 애플리케이션을 사용하고 BDD 같은 현대적 개발 관행을 따르며, 지속적 전달(배포), 데브옵스 등 확장성 개발과 관련된 스타트업 컨설팅, 스프링 프레임워크가 개발 중인 엔터프라이즈 자바 애플리케이션에 부여해주는 자유를 좋아한다.

클라우드 네이티브 자바 애플리케이션 개발에 대한 고품질의 강의를 만드는 in28minutes3에서 시작했으며, Udemy4 학생 7만 5,000명, 유튜브 3만 5,000명의 구독자를 갖고 있다. 크리켓 게임을 즐기고 하이킹을 좋아한다. 꿈은 히말라야 산맥에서 1년 동안 하이킹을 하는 것이다.





★ 옮긴이의 말 ★



자바 개발자들에게 친숙한 스프링 프레임워크는 웹 애플리케이션을 개발하는 데 있어 빼놓을 수 없는 공기와 같은 존재라고 할 수 있다. 그만큼 널리 알려져 있고, 많이 사용한다는 얘기일 것이다. 반면 스프링 프레임워크에 대한 의존도가 높아질수록 다른 기술을 접목시키고 융합할 수 있는 기회가 적어질 수밖에 없다. 물론 다양한 언어, 프레임워크 그리고 기술을 융합, 결합해 사용한다는 것이 반드시 좋다고는 말할 수 없다. 개발 환경 및 프로세스의 통일이라는 기준에서 보면 단일 프레임워크를 사용하는 것이 좀 더 효율적일 것이다. 이러한 측면에서 다른 언어가 아닌 같은 언어(여기서는 자바) 그리고 같은 오픈 소스에서 파생된 기술, 즉 스프링 프레임워크를 탄생시킨 스프링 프로젝트 중에서 현재 단순히 기계적으로 사용하고 있는 스프링 프레임워크를 맛깔나게 그리고 재미있게 지원 사격을 해줄 수 있는 것들을 찾아보고, 새로운 프로젝트에 그것들을 적용해보는 것도 개발자들에게 또 하나의 즐거움이 될 수 있을 것이다.

물론 이미 스프링 프로젝트에서 나온 여러 가지 기술은 현재 많은 곳에서 다양한 프로젝트에 적용되고 있다. 여러분이 단순히 스프링 프레임워크만 알고 있다면 초급 개발자거나 새로운 기술에 대한 열정이 부족한 시니어 개발자일 것이다. 이러한 개발자들에게 단비와도 같은 이 책은 단순히 스프링 프레임워크에 익숙해서 새로운 기술이나 프레임워크를 배우기 귀찮아 하는 개발자들에게 스프링 프로젝트에 있는 여러 가지 프로젝트, 즉 스프링 클라우드, 스프링 부트, 리액티브 프로그래밍, 코틀린 그리고 마이크로서비스에 관련된 지식을 익히는 데 도움을 줄 것이다.



김완철





이 책을 통해 스프링 5.0의 기본을 잘 쌓을 수 있고, 스프링 부트를 활용하거나 고급 기능들을 익히는 데 많은 도움이 될 것이다. 또한 책을 잘 따라 하면 마이크로서비스 구축은 물론 클라우드에 필요한 기술들까지도 쉽게 습득할 수 있다. 스프링을 기반으로 전반적인 트렌드 기술을 익히기에 적합하며, 코틀린에 관련된 지식을 추가로 얻을 수 있다.



권용길





★ 옮긴이 소개 ★



김완철

자바 백엔드 엔지니어로 웹/모바일 플랫폼을 개발해왔으며, 현재 소프트웨어 아키텍트로 자바와 Node.js를 사용해 IoT 솔루션을 개발하고 있다. 한국 제이보스 유저 그룹(KJBUG, Korea JBoss User Group) 멤버로 활동하고 있으며, 실시간 빅데이터 분석 및 블록체인에 관심이 많다.



권용길

2004년 게임 사에서 커머스 서비스 개발을 시작으로 멤버십, 빌링 등과 같은 웹 플랫폼 서비스를 개발했으며, 현재 모바일 플랫폼 서비스 개발하고 있다. 근무 외 시간에는 앱 개발 콘테스트 멘토링, 스타트업 기술 자문 등 다양한 활동에 참여하고 있으며, 경력의 많은 부분을 자바 기반의 스프링과 함께 하고 있다.

등록된 서평이 없습니다.
『Windows Debugging 2/e: WinDbg로 배우는 윈도우 디버깅』...
최바울, 이태화, 김희준, 김성현
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
컴퓨터 비전(Computer Vision)...
오일석
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
Solidworks Basic(솔리드웍스 베이직)(2017)...
원동현
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『파이썬으로 풀어보는 회귀분석: 단순선형회귀분석부터 고급 회귀분석까지』
루카 마싸론, 알베르토 보스체티 저
0원
(0%↓+1%)
 
『파이썬으로 풀어보는 회귀분석: 단순선형회귀분석부터 고급 회귀분석까지』
루카 마싸론, 알베르토 보스체티 저
27,000원
(10%↓+5%)
 
『빅데이터 분석을 위한 스칼라와 스파크: 대용량 빅데이터 분석과 머신 러닝까지 활용하는』
레자울 카림, 스리다 알라 저
45,000원
(10%↓+5%)
 
『인텔리제이 IDEA: 기본 사용법부터 고급 기능까지 마스터하기』
야마모토 유스케, 이마이 마사노부 저
25,200원
(10%↓+5%)
 
『Kubernetes in Action: 그림과 상세한 설명을 통한 쿠버네티스 완벽 이해』
마르코 룩샤 저
40,500원
(10%↓+5%)
 
이메일주소수집거부