스프링 부트 개발자 온보딩 가이드: 스프링 부트로 시작하는 첫 실무 프로젝트 (현직 개발자가 알려 주는 개발자 실무 온보딩 노하우)

스프링 부트 개발자 온보딩 가이드: 스프링 부트로 시작하는 첫 실무 프로젝트 (현직 개발자가 알려 주는 개발자 실무 온보딩 노하우)

$30.00
Description
팀의 온보딩 문서처럼 체계적으로,
실무 선배처럼 정확하고 현실적으로,
이 책이 당신의 첫 스프링 부트 가이드가 됩니다.
입문자라서 기본이 부족하다고 느끼나요? 신입이라서 실무의 흐름이 막연하게 느껴지나요? 새로운 프로젝트를 맡았는데 어디서부터 시작해야 할지 고민되나요? 개발 환경 설정, API 설계, 데이터베이스 연동, 인증 구현, 배포까지… 무엇 하나 익숙하지 않다면 금세 부담으로 느껴질 수 있습니다. 하지만 걱정하지 마세요. 이제 당신 곁에는 든든한 ‘온보딩 가이드’가 함께합니다.
이 책은 개발 환경 구축부터 배포하는 과정까지 실제 개발 현장에서 사용하는 방식 그대로 안내합니다. 단순히 기능을 설명하는 데 그치지 않고, 직접 따라하며 자연스럽게 ‘왜 이렇게 구성해야 하는지’, ‘실무에서는 어떻게 처리하는지’를 이해할 수 있도록 구성했습니다. 이 책을 완주하고 나면 스프링 부트로 하나의 서비스를 처음부터 끝까지 스스로 만들 수 있는 실무 감각을 얻게 될 것입니다.
저자

박상현

글로벌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배포까지완주하며,개발→테스트→배포의전과정을스스로완료하며경험을쌓습니다.