★ 자바 백엔드 개발자가 되고 싶다면
★ 자바 언어 입문 그다음에 꼭 보세요
실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔드 개발의 필수 지식을 학습 로드맵 중심으로 설명합니다. 이어서 스프링 부트 3 개발에 꼭 필요한 4대장인 JPA ORM, OAuth2 인증, AWS 배포, CI/CD를 최신 트렌드에 맞게 그리고 실무에 유용하게 알려줍니다. 모든 장 끝에는 연습문제가 수록되어 있어 배운 내용을 점검할 수 있습니다. ㅌ
〈되기〉 시리즈 소개
〈되기〉 시리즈는 이름 그대로 IT 분야에서 성장하려는 여러분을 위해 준비한 책입니다. 엄선된 IT 기술들을 로드맵과 함께 제시하고, 실무 중심으로 공부할 수 있도록 안내합니다. 여러분이 해당 분야에서 실무자로 빠르게 성장할 수 있도록 지원하겠습니다.
목차
[레벨 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 댓글 기능 추가 가이드