상세정보

d

d

dd
dd

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

인텔리제이, JPA, JUnit 테스트, 그레이들, 소셜 로그인, AWS 인프라로 무중단 배포까지

지은이 |   이동욱
옮긴이 |   
발행일 |   2019-11-29
페이지 |   416가격 |   22,000원
ISBN |   978-89-6540-260-2
분야 |   스프링부트, AWS, 웹서비스
dddddd

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

인텔리제이, JPA, JUnit 테스트, 그레이들, 소셜 로그인, AWS 인프라로 무중단 배포까지

지은이 |   이동욱
옮긴이 |   
발행일 |   2019-11-29
페이지 |   416
가격 |   22,000원
ISBN |   978-89-6540-260-2
분야 |   스프링부트, AWS, 웹서비스
ddd
ddd
가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다.
경험이 실력이 되는 순간!
이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 시큐리티를 활용한 소셜 로그인 등으로 애플리케이션을 개발하고, 뒤이어 AWS 인프라의 기본 사용법과 AWS EC2와 RDS를 사용해 서비스가 가능하도록 합니다. 이렇게 점진적으로 스프링 부트 프로젝트를 개선해서 배포 자동화하고 무중단 배포까지 경험합니다. 실무 현장에서의 노하우와 테스트 방법, 객체지향 프로그래밍 등을 소개하고 다룹니다.

스프링으로 하는 웹 개발이 이제는 어렵고 복잡하지 않습니다. 이 책은 기초 자바 지식만 있다면 편하게 진행할 수 있습니다. 스프링 부트 개념 설명에 집중하기 보단, 만드는 재미와 책을 보고 무엇을 만들 수 있을까에 집중했습니다. 국내 많은 서비스 회사들은 자바와 스프링을 사용하고 있습니다. 원하는 회사의 기술 스택과도 일치하고 구현하고 싶은 서비스도 쉽고 빠르게 만들고자 합니다. 전공 과제나 졸작, 취업 포트폴리오를 만들고 싶은 분들이나 실제 서비스 경험이 없는 주니어 개발자분들에게 추천합니다.


-추천사-
책을 덮을 때쯤 이보다 빠르게 읽히면서 내용이 풍부한 책은 만나기 힘들다는 느낌을 받았습니다. 빠르면 3일 안에 독자의 1 페이지 블로그를 완성하도록 도와줍니다. 서비스 운영에서 중요한 실전 개념을 모두 다루고 있으며, 자신의 프로젝트에 그러한 개념을 적용할 수 있도록 안내하고 있습니다.
이 책은 저자가 독자들을 위해 준비한 특별한 ‘지름길’ 입니다. 저자는 많은 트래픽이 발생하는 서비스를 개발하고 있으며, 경험에서 얻은 지식을 오랫동안 블로그로 쉽게 전달하는 활동을 해왔습니다. 독자가 어느 것에 집중해야 하는지 저자는 정확하게 알고 있으며 이 책은 그런 저자의 노하우를 한 데 집약한 결과물입니다.
장소현_카카오페이

이 책의 가장 큰 장점은 스프링 부트, JPA, 스프링 시큐리티를 활용한 웹 애플리케이션 개발에서부터, 테스트, 빌드, 배포 자동화, 무중단 배포까지 웹 개발에 필요한 전반적인 사이클을 빠르게 경험할 수 있다는 점입니다.
또한, 지식을 일방적으로 전달하는 것이 아니라 독자에게 끊임없이 질문을 던지고 그에 대한 답변으로 구성된 전개 방식은 마치 선배 개발자가 후배 개발자에게 친절히 알려주고 있다는 느낌을 받았습니다.
홍종완_우아한형제들

이 책은 마치 게임 튜토리얼처럼 실습 위주로 되어 있고 하나씩 따라가다 보면 어렵지 않게 나만의 서비스를 직접 만들어 볼 수 있습니다. 깃허브에 이미 구현된 코드와 알아야 하는 개념들이 예시와 함께 자세히 설명되어 있어 글로만 설명하고 있는 블로그보다 훨씬 이해하기 쉽고 재미있게 따라 할 수 있습니다.
백지한_쿠팡

스프링을 다루는 책들은 이미 많습니다. 하지만 만드는 재미를 주는 책은 거의 없습니다. 이 책은 저자와 함께 하나의 프로젝트를 같이 만들어 나갑니다. 웹 서비스에 꼭 들어가야 하는 주요기능들을 스프링 부트를 통해 구현합니다. 동시에 초심자들이 꼭 알아야 하는 스프링의 핵심내용들을 쉽게 설명하고 있어 스프링에 대한 기본기를 쌓을 수 있습니다. 스프링이 접근하기 어렵고 딱딱하다고 느껴 입문하기 망설이는 분들이 계신다면 이 책을 차근차근 따라 해보며 만드는 재미를 얻을 수 있을 것입니다.
최유성_우아한형제들
01장  인텔리제이로 스프링 부트 시작하기
_1.1 인텔리제이 소개
_1.2 인텔리제이 설치하기
_1.3 인텔리제이 커뮤니티에서 프로젝트 생성하기
_1.4 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기
_1.5 인텔리제이에서 깃과 깃허브 사용하기


02장  스프링 부트에서 테스트 코드를 작성하자
_2.1 테스트 코드 소개
_2.2 Hello Controller 테스트 코드 작성하기
_2.3 롬복 소개 및 설치하기
_2.4 Hello Controller 코드를 롬복으로 전환하기


03장  스프링 부트에서 JPA로 데이터베이스 다뤄보자
_3.1 JPA 소개
__Spring Data JPA
__실무에서 JPA
__요구사항 분석
_3.2 프로젝트에 Spring Data Jpa 적용하기
_3.3 Spring Data JPA 테스트 코드 작성하기
_3.4 등록/수정/조회 API 만들기
_3.5 JPA Auditing으로 생성시간/수정시간 자동화하기
__LocalDate 사용
__JPA Auditing 테스트 코드 작성하기


04장  머스테치로 화면 구성하기
_4.1 서버 템플릿 엔진과 머스테치 소개
__머스테치란
__머스테치 플러그인 설치
_4.2 기본 페이지 만들기
_4.3 게시글 등록 화면 만들기
_4.4 전체 조회 화면 만들기
_4.5 게시글 수정, 삭제 화면 만들기
__게시글 수정
__게시글 삭제


05장  스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기
_5.1 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트
_5.2 구글 서비스 등록
_5.3 구글 로그인 연동하기
__스프링 시큐리티 설정
__로그인 테스트
_5.4 어노테이션 기반으로 개선하기
_5.5 세션 저장소로 데이터베이스 사용하기
_5.6 네이버 로그인
__네이버 API 등록
__스프링 시큐리티 설정 등록
_5.7 기존 테스트에 시큐리티 적용하기


06장  AWS 서버 환경을 만들어보자 - AWS EC2
_6.1 AWS 회원 가입
_6.2 EC2 인스턴스 생성하기
_6.3 EC2 서버에 접속하기
_6.4 아마존 리눅스 1 서버 생성 시 꼭 해야 할 설정들


07장  AWS에 데이터베이스 환경을 만들어보자 - AWS RDS
_7.1 RDS 인스턴스 생성하기
_7.2 RDS 운영환경에 맞는 파라미터 설정하기
_7.3 내 PC에서 RDS에서 접속해 보기
__Database 플러그인 설치
_7.4 EC2에서 RDS에서 접근 확인


08장  EC2 서버에 프로젝트를 배포해 보자
_8.1 EC2에 프로젝트 Clone 받기
_8.2 배포 스크립트 만들기
_8.3 외부 Security 파일 등록하기
_8.4 스프링 부트 프로젝트로 RDS 접근하기
__RDS 테이블 생성
__프로젝트 설정
__EC2 설정
_8.5 EC2에서 소셜 로그인하기


09장  코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화
_9.1 CI & CD 소개
_9.2 Travis CI 연동하기
__Travis CI 웹 서비스 설정
__프로젝트 설정
_9.3 Travis CI와 AWS S3 연동하기
__AWS Key 발급
__Travis CI에 키 등록
__S3 버킷 생성
__.travis.yml 추가
_9.4 Travis CI와 AWS S3, CodeDeploy 연동하기
__EC2에 IAM 역할 추가하기
__CodeDeploy 에이전트 설치
__CodeDeploy를 위한 권한 생성
__CodeDeploy 생성
__Travis CI, S3, CodeDeploy 연동
_9.5 배포 자동화 구성
__deploy.sh 파일 추가
__.travis.yml 파일 수정
__appspec.yml 파일 수정
__실제 배포 과정 체험
_9.6 CodeDeploy 로그 확인


10장  24시간 365일 중단 없는 서비스를 만들자
_10.1 무중단 배포 소개
_10.2 엔진엑스 설치와 스프링 부트 연동하기
_10.3 무중단 배포 스크립트 만들기
__profile API 추가
__real1, real2 profile 생성
__엔진엑스 설정 수정
__배포 스크립트들 작성
_10.4 무중단 배포 테스트


11장  1인 개발 시 도움이 될 도구와 조언들
_11.1 추천 도구 소개
__댓글
__외부 서비스 연동
__방문자 분석
__CDN
__이메일 마케팅
_11.2 1인 개발 팁
_11.3 마무리


찾아보기
이동욱
SI, 포털, 스타트업에서 자바와 스프링 기반으로 백엔드 개발을 해왔습니다. 이상한 모임, 우아한형제들 테크 세미나, 젯브레인 데이 등에서 발표를, 마이크로소프트웨어에 기고를 하기도 합니다.
총 누적 조회 200만 이상인 블로그(기억보단 기록을 - jojoldu.tistory.com/)에 배운 것을 정리하고 있습니다.

가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다.
경험이 실력이 되는 순간!
이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 시큐리티를 활용한 소셜 로그인 등으로 애플리케이션을 개발하고, 뒤이어 AWS 인프라의 기본 사용법과 AWS EC2와 RDS를 사용해 서비스가 가능하도록 합니다. 이렇게 점진적으로 스프링 부트 프로젝트를 개선해서 배포 자동화하고 무중단 배포까지 경험합니다. 실무 현장에서의 노하우와 테스트 방법, 객체지향 프로그래밍 등을 소개하고 다룹니다.

스프링으로 하는 웹 개발이 이제는 어렵고 복잡하지 않습니다. 이 책은 기초 자바 지식만 있다면 편하게 진행할 수 있습니다. 스프링 부트 개념 설명에 집중하기 보단, 만드는 재미와 책을 보고 무엇을 만들 수 있을까에 집중했습니다. 국내 많은 서비스 회사들은 자바와 스프링을 사용하고 있습니다. 원하는 회사의 기술 스택과도 일치하고 구현하고 싶은 서비스도 쉽고 빠르게 만들고자 합니다. 전공 과제나 졸작, 취업 포트폴리오를 만들고 싶은 분들이나 실제 서비스 경험이 없는 주니어 개발자분들에게 추천합니다.


-추천사-
책을 덮을 때쯤 이보다 빠르게 읽히면서 내용이 풍부한 책은 만나기 힘들다는 느낌을 받았습니다. 빠르면 3일 안에 독자의 1 페이지 블로그를 완성하도록 도와줍니다. 서비스 운영에서 중요한 실전 개념을 모두 다루고 있으며, 자신의 프로젝트에 그러한 개념을 적용할 수 있도록 안내하고 있습니다.
이 책은 저자가 독자들을 위해 준비한 특별한 ‘지름길’ 입니다. 저자는 많은 트래픽이 발생하는 서비스를 개발하고 있으며, 경험에서 얻은 지식을 오랫동안 블로그로 쉽게 전달하는 활동을 해왔습니다. 독자가 어느 것에 집중해야 하는지 저자는 정확하게 알고 있으며 이 책은 그런 저자의 노하우를 한 데 집약한 결과물입니다.
장소현_카카오페이

이 책의 가장 큰 장점은 스프링 부트, JPA, 스프링 시큐리티를 활용한 웹 애플리케이션 개발에서부터, 테스트, 빌드, 배포 자동화, 무중단 배포까지 웹 개발에 필요한 전반적인 사이클을 빠르게 경험할 수 있다는 점입니다.
또한, 지식을 일방적으로 전달하는 것이 아니라 독자에게 끊임없이 질문을 던지고 그에 대한 답변으로 구성된 전개 방식은 마치 선배 개발자가 후배 개발자에게 친절히 알려주고 있다는 느낌을 받았습니다.
홍종완_우아한형제들

이 책은 마치 게임 튜토리얼처럼 실습 위주로 되어 있고 하나씩 따라가다 보면 어렵지 않게 나만의 서비스를 직접 만들어 볼 수 있습니다. 깃허브에 이미 구현된 코드와 알아야 하는 개념들이 예시와 함께 자세히 설명되어 있어 글로만 설명하고 있는 블로그보다 훨씬 이해하기 쉽고 재미있게 따라 할 수 있습니다.
백지한_쿠팡

스프링을 다루는 책들은 이미 많습니다. 하지만 만드는 재미를 주는 책은 거의 없습니다. 이 책은 저자와 함께 하나의 프로젝트를 같이 만들어 나갑니다. 웹 서비스에 꼭 들어가야 하는 주요기능들을 스프링 부트를 통해 구현합니다. 동시에 초심자들이 꼭 알아야 하는 스프링의 핵심내용들을 쉽게 설명하고 있어 스프링에 대한 기본기를 쌓을 수 있습니다. 스프링이 접근하기 어렵고 딱딱하다고 느껴 입문하기 망설이는 분들이 계신다면 이 책을 차근차근 따라 해보며 만드는 재미를 얻을 수 있을 것입니다.
최유성_우아한형제들
01장  인텔리제이로 스프링 부트 시작하기
_1.1 인텔리제이 소개
_1.2 인텔리제이 설치하기
_1.3 인텔리제이 커뮤니티에서 프로젝트 생성하기
_1.4 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기
_1.5 인텔리제이에서 깃과 깃허브 사용하기


02장  스프링 부트에서 테스트 코드를 작성하자
_2.1 테스트 코드 소개
_2.2 Hello Controller 테스트 코드 작성하기
_2.3 롬복 소개 및 설치하기
_2.4 Hello Controller 코드를 롬복으로 전환하기


03장  스프링 부트에서 JPA로 데이터베이스 다뤄보자
_3.1 JPA 소개
__Spring Data JPA
__실무에서 JPA
__요구사항 분석
_3.2 프로젝트에 Spring Data Jpa 적용하기
_3.3 Spring Data JPA 테스트 코드 작성하기
_3.4 등록/수정/조회 API 만들기
_3.5 JPA Auditing으로 생성시간/수정시간 자동화하기
__LocalDate 사용
__JPA Auditing 테스트 코드 작성하기


04장  머스테치로 화면 구성하기
_4.1 서버 템플릿 엔진과 머스테치 소개
__머스테치란
__머스테치 플러그인 설치
_4.2 기본 페이지 만들기
_4.3 게시글 등록 화면 만들기
_4.4 전체 조회 화면 만들기
_4.5 게시글 수정, 삭제 화면 만들기
__게시글 수정
__게시글 삭제


05장  스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기
_5.1 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트
_5.2 구글 서비스 등록
_5.3 구글 로그인 연동하기
__스프링 시큐리티 설정
__로그인 테스트
_5.4 어노테이션 기반으로 개선하기
_5.5 세션 저장소로 데이터베이스 사용하기
_5.6 네이버 로그인
__네이버 API 등록
__스프링 시큐리티 설정 등록
_5.7 기존 테스트에 시큐리티 적용하기


06장  AWS 서버 환경을 만들어보자 - AWS EC2
_6.1 AWS 회원 가입
_6.2 EC2 인스턴스 생성하기
_6.3 EC2 서버에 접속하기
_6.4 아마존 리눅스 1 서버 생성 시 꼭 해야 할 설정들


07장  AWS에 데이터베이스 환경을 만들어보자 - AWS RDS
_7.1 RDS 인스턴스 생성하기
_7.2 RDS 운영환경에 맞는 파라미터 설정하기
_7.3 내 PC에서 RDS에서 접속해 보기
__Database 플러그인 설치
_7.4 EC2에서 RDS에서 접근 확인


08장  EC2 서버에 프로젝트를 배포해 보자
_8.1 EC2에 프로젝트 Clone 받기
_8.2 배포 스크립트 만들기
_8.3 외부 Security 파일 등록하기
_8.4 스프링 부트 프로젝트로 RDS 접근하기
__RDS 테이블 생성
__프로젝트 설정
__EC2 설정
_8.5 EC2에서 소셜 로그인하기


09장  코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화
_9.1 CI & CD 소개
_9.2 Travis CI 연동하기
__Travis CI 웹 서비스 설정
__프로젝트 설정
_9.3 Travis CI와 AWS S3 연동하기
__AWS Key 발급
__Travis CI에 키 등록
__S3 버킷 생성
__.travis.yml 추가
_9.4 Travis CI와 AWS S3, CodeDeploy 연동하기
__EC2에 IAM 역할 추가하기
__CodeDeploy 에이전트 설치
__CodeDeploy를 위한 권한 생성
__CodeDeploy 생성
__Travis CI, S3, CodeDeploy 연동
_9.5 배포 자동화 구성
__deploy.sh 파일 추가
__.travis.yml 파일 수정
__appspec.yml 파일 수정
__실제 배포 과정 체험
_9.6 CodeDeploy 로그 확인


10장  24시간 365일 중단 없는 서비스를 만들자
_10.1 무중단 배포 소개
_10.2 엔진엑스 설치와 스프링 부트 연동하기
_10.3 무중단 배포 스크립트 만들기
__profile API 추가
__real1, real2 profile 생성
__엔진엑스 설정 수정
__배포 스크립트들 작성
_10.4 무중단 배포 테스트


11장  1인 개발 시 도움이 될 도구와 조언들
_11.1 추천 도구 소개
__댓글
__외부 서비스 연동
__방문자 분석
__CDN
__이메일 마케팅
_11.2 1인 개발 팁
_11.3 마무리


찾아보기
이동욱
SI, 포털, 스타트업에서 자바와 스프링 기반으로 백엔드 개발을 해왔습니다. 이상한 모임, 우아한형제들 테크 세미나, 젯브레인 데이 등에서 발표를, 마이크로소프트웨어에 기고를 하기도 합니다.
총 누적 조회 200만 이상인 블로그(기억보단 기록을 - jojoldu.tistory.com/)에 배운 것을 정리하고 있습니다.