이미 소장하고 있다면 판매해 보세요.
|
1장. 자바로 빠른 시작
__시작하기 __스프링 부트 스타터 __스프링 부트 애플리케이션 실행 __스프링 부트의 속성 지원에 대해 알아보기 __애플리케이션을 실행 가능한 JAR 파일로 묶기 __클라우드 파운드리에 배포 __프로덕션-준비 지원 추가 ____일반적인 헬스를 위한 앱 핑(Pinging) ____매트릭스 __요약 2장. 스프링 부트 리액티브 웹 __스프링 이니셜라이저를 이용한 리액티브 웹 애플리케이션 생성하기 __리액티브 프로그래밍의 원리 배우기 __리액터 타입 소개 __임베디드 네티에서 아파치 톰캣으로 전환 __리액티브 스프링 웹 플럭스와 고전적인 스프링 MVC 비교하기 ____왜 스프링이 이것을 하고 있는가? __모노/플럭스-기반 엔드포인트 표시 __리액티브 ImageService 생성하기 __리액티브 파일 컨트롤러 생성하기 __리액티브 프로그래밍을 사용해야 하는 이유 __타임리프 템플릿과 상호 작용 __비동기에서 동기화로 이동하는 방법을 설명하는 것은 쉽지만, 그 반대는 아니다 __요약 3장. 스프링 부트를 이용한 리액티브 데이터 액세스 __리액티브 데이터 저장소를 사용해 진행 __문제 해결 ____스프링 부트로 스프링 데이터 저장소 연결하기 __리액티브 저장소 생성 __모노/플럭스 및 오퍼레이션 체인을 통해 데이터 가져오기 __커스텀 파인더 생성하기 __Example로 쿼리하기 __MongoOperations로 쿼리하기 __리액티브 오퍼레이션 로깅 __요약 4장. 스프링 부트 테스트 __테스트 의존성 __단위 테스팅 __슬라이스-기반 테스팅 ____임베디드 몽고 DB로 테스팅 ____실제 몽고 DB 데이터베이스로 테스팅 __웹 플럭스 컨트롤러 테스팅 __임베디드 스프링 부트 앱 테스트 __커스텀 스프링 부트 자동 설정 테스팅 __요약 5장. 스프링 부트 앱을 위한 개발자 도구 __핫 코드 리로딩을 위해 스프링 부트의 DevTools 사용 __스프링 부트의 자동 설정 보고서 사용 __로컬 변경 및 대상 시스템에서 보기 __커스텀 헬스 체크 작성 __/application/info에 빌드 데이터 추가 __커스텀 매트릭스 생성 __추가 액추에이터 엔드포인트 작업 __요약 6장. 스프링 부트로 AMQP 메시징하기 __래빗MQ 시작하기 ____래빗MQ 브로커 설치 ____래빗MQ 브로커 시작 __기존 애플리케이션에 메시징을 새로운 컴포넌트로 추가 __메시지 생성자/메시지 소비자 생성하기 ____코멘트 표시 ____코멘트 작성 ____AMQP 기본 사항 __메시지 플로를 추적하는 커스텀 매트릭스 추가 __스프링 클라우드 스트림(래빗MQ 포함)에서 엿보기 ____스프링 클라우드 소개 ____스프링 클라우드 스트림을 이용한 로깅 __요약 7장. 스프링 부트의 마이크로서비스 __마이크로서비스에 대한 간단한 입문서 __유레카를 사용해 동적으로 서비스를 등록 및 검색 __@SpringCloudApplication 소개 __클라이언트-사이드 로드 밸런싱을 통해 다른 마이크로서비스를 호출 __마이크로서비스 서킷 브레이커 구현 __서킷 모니터링 __마이크로서비스 설정을 컨피그 서버로 오프로드 __요약 8장. 스프링 부트의 웹 소켓 __저장된 코멘트를 채팅 서비스에 게시하기 __웹 소캣 트래픽을 처리하기 위한 채팅 서비스 생성하기 ____웹 소캣 메시지 중개 ____저장된 코멘트 브로드캐스트 ____웹 소캣 핸들러 구성 __웹 페이지에서 웹 소켓 메시지 소비 __완전 비동기식 웹 클라이언트로 이동 __서버에서 AJAX 호출 처리 __사용자 채팅 소개 __사용자별 메시지 보내기 ____인증 없이 사용자 등록 ____사용자를 세션에 연결 ____사용자 간 메시지 보내기 __최종 제품 체크 아웃 __JSR 356 대 스프링 WebFlux 메시징 __요약 9장. 스프링 부트로 앱 보안 __스프링 부트 애플리케이션 보안 __스프링 세션 사용하기 ____게이트웨이 API 작성 __채팅 마이크로서비스 보안 ____인증 대 권한 부여 __다른 마이크로서비스와 세션 세부 정보 공유 __이미지 마이크로서비스 보안 __이미지 소유권 연결 ____인증 메서드 __권한 부여 확인을 사용해 UI 조정 __웹 소켓 보안 __통신 추적 __컨피그 서버 보안 __유레카 서버 보안 __요약 10장. 스프링 부트로 앱 프로덕션하기 __프로파일-기반 빈 세트 __설정 등록 정보 빈 생성 __프로덕션 환경 설정 오버라이딩 ____@ConfigurationProperties 대 @Value __앱을 클라우드 파운더리에 푸시하고 설정 조정 __요약 |
Greg L. Turnquist
그렉 턴키스트의 다른 상품
|
이 책에서 다루는 내용
- 번거로움을 최소화하면서 강력한 프로덕션 수준의 애플리케이션 및 서비스 생성하기 - 하나의 아티팩트로 여러 환경을 지원하고, 프로덕션급 기능 지원 추가하기 - 다양한 속성을 통해 앱을 조정하는 방법 알아보기 - 커스텀 매트릭스을 사용해 게시되고, 소비된 메시지 수 추적하기 - 애플리케이션의의 보안 모델 강화 - 스프링 부트에서 리액티브 프로그래밍 사용하기 - 경량 단위 테스트에서 임베디드 웹 컨테이너 통합 테스트에 이르기까지 모든 것을 빌드하기 이 책의 대상 독자 초보자와 숙련된 스프링 개발자 모두를 대상으로 한다. 스프링 부트 설정을 오버라이트하는 법을 가르쳐줄 것이며, 복잡한 구성을 정의할 필요가 없게 해 줄 것이다. 이 책의 구성 1장, ‘자바로 빠른 시작’에서는 최소한의 코드 및 빌드 설정을 사용해 임베디드 웹 컨테이너에서 실행 중인 웹 애플리케이션을 빠르게 작성하고, 일부 데이터에 액세스한 후 클라우드에 배포하는 방법에 대해 설명한다. 2장, ‘스프링 부트 리액티브 웹’에서는 스프링 웹 플럭스, 프로젝트 리액터 및 타임리프 템플릿 엔진을 사용해 소셜 미디어 서비스를 구축해 이미지를 업로드하는 방법을 보여준다. 3장, ‘스프링 부트를 이용한 리액티브 데이터 액세스’에서는 스프링 데이터 몽고 DB를 리액티브-파워 데이터 저장소로 선택해 소셜 미디어 플랫폼에 연결하는 방법에 대해 설명한다. 스프링 부트가 어떻게 앱을 자동 설정해 데이터를 유지하는지 알게 될 것이다. 4장, ‘스프링 부트 테스트’에서는 JUnit으로 단위 테스트를 작성하는 방법, 애플리케이션의 실제 컴포넌트를 사용하는 슬라이스 테스트, 완전한 임베디드 컨테이너 테스트에 대해 설명한다. 또한 웹 브라우저 구동 테스트 툴킷에 대한 자동 설정 정책을 작성하고, 이를 테스트하는 방법도 설명한다. 5장, ‘스프링 부트 앱을 위한 개발자 도구’에서는 DevTools, LiveReload 및 IDE를 클라우드에 연결하는 것과 같은 개발자 경험을 향상시키기 위해 여러 가지 도구를 제공한다. 6장, ‘스프링 부트로 AMQP 메시징 하기’에서는 래빗MQ를 메시지 브로커로 사용하는 방법을 설명하고 컴포넌트 간 안정적이고 스트리밍되는 메시지 서비스를 리액티브적으로 구축한다. 7장, ‘스프링 부트의 마이크로서비스’에서는 스프링 클라우드와 소셜 미디어 플랫폼을 더 작고 관리하기 쉬운 앱으로 분해해 서로 동적으로 대화하는 기능을 소개한다. 8장, ‘스프링 부트의 웹 소켓’에서는 다양한 마이크로서비스에 관심 있는 모든 사람에게 업데이트를 보내 사용자 경험을 향상시키는 방법을 보여준다. 또한 모든 웹 소켓 메시지를 래빗MQ 브로커를 통해 라우팅하는 방법을 알 수 있다. 9장, ‘스프링 부트로 앱 보안’에서는 URL-기반 및 메서드-기반 전략을 사용해 프로덕션 소셜 미디어 플랫폼을 보호할 수 있어, 등록된 사용자만 온라인에 접속할 수 있으며 승인된 관리자와 소유자만 실제로 업로드된 이미지를 삭제할 수 있다. 10장, ‘스프링 부트로 앱 프로덕션하기’에서는 프로파일-기반 구성을 사용해 로컬 및 클라우드-기반 상황을 구분하고, 모든 환경에 대한 코드를 다시 작성하지 않고 애플리케이션 설정을 조정할 수 있는 커스텀 속성을 생성해 애플리케이션을 번들하고 프로덕션으로 배포하는 방법을 보여준다. 지은이의 말 스프링 부트는 개발자, 커뮤니티 및 고객에 초점을 맞춤으로써 일반적으로 소모되는 막대한 시간을 줄였다. 피보탈(Pivotal)의 수석 기술 디렉터리인 앤드류 클레이 샤퍼(Andrew Clay Shafer)는 가장 유명한 콘퍼런스에서 “올해 서버를 훌륭하게 설정했다. CEO도 없었다”라고 발표했다. 웹 컨테이너, 데이터베이스 커넥터, 템플릿 뷰 리졸버 및 기타 지루한 인프라를 설정하는 데 낭비할 시간은 없다. 하지만 이를 너무 오랫동안 해왔기 때문에 그것이 업계의 중요한 일부분이라고 생각한다. 스프링 부트는 애플 카트를 뒤엎고 고객이 원하는 기능을 처음으로 만들 수 있다는 것을 보여줬다. 피보탈의 수석 부사장인 제임스 와터(James Watters)가 수많은 프레젠테이션에서 언급했듯이, 가치보다 더 중요한 것에 집중하면 고객에게 진정한 신뢰를 심어준다. 이와 같은 사실은 자바 개발자 두 명 중 거의 한 명꼴인 46%가 스프링 포트폴리오의 일부를 사용하고 있다는 것을 보여주는 최신 제로 턴 어라운드(Zero Turnaround)의 백서에 의해 입증됐다. 스프링 부트는 수많은 고객의 문제를 해결하고 있으며, 이 책은 여러분이 이해의 갭을 줄이는 데 도움이 될 것이다. 옮긴이의 말 우리는 언제부터인가 자바 웹 개발을 얘기할 때, 그 밑바닥에 스프링 프레임워크가 있다는 전제 조건을 갖고 시작한다. 그만큼 자바 개발자들에게는 없어서는 안 되는 존재가 됐고, 앞으로도 혁신적인 프레임워크가 나타나지 않는 한 스프링 프레임워크의 위치는 확고할 것이 분명하다. 기업에서 신제품을 내놓을 때는 경쟁사의 제품보다 더 뛰어난 것을 개발한 경우가 대부분이지만, 스프링 프레임워크와 같이 한국에서의 높은 지위를 생각한다면 더 뛰어난 프레임워크가 나올 것이라는 생각을 가진 개발자들은 거의 없었을 것이다. 또한 사람들은 최고의 제품만을 사용하고 싶어하고, 익숙해져 있는 제품을 관성적으로 사용하게 돼 있다. 이러한 생각에 젖어 있을 때쯤 스프링 프레임워크를 위협할 만한 프레임워크가 스프링 내부에서 나타났고, 그 파급력은 점점 커져가고 있다. 스프링 프레임워크에 익숙한 개발자들에게 스프링 부트는 마치 업그레이드된 자동차 엔진과 같이 전체 개발/운영은 동일한 익숙함으로 가능하고, 내부적으로는 좀 더 간결하고, 자동 설정들의 편의성을 제공해주는 마치 마법과 같은 것이 돼가고 있다. 스프링 프레임워크로 개발하는 경우에 개발자들이 고려해야 할 사항은 톰캣 설치에 대한 번거로움이 포함돼 있다는 것이다. 하지만 스프링 부트에는 톰캣이나 네티가 임베디드돼 있어 개발이 완료된 후 바로 운영이 가능하다는 점이 매우 매력적이라고 할 수 있다. 특히 데몬과 같은 프로그램을 개발하고 운영하고자 할 때에는 설치 시간 및 리소스를 획기적으로 절약해준다. 스프링 프레임워크와 달리, 의존성 자동 설정과 같은 기능은 수동 변속기로 운전하다가 자동 변속기로 바꾸고 운전했을 때의 편리함을 제공해준다고 할 수 있다. 이러한 다양한 장점을 가진 스프링 부트를 사용하지 않는다면, 도대체 무엇을 사용하겠다는 것인가? 스프링 부트에 대한 전반적인 내용을 살펴보고, 스프링 프레임워크를 대체 할 만한 것이라는 판단을 하고 싶다면, 이 책이 그 해답을 줄 것이다. -김완철 하나의 프로젝트를 진행하면서 패키지 구성부터 테스트, 배포에 이르기까지 스프링 부트를 중심으로 쉬운 예제를 통해 풀어가고 있으며, 스프링 부트 2.0의 최신 기능인 웹 플럭스 프레임워크, 리액티브 프로그래밍, 웹 소켓, 데이터베이스 등을 활용하는 방법을 배울 수 있다. 또한 이 책은 프로그래밍에만 초점을 두지 않고 클라우드 구성에 따른 빌드 및 배포 방법, 각종 테스트 방법, 간단한 보안 설정 등을 경험하게 해줘 최신 트렌드에 맞는 프로젝트(애플리케이션) 제작의 시작부터 끝을 경험할 수 있게 해준다. -권용길 |
|
바야흐로 클라우드-네이티브의 시대에 서 있는 지금, 가장 중요한 자리에 스프링 부트가 있다. 이 책은 스프링 부트의 세계로 입문하거나 시스템에 도입하고자 할 때 필요한 기본 지식에서부터 다양한 시스템에 접목할 수 있는 예제에 이르기까지 전반적인 범위를 다룬다. 무엇보다 2장의 리액티브 프로그래밍에 대한 이해도를 높여주는 내용을 포함해 6장부터 다루는 AMQP 메시징 및 마이크로서비스, 웹 소켓과 관련된 여러 가지 기술은 한 번쯤은 다뤄봐야 할 최신 트렌드라 할 수 있다. 자바를 이용한 리액티브 프로그래밍에 관심이 있거나 스프링 부트로 서비스를 구축하려는 조직 및 프로그래머에게 권한다. - 이용혁 (KBSYS)
|
|
우리는 동료와 책만큼이나 스프링을 통해서도 많은 것을 배운다. 그런 스프링이 이제 스프링 부트 2.0까지 발표됐고, 스프링 부트 2.0은 이전 버전에 비해 크게 변화했다. 비동기 통신은 더 강해졌고, 패러다임은 달라졌다. 이 기본서는 달라진 핵심 내용을 설명해주고, 예제를 통해 그 원리를 이해시켜준다. 개발 시에 도움 되는 개발자 도구 사용 방법과 테스팅 방법도 다룬다. 이 책을 읽으면서 다시 한번 스프링 부트의 매력을 느낄 수 있었다. 여러분들도 그러한 시간이 되길 바란다.
- 안광운 (카카오) |
|
스프링 부트 2.0에 대해 알고 싶던 차에 단비와 같은 책이 번역돼 나왔다. 스프링 5와 스프링 부트 2.0의 가장 큰 변화는 리액티브다. 기존 통신 방식이 동기 통신이었고, MVC 기반의 모노리틱 아키텍처가 적합한 프레임워크였다면, 스프링 부트 2.0은 비동기 통신이 MSA에 적합한 구조로 탈바꿈된 내용을 소개한다. 리액티브 스프링 데이터(Reactive Spring Data), 웹 플럭스(Web-Flux) 중심의 구현을 소개할 뿐만 아니라 클라우드 파운더리(Cloud Foundary) 배포나 AMQP 등을 이용한 메시징, 스프링 부트 기반의 마이크로 서비스 소개를 통해 스프링 부트 2.0을 활용해 효율적인 개발/배포를 할 수 있는 기술들을 소개한다. 이미 스프링을 사용하고 있고, 스프링 부트를 사용한다면 이 책에서 소개한 내용을 바탕으로 스프링 부트 2.0을 적용하는 데 많은 도움이 될 것이다. - 장회수 (우아한형제들)
|
|
실용적인 목차 선정, 상세한 설명 그리고 완전한 예제 코드까지 꼼꼼하게 작성된 인상적인 책이다. 스프링 부트 2.0의 기술적 내용이 잘 정리돼 있어 이해하기가 쉽다. 또한 최신 트렌드 기술과 스프링 부트를 함께 응용하는 목차와 예제가 스프링 부트의 특징을 잘 반영하고 있다. 잘 정리된 교재로 스프링 부트를 배우고 싶은 초보 개발자, 실무에서 빠르게 서비스를 구현하고 싶은 생산성을 중시하는 중급 이상 개발자 모두에게 유용한 책이다. 원서를 편안한 한글로 볼 수 있어서 더욱 좋다. 더욱이 실무에서 스프링 부트를 사용하고 있는 경험 많은 전문 개발자의 번역이라 믿고 볼 수 있는 추천할 만한 책이다. - 원종석 (레드햇)
|