[레벨 1 | 스프링 부트로 백엔드 입문하기]
00장 개발 환경 구축하기
_0.1 인텔리제이 설치 및 설정
__0.1.1 윈도우에 인텔리제이 설치하기
__0.1.2 macOS에 인텔리제이 설치하기
__0.1.3 프로젝트 생성하기
_0.2 스프링 부트 3 프로젝트 만들기
_0.3 포스트맨 설치하기
_0.4 예제 코드 저장소 위치
_0.5 개발 편의와 속도를 확 올려줄 꿀 단축키
01장 자바 백엔드 개발자가 알아두면 좋은 지식
_1.1 서버와 클라이언트
_1.2 데이터베이스
_1.3 아이피와 포트
_1.4 라이브러리와 프레임워크
_1.5 백엔드 개발자의 업무
_1.6 백엔드 프로그래밍 언어
_1.7 자바 애너테이션
02장 스프링 부트 3 시작하기
_2.1 스프링과 스프링 부트 3
__2.1.1 스프링의 등장
__2.1.2 스프링을 더 쉽게 만들어 주는 스프링 부트
_2.2 스프링 콘셉트 공부하기
__2.2.1 제어의 역전과 의존성 주입
__2.2.2 빈과 스프링 컨테이너
__2.2.3 관점 지향 프로그래밍
__2.2.4 이식 가능한 서비스 추상화
_2.3 스프링 부트 3 둘러보기
__2.3.1 첫 번째 스프링 부트 3 예제 만들기
__2.3.2 스프링 부트 스타터 살펴보기
__2.3.3 자동 구성
__2.3.4 스프링 부트 3과 자바 버전
_2.4 스프링 부트 3 코드 이해하기
__2.4.1 @SpringBootApplication 이해하기
__2.4.2 테스트 컨트롤러 살펴보기
_학습 마무리
_연습문제
03장 스프링 부트 3 구조 이해하기
_3.1 스프링 부트 3 구조 살펴보기
__3.1.1 카페와 빵집으로 이해하는 계층
__3.1.2 스프링 부트 프로젝트 디렉터리 구성하며 살펴보기
__3.1.3 main 디렉터리 구성하기
_3.2 스프링 부트 3 프로젝트 발전시키기
__3.2.1 build.gradle에 의존성 추가하기
__3.2.2 프레젠테이션, 서비스, 퍼시스턴스 계층 만들기
__3.2.5 임포트 오류 처리하기
__3.2.6 작동 확인하기
_3.3 스프링 부트 요청-응답 과정 한 방에 이해하기
_학습 마무리
_연습문제
04장 스프링 부트 3와 테스트
_4.1 테스트 코드 개념 익히기
__4.1.1 테스트 코드란?
_4.2 스프링 부트 3와 테스트
__4.2.1 JUnit이란?
_4.3 제대로 테스트 코드 작성해 보기
_학습 마무리
_연습문제
05장 데이터베이스 조작이 편해지는 ORM
_5.1 데이터베이스란?
__5.1.1 데이터베이스 관리자, DBMS
_5.2 ORM이란?
_5.3 JPA와 하이버네이트?
__5.3.1 엔티티 매니저란?
__5.3.2 영속성 컨텍스트란?
__5.3.3 엔티티의 상태
_5.4 스프링 데이터와 스프링 데이터 JPA
__5.4.1 스프링 데이터 JPA란?
__5.4.2 스프링 데이터 JPA에서 제공하는 메서드 사용해보기
_5.5 예제 코드 살펴보기
_학습 마무리
_연습문제
[레벨 2 | 스프링 부트 3로 블로그 제대로 만들기]
06장 [Project] 블로그 기획하고 API 만들기
_6.1 사전 지식 : API와 REST API
__6.1.1 식당으로 알아보는 API
__6.1.2 웹의 장점을 최대한 활용하는 REST API
_6.2 블로그 개발을 위한 엔티티 구성하기
__6.2.1 프로젝트 준비하기
__6.2.2 엔티티 구성하기
__6.2.3 리포지토리 만들기
_6.3 블로그 글 작성을 위한 API 구현하기
__6.3.1 서비스 메서드 코드 작성하기
__6.3.2 컨트롤러 메서드 코드 작성하기
__6.3.3 API 실행 테스트하기
__6.3.4 반복 작업을 줄여 줄 테스트 코드 작성하기
_6.4 블로그 글 목록 조회를 위한 API 구현하기
__6.4.1 서비스 메서드 코드 작성하기
__6.4.2 컨트롤러 메서드 코드 작성하기
__6.4.3 실행 테스트하기
__6.4.4 테스트 코드 작성하기
_6.5 블로그 글 조회 API 구현하기
__6.5.1 서비스 메서드 코드 작성하기
__6.5.2 컨트롤러 메서드 코드 작성하기
__6.5.3 테스트 코드 작성하기 __
_6.6 블로그 글 삭제 API 구현하기
__6.6.1 서비스 메서드 코드 작성하기
__6.6.2 컨트롤러 메서드 코드 작성하기
__6.6.3 실행 테스트하기
__6.6.4 테스트 코드 작성하기
_6.7 블로그 글 수정 API 구현하기
__6.7.1 서비스 메서드 코드 작성하기
__6.7.2 컨트롤러 메서드 코드 작성하기
__6.7.3 실행 테스트하기
__6.7.4 테스트 코드 작성하기
_학습 마무리
_연습문제
07장 [Project] 블로그 화면 구성하기
_7.1 사전 지식 : 타임리프
__7.1.1 템플릿 엔진 개념 잡기
__7.1.2 타임리프 사용을 위한 의존성 추가하기
__7.1.3 타임리프 문법 익히기용 컨트롤러 작성하기
__7.1.4 뷰 작성하기
__7.1.5 뷰 테스트하기
_7.2 블로그 글 목록 뷰 구현하기
__7.2.1 컨트롤러 메서드 작성하기
__7.2.2 HTML 뷰 만들고 테스트하기
_7.3 블로그 글 뷰 구현하기
__7.3.1 엔티티에 생성, 수정 시간 추가하기
__7.3.2 컨트롤러 메서드 작성하기
__7.3.3 HTML 뷰 만들기
__7.3.4 실행 테스트하기
_7.4 삭제 기능 추가하기
__7.4.1 삭제 기능 코드 작성하기
__7.4.2 실행 테스트하기
_7.5 수정/생성 기능 추가하기
__7.5.1 수정/생성 뷰 컨트롤러 작성하기
__7.5.2 수정/생성 뷰 만들기
__7.5.3 실행 테스트하기
_7.6 생성 기능 마무리하기
__7.7.1 생성 기능 작성하기
__7.6.2 실행 테스트하기
_학습 마무리
_연습문제
08장 [Project] 스프링 시큐리티로 로그인/로그아웃, 회원 가입 구현하기
_8.1 사전 지식 : 스프링 시큐리티
_8.2 회원 도메인 만들기
__8.2.1 의존성 추가하기
__8.2.2 엔티티 만들기
__8.2.3 리포지터리 만들기
__8.2.4 서비스 메서드 코드 작성하기
_8.3 시큐리티 설정하기
_8.4 회원 가입 구현하기
__8.4.1 서비스 메서드 코드 작성하기
__8.4.2 컨트롤러 작성하기
_8.5 회원 가입, 로그인 뷰 작성하기
__8.5.1 뷰 컨트롤러 구현하기
__8.5.2 뷰 작성하기
_8.6 로그아웃 구현하기
__8.6.1 로그아웃 메서드 추가하기
__8.6.2 로그아웃 뷰 추가
_8.7 실행 테스트하기
__8.7.1 테스트를 위한 환경 변수 추가하기
__8.7.2 로그인, 회원 가입 실행 테스트하기
__8.7.3 로그아웃 실행 테스트하기
_학습 마무리
_연습문제
09장 [Project] JWT로 로그인/로그아웃 구현하기
_9.1 사전 지식 : 토큰 기반 인증
__9.1.1 토큰 기반 인증이란?
__9.1.2 JWT
_9.2 JWT 서비스 구현하기
__9.2.1 의존성 추가하기
__9.2.2 토큰 제공자 추가하기
__9.2.3 리프레시 토큰 도메인 구현하기
__9.2.4 토큰 필터 구현하기
_9.3 토큰 API 구현하기
__9.3.1 토큰 서비스 추가하기
__9.3.2 컨트롤러 추가하기
_학습 마무리
_연습문제
10장 [Project] OAuth2로 로그인/로그아웃 구현하기
_10.1 사전 지식 : OAuth
__10.1.1 OAuth이란?
__10.1.2 권한 부여 코드 승인 타입이란?
__10.1.3 쿠키?
_10.2 토큰 발급받기
_10.3 스프링 시큐리티로 OAuth2 구현하고 적용하기
__10.3.1 의존성 추가하기
__10.3.2 쿠키 관리 클래스 구현하기
__10.3.3 OAuth2 서비스 구현하기
__10.3.4 OAuth2 설정 파일 작성하기
__10.3.5 글에 글쓴이 추가하기
__10.3.6 OAuth 뷰 구성하기
__10.3.7 글 수정, 삭제 본인 확인 로직 추가하기
_10.4 OAuth2 실행 테스트하기
_10.5 테스트 코드 실패 해결하고 코드 수정하기
_학습 마무리
_연습문제
[레벨 3 | AWS와 깃허브 액션으로 배포/유지보수 편안하게 하기]
11장 [Project] AWS에 프로젝트 배포하기
_11.1 사전 지식 : AWS
__11.1.1 AWS란?
__11.1.2 AWS 서비스로 우리의 서비스 배포하기
__11.1.3 설정이 간편한 일래스틱 빈스토크
_11.2 AWS 계정 생성하기
_11.3 일래스틱 빈스토크로 서버 구축하기
__11.3.1 일래스틱 빈스토크 서비스 생성
__11.2.2 일래스틱 빈스토크에서 RDS 생성
__11.2.3 로컬에서 RDS 연결
_11.4 일래스틱 빈스토크에 우리의 서비스 배포하기
__11.3.1 애플리케이션 배포하기
__11.3.2 OAuth 서비스에 승인된 URI 추가
_학습 마무리
_연습문제
12장 [Project] CI/CD 도입하기
_12.1 사전 지식 : CI/CD
__12.1.1 CI/CD란?
__12.1.2 깃과 깃허브
_12.2 깃허브 액션 사용하기
__12.2.1 깃허브 리포지터리 생성하고 코드 푸시하기
__12.2.2 깃허브 액션 스크립트 작성하기, CI
__12.2.3 깃허브 액션 스크립트 작성하기, CD
_학습 마무리
_연습문제
부록 A 값 검증 가이드
부록 B 예외 처리 가이드