스프링 부트 3 백엔드 개발자 되기 : 자바 편

JPA+OAuth2+JWT+AWS와 배우는 스프링 부트 3 Java 백엔드 입문자를 위한 풀 패키지
$34.56
SKU
9791191905717
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Tue 05/21 - Mon 05/27 (주문일로부 10-14 영업일)

Express Shipping estimated by Thu 05/16 - Mon 05/20 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/03/27
Pages/Weight/Size 183*235*21mm
ISBN 9791191905717
Categories IT 모바일 > 프로그래밍 언어
Description
자바 백엔드 개발자가 되고 싶다면
자바 언어 입문 그다음에 꼭 보세요


실력을 갖춘 개발자로 성장하려면 시작이 중요하다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔드 개발의 필수 지식을 학습 로드맵 중심으로 설명한다. 이어서 스프링 부트 3 개발에 꼭 필요한 4대장인 JPA ORM, OAuth2 인증, AWS 배포, CI/CD를 최신 트렌드에 맞게 그리고 실무에 유용하게 알려준다. 모든 장 끝에는 연습문제가 수록되어 있어 배운 내용을 점검할 수 있다. 이번 2판에는 스프링 부트 프로젝트 진행을 위해 꼭 알아야 하는 SQL 기초와 실습, 스프링 시큐리티 업데이트, 블로그 댓글 기능 등을 추가하여 더욱 좋은 책으로 만들었다. 이 책이 여러분의 백엔드 개발자 여정에 든든한 나침반이 되어 줄 것이다.
Contents
[레벨 1 │ 스프링 부트로 백엔드 입문하기]

00장 개발 환경 구축하기
_0.0 그림으로 이해하는 프로젝트
_0.1 인텔리제이 설치 및 설정
__윈도우에 인텔리제이 설치하기
__macOS에 인텔리제이 설치하기
__프로젝트 생성하기
_0.2 스프링 부트 3 프로젝트 만들기
_0.3 포스트맨 설치하기
_0.4 예제 코드 저장소 위치와 저자에게 깃허브 이슈로 질문하기
_0.5 개발 편의와 속도를 확 올려줄 꿀 단축키

01장 자바 백엔드 개발자가 알아두면 좋은 지식
_1.1 서버와 클라이언트
__클라이언트란?
__서버란?
_1.2 데이터베이스
__RDB란?
__SQL이란?
__NoSQL이란?
_1.3 아이피와 포트
_1.4 라이브러리와 프레임워크
__라이브러리란?
__프레임워크란?
_1.5 백엔드 개발자의 업무
_1.6 백엔드 프로그래밍 언어
_1.7 자바 애너테이션

02장 스프링 부트 3 시작하기
_2.0 그림으로 이해하는 프로젝트
_2.1 스프링과 스프링 부트
__스프링의 등장
__스프링을 더 쉽게 만들어주는 스프링 부트
_2.2 스프링 콘셉트 공부하기
__제어의 역전과 의존성 주입
__빈과 스프링 컨테이너
__관점 지향 프로그래밍
__이식 가능한 서비스 추상화
_2.3 스프링 부트 3 둘러보기
__첫 번째 스프링 부트 3 예제 만들기
__스프링 부트 스타터 살펴보기
__자동 구성
__스프링 부트 3와 자바 버전
_2.4 스프링 부트 3 코드 이해하기
__@SpringBootApplication 이해하기
__테스트 컨트롤러 살펴보기

__학습 마무리
__연습문제

03장 스프링 부트 3 구조 이해하기
_3.0 그림으로 이해하는 프로젝트
_3.1 스프링 부트 3 구조 살펴보기
__카페와 빵집으로 이해하는 계층
__스프링 부트 프로젝트 디렉터리 구성하며 살펴보기
__main 디렉터리 구성하기
_3.2 스프링 부트 3 프로젝트 발전시키기
__build.gradle에 의존성 추가하기
__프레젠테이션, 서비스, 퍼시스턴스 계층 만들기
__임포트 오류 처리하기
__작동 확인하기
_3.3 스프링 부트 요청-응답 과정 한 방에 이해하기

__학습 마무리
__연습문제

