스프링 부트 개발자 온보딩 가이드 : 스프링 부트로 시작하는 첫 실무 프로젝트 - 온보딩 가이드 2

스프링 부트 개발자 온보딩 가이드 : 스프링 부트로 시작하는 첫 실무 프로젝트 - 온보딩 가이드 2

$30.00
저자

박상현

저자:박상현
글로벌SaaS,무기시스템SW,캐리어급통신장비SW를개발해온소프트웨어엔지니어이며,현재는B2BSaaS기업의CTO로재직중입니다.대표저서로는『이것이자료구조+알고리즘이다withC』,『이것이C#이다(3판)』등이있습니다.

목차


Part1.스프링부트온보딩가이드북안내
Chapter01온보딩가이드의목적과활용법
1-1가이드의목적
온보딩가이드의대상과범위
알고있으면좋은지식
필요한개발환경
1.2개발환경온보딩
WSL2를사용하는이유
WSL2설치하기
도커데스크탑설치하기
IntelliJIDEA설치하기
JDK21설치하기
Gradle설치하기
Chapter02스프링부트란무엇인가요?
2.1스프링부트소개
스프링부트의쓰임새
스프링부트의내부구조
스프링부트소개
스프링부트이해에필요한주요개념
[고민상담소]자바개발자가배워야할프레임워크

Part2.스프링부트기능실습
Chapter03인메모리기반의To-Do리스트RESTAPI서버만들기
3.1프로젝트초기화
WSL2터미널실행
프로젝트스캐폴드생성및다운로드
IntelliJIDEA프로젝트초기화
애플리케이션패키지및소스코드파일생성하기
build.gradle수정
3.2인메모리To-Do리스트API서버구현
To-Do리스트구성요소
빌드
유닛테스트
TestControllerTests:TodoController유닛테스트
실행및Swagger-UI를이용한API테스트
[고민상담소]테스트코드의필요성

Chapter04JPA기반의To-Do리스트RESTAPI서버개발
4.1JPA이해하기
JPA의개념과역할
JPA와Hibernate의관계
JPA의주요애노테이션
스프링데이터JPA
DTO패턴이해하기
4.2프로젝트초기화
프로젝트복사
도커를이용한MySQL설치및설정
테이블스키마
settings.gradle의프로젝트명변경
build.gradle에JPA및MySQLJDBC드라이버의존성추가
application.properties수정
4.3JPA기반의To-Do리스트API서버구현
메인클래스수정하기
엔티티,DTO,매퍼작성
리포지토리수정
서비스레이어수정
REST컨트롤러수정
API문서화를위한Swagger설정
TodoControllerTests수정
TodoServiceTests수정
Test실행
실행및Swagger-UI를이용한API테스트
[고민상담소]스프링부트의데이터베이스연동

Chapter05고급JPA기반의마이크로블로그RESTAPI서버개발
5.1프로젝트초기화
프로젝트스캐폴드생성및다운로드
IntelliJIDEA프로젝트초기화
패키지및소스코드파일생성
도커를이용한MySQL설치및설정
build.gradle수정
application.properties수정
5.2MinilogAPI서버구현
스프링전역에러처리기작성하기
엔티티,DTO,매퍼구현
entity,dto,util패키지생성하기
DTO클래스작성하기
리포지토리레이어구현하기
서비스레이어구현하기
컨트롤러레이어구현하기
API문서화를위한Swagger설정
[고민상담소]JPA코드구조

Chapter06Minilog에인증기능추가하기
6.1JWT인증이해하기
주요인증기법
왜JWT인가?
JWT의구조와메커니즘
JWT인증순서
스프링시큐리티를이용한JWT인증기능통합
6.2프로젝트초기화
프로젝트복사
build.gradle에스프링시큐리티의존성추가
application.properties수정
6.3Minilog에인증기능더하기
JWT생성및검증구현하기
GrantedAuthority를상속하는MinilogGrantedAuthority정의하기
UserDetails및UserDetailsService를각각상속하여MinilogUserDetails와MinilogUserDetailsService정의하기
JWT인증처리구현하기
엔티티,DTO수정하기
서비스레이어수정하기
컨트롤러레이어수정하기
빌드
6.4실행및Swagger-UI를이용한API테스트
minlog-jpa-with-auth실행
신규사용자추가
Minilog로그인및SwaggerUI인증
기타기능테스트
[고민상담소]스프링시큐리티의소셜로그인