04장 스프링 부트 3와 테스트
_4.1 테스트 코드 개념 익히기
__테스트 코드란?
_4.2 스프링 부트 3와 테스트
__JUnit이란?
_4.3 제대로 테스트 코드 작성해보기
__테스트 코드 패턴 연습하기

__학습 마무리
__연습문제

05장 데이터베이스 조작이 편해지는 ORM
_5.0 그림으로 이해하는 프로젝트
_5.1 데이터베이스란?
__데이터베이스 관리자, DBMS
__SQL 문으로 데이터베이스 조작하는 연습하기
_5.2 ORM이란?
_5.3 JPA와 하이버네이트?
__엔티티 매니저란?
__영속성 컨텍스트란?
__엔티티의 상태
_5.4 스프링 데이터와 스프링 데이터 JPA
__스프링 데이터 JPA란?
__스프링 데이터 JPA에서 제공하는 메서드 사용해보기
_5.5 예제 코드 살펴보기

__학습 마무리
__연습문제

[레벨 2 │ 스프링 부트 3로 블로그 제대로 만들기]

[프로젝트] 06장 블로그 기획하고 API 만들기
_6.0 그림으로 이해하는 프로젝트
_6.1 사전 지식 : API와 REST API
__식당으로 알아보는 API
__웹의 장점을 최대한 활용하는 REST API
6.2 블로그 개발을 위한 엔티티 구성하기
__프로젝트 준비하기
__엔티티 구성하기
__리포지터리 만들기
6.3 블로그 글 작성을 위한 API 구현하기
__서비스 메서드 코드 작성하기
__컨트롤러 메서드 코드 작성하기
__API 실행 테스트하기
__반복 작업을 줄여 줄 테스트 코드 작성하기
6.4 블로그 글 목록 조회를 위한 API 구현하기
__서비스 메서드 코드 작성하기
__컨트롤러 메서드 코드 작성하기
__실행 테스트하기
__테스트 코드 작성하기
6.5 블로그 글 조회 API 구현하기
__서비스 메서드 코드 작성하기
__컨트롤러 메서드 코드 작성하기
__테스트 코드 작성하기
6.6 블로그 글 삭제 API 구현하기
__서비스 메서드 코드 작성하기
__컨트롤러 메서드 코드 작성하기
__실행 테스트하기
__테스트 코드 작성하기
6.7 블로그 글 수정 API 구현하기
__서비스 메서드 코드 작성하기
__컨트롤러 메서드 코드 작성하기
__실행 테스트하기
__테스트 코드 작성하기

__학습 마무리
__연습문제

[프로젝트] 07장 블로그 화면 구성하기
_7.1 사전 지식 : 타임리프
__템플릿 엔진 개념 잡기
__타임리프 사용을 위한 의존성 추가하기
__타임리프 문법 익히기용 컨트롤러 작성하기
__뷰 작성하기
__뷰 테스트하기
_7.2 블로그 글 목록 뷰 구현하기
__컨트롤러 메서드 작성하기
__HTML 뷰 만들고 테스트하기
_7.3 블로그 글 뷰 구현하기
__엔티티에 생성, 수정 시간 추가하기
__컨트롤러 메서드 작성하기
__HTML 뷰 만들기
__실행 테스트하기
_7.4 삭제 기능 추가하기
__삭제 기능 코드 작성하기
__실행 테스트하기
_7.5 수정/생성 기능 추가하기
__수정/생성 뷰 컨트롤러 작성하기
__수정/생성 뷰 만들기
__실행 테스트하기
_7.6 생성 기능 마무리하기
__생성 기능 작성하기
__실행 테스트하기

__학습 마무리
__연습문제