Chapter07GraphQL기반마이크로블로그API서버개발
7.1GraphQL이해하기
GraphQL이란?
GraphQL의핵심개념
GraphQL의주요구성요소
GraphQL동작구조
GraphQL스키마
에러처리
7.2프로젝트초기화
프로젝트복사
build.gradle에graphql의존성추가
application.properties수정
7.3Minilog에GraphQL지원추가하기
MinilogGraphQL스키마정의하기
전역GraphQL예외처리
SecurityConfig수정
응답타입
입력타입
GraphQL컨트롤러추가하기
빌드
7.4실행및GraphiQL/Swaggger-UI를이용한API테스트
minlog-graphql실행
신규사용자추가
Minilog로그인및SwaggerUI인증
GraphQL테스트
추가테스트
[고민상담소]GrapQL도입시점

Chapter08도커를이용한애플리케이션패키징및배포
8.1Docker의기본개념과설치
Docker란무엇인가?
Docker의주요구성요소
8.2Dockerfile작성및이미지실행테스트
application.properties의분리
Dockerfile작성
개발(로컬)환경에서컨테이너실행및테스트
8.3AWS에Minilog-GraphQL배포하기
AWS액세스키및비밀액세스키생성방법
WSL2에AWSCLI설치하기
AmazonRDS,ECR,ECS이해하기
AmazonRDSMySQL인스턴스설정
기본보안그룹인바운드속성편집
application-prod.properties수정
AmazonECR에Docker이미지등록
AmazonECS클러스터에Minilog-GraphQL앱배포하기
8.4Swaggger-UI/GraphiQL를이용한API테스트
Swagger-UI를이용한API테스트
GraphiQL를이용한GraphQL테스트
[고민상담소]AWS,Azure,GCP

출판사 서평


실무감각을키우는가장현실적인백엔드온보딩학습서!
대부분의개발입문서는기능설명에치중되어있어실제프로젝트를어떻게시작하고운영하는지는배우기어렵습니다.이책은그런고민을해결하기위해기획된스프링부트실무온보딩가이드입니다.
저자는글로벌SaaS기업에서CTO로활동하면서작성해온실제온보딩문서경험을바탕으로초보자가막히는지점을정확히짚어주고,실무에서바로쓰는기술스택을단계별로전달합니다.또한모든기능은단순한예시가아니라하나의프로젝트로이어지는흐름에서배우도록설계되어있어,학습자는책을끝까지따라가기만해도서비스하나를기획하고개발하고배포하는전과정을경험하게됩니다.
스프링부트개발을처음시작하는학습자뿐아니라,실무온보딩문서가절실한팀,새프로젝트를준비하는개발자에게도강력추천합니다.

이책을꼭읽어야하는독자
스프링부트를시작하려고하지만,무엇부터어떻게공부해야할지막막한입문자
입사후바로실무API/서버개발을맡게된신입백엔드개발자
실무환경(WSL2,Docker,MySQL,JPA,Swagger등)을그대로경험해보고싶은학습자
RESTAPI와더불어GraphQLAPI까지다뤄보고싶은개발자
이론중심책보다따라만들며배우는실무흐름을선호하는주니어개발자

이책의구성과강점
1.개발환경준비
개발현장에서실제로사용하는WSL2·Docker·IntelliJ기반환경을그대로경험하며,회사에서바로적용가능한개발환경구축능력을갖출수있습니다.
2.스프링부트기본기이해
IoC/DI/빈/AOP,자동구성,스타터등실제개발자가매일다루는핵심원리를이론은최소,실습은최대로빠르게익힐수있습니다.
3.인메모리RESTAPI구축
가장작은기능부터실제API형태로만들며,스프링부트애플리케이션의전체구조와흐름을단숨에이해할수있습니다.
4.JPA+MySQL개발
Docker+JPA+Testcontainers를연동해실무에서요구하는데이터접근구조와테스트방법을그대로재현합니다.
5.고급JPA마이크로블로그구현
복잡한도메인모델링과전역예외처리방식까지다루며,주니어개발자가어려워하는실무형API설계에한단계다가갑니다.
6.JWT기반인증적용
JWT발급·검증과SpringSecurity설정을직접구현해,실제서비스수준의인증·인가흐름을이해하고적용할수있습니다.
7.GraphQLAPI서버개발
REST만다루는책과달리GraphQL까지직접구현해,현업에서차별화된API개발역량을갖출수있습니다.
8.Docker&AWS배포
Docker이미지빌드부터ECR/ECS배포까지완주하며,개발→테스트→배포의전과정을스스로완료하며경험을쌓습니다.접기