[프로젝트] 08장 스프링 시큐리티로 로그인/로그아웃, 회원 가입 구현하기
_8.0 그림으로 이해하는 프로젝트
_8.1 사전 지식 : 스프링 시큐리티
_8.2 회원 도메인 만들기
__의존성 추가하기
__엔티티 만들기
__리포지터리 만들기
__서비스 메서드 코드 작성하기
_8.3 시큐리티 설정하기
_8.4 회원 가입 구현하기
__서비스 메서드 코드 작성하기
__컨트롤러 작성하기
_8.5 회원 가입, 로그인 뷰 작성하기
__뷰 컨트롤러 구현하기
__뷰 작성하기
_8.6 로그아웃 구현하기
__로그아웃 메서드 추가하기
__로그아웃 뷰 추가하기
_8.7 실행 테스트하기
__테스트를 위한 환경 변수 추가하기
__로그인, 회원 가입 실행 테스트하기
__로그아웃 실행 테스트하기

__학습 마무리
__연습문제

[프로젝트] 09장 JWT로 로그인/로그아웃 구현하기
_9.1 사전 지식 : 토큰 기반 인증
__토큰 기반 인증이란?
__JWT
_9.2 JWT 서비스 구현하기
__의존성 추가하기
__토큰 제공자 추가하기
__리프레시 토큰 도메인 구현하기
__토큰 필터 구현하기
_9.3 토큰 API 구현하기
__토큰 서비스 추가하기
__컨트롤러 추가하기

__학습 마무리
__연습문제

[프로젝트] 10장 OAuth2로 로그인/로그아웃 구현하기
_10.1 사전 지식 : OAuth
__OAuth란?
__권한 부여 코드 승인 타입이란?
__쿠키란?
_10.2 토큰 발급받기
_10.3 스프링 시큐리티로 OAuth2를 구현하고 적용하기
__의존성 추가하기
__쿠키 관리 클래스 구현하기
__OAuth2 서비스 구현하기
__OAuth2 설정 파일 작성하기
__글에 글쓴이 추가하기
__OAuth 뷰 구성하기
__글 수정, 삭제, 글쓴이 확인 로직 추가하기
_10.4 OAuth2 실행 테스트하기
_10.5 테스트 코드 실패 해결하고 코드 수정하기

__학습 마무리
__연습문제

[레벨 3 │ AWS와 깃허브 액션으로 배포/유지보수 편안하게 하기]

[프로젝트] 11장 AWS에 프로젝트 배포하기
_11.1 사전 지식 : AWS
__AWS란?
__AWS 서비스로 우리의 서비스 배포하기
__설정이 간편한 일래스틱 빈스토크
_11.2 AWS 계정 생성하기
_11.3 일래스틱 빈스토크로 서버 구축하기
__일래스틱 빈스토크 서비스 생성하기
__일래스틱 빈스토크에서 RDS 생성하기
__로컬에서 RDS 연결하기
_11.4 일래스틱 빈스토크에 우리의 서비스 배포하기
__애플리케이션 배포하기
__OAuth 서비스에 승인된 URI 추가하기

__학습 마무리
__연습문제

[프로젝트] 12장 CI/CD 도입하기
_12.1 사전 지식 : CI/CD
__CI/CD란?
__깃과 깃허브
_12.2 깃허브 액션 사용하기
__깃허브 리포지터리 생성하고 코드 푸시하기
__깃허브 액션 스크립트 작성하기, CI
__깃허브 액션 스크립트 작성하기, CD

__학습 마무리
__연습문제

부록 A 값 검증 가이드
부록 B 예외 처리 가이드
부록 C 디버깅 가이드
부록 D 댓글 기능 추가 가이드
Author
신선영
리멤버 백엔드 개발자. 하드 스킬과 소프트 스킬 역량을 강화하고자 부단히 공부하고 글로 남기는 백엔드 개발자. 평일 기준 하루 평균 600뷰의 기술 블로그를 운영하고, 모교 학생을 대상으로 정기 세미나와 멘토링을 진행한다. 구독자가 1,000명 정도 되는 사이드 프로젝트를 기획하고 개발하고 운영한 경험이 있다.
리멤버 백엔드 개발자. 하드 스킬과 소프트 스킬 역량을 강화하고자 부단히 공부하고 글로 남기는 백엔드 개발자. 평일 기준 하루 평균 600뷰의 기술 블로그를 운영하고, 모교 학생을 대상으로 정기 세미나와 멘토링을 진행한다. 구독자가 1,000명 정도 되는 사이드 프로젝트를 기획하고 개발하고 운영한 경험이 있다.