[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
이 강의는 Spring Boot를 이용해서 RESTful Web Services 애플리케이션을 개발하는 과정에 대해 학습하는 강의으로써, REST API 설계에 필요한 기본 지식에 대해 학습할 수 있습니다.


안녕하세요. Spring 개발자를 위한 실전 LLM 서비스 개발 (Part 1) 강의에 새 보충 강의를 추가했습니다. 최근 공개된 TypeSafe AI의 결정 모델 Jev를 Spring Boot 애플리케이션에 연동하는 내용으로, 약 1시간 분량입니다.
왜 추가했나
Section 4에서entity()로 LLM 응답을 Java 객체로 받는 방법과, 모델이 JSON을 코드펜스로 감싸 파싱이 깨지는 실무 함정을 다뤘습니다. 프롬프트로 부탁하든entity()로 자동화하든, 결국 LLM에게 형식을 "부탁"하는 방식이라는 한계는 남습니다.
Jev는 접근이 다릅니다. 글을 쓰지 않고, 정해진 보기 중에서 답을 골라 확률과 함께 돌려줍니다. 형식이 구조적으로 보장되는 셈입니다. 같은 입력을 두 방식으로 처리해 보면 "구조화된 출력"을 설계할 때 무엇을 고려해야 하는지가 훨씬 선명해집니다. 그래서 Section 4의 연장선으로 이 내용을 정리했습니다.무엇을 배우나요
Jev와 System One 모델의 개념: 텍스트 대신 "타입이 정해진 결정"을 돌려준다는 것의 의미
LLM과 Jev의 차이: 서술형 답안 vs 객관식 답안, 각자 잘하는 일과 못하는 일
세 가지 질문 타입(choice · score · noul)과
/v1/systemone요청 구조Spring에서 호출하기:
RestClient로 Jev API를 호출하고, Java enum으로 보기를 만들어 응답을 타입 안전하게 변환비교 시연: 같은 영화 리뷰를
entity()와 Jev로 각각 분석해 속도, 형식 오류, 확신도, 일관성 비교
함께 업데이트된 자료
Section 4 예제 코드(ch4): 리뷰 분석 API 2종(
/api/movies/review/llm,/api/movies/review/jev)과JevClient추가보충 강의 슬라이드와 교안
비교 테스트 스크립트: macOS용
review-compare.sh, Windows용review-compare.ps1
미리 알아두실 점
Jev는 Spring AI의 기능이 아니라 TypeSafe AI가 제공하는 별도 외부 서비스입니다. 강의에서도 Spring AI의
ChatClient가 아니라RestClient로 직접 호출합니다.Jev는 현재 얼리 액세스 단계라서 API 키 발급에 대기가 있을 수 있습니다. 예제 코드는 기본적으로 Jev 기능이 꺼져 있어(
jev.enabled=false), 키가 없어도 기존 실습은 그대로 진행할 수 있습니다. 키가 없는 분은 영상의 시연을 보시며 개념과 코드 위주로 따라오시면 됩니다.출시 초기 서비스라 이후 가격이나 API가 바뀔 수 있습니다. 변경이 생기면 새 소식으로 다시 안내드리겠습니다.
📌 강의 바로가기: https://inf.run/VVpnV
추가된 강의를 들으시면서 궁금한 점이나 실습 중 막히는 부분이 있으면 댓글로 편하게 남겨주세요. 앞으로도 실무에 바로 쓸 수 있는 내용을 꾸준히 보강하겠습니다.
안녕하세요, 이도원입니다.
"Jenkins 파이프라인은 만들어봤는데, ArgoCD나 GitOps는 개념만 들어봤다."
"dev·staging·production 환경별 배포를 어떻게 설계해야 할지 막막하다."
이런 고민을 하시는 분들을 위해 「Jenkins와 ArgoCD로 배우는 실전 GitOps CI/CD」 강의를 인프런에 오픈했습니다.
이 강의는 이런 점이 다릅니다
• Jenkins 기반의 전통적인 CI/CD를 넘어 ArgoCD 기반 GitOps까지 함께 다룹니다.
• Push 방식(Jenkins)과 Pull 방식(ArgoCD)을 같은 클러스터 위에서 직접 비교합니다. 누군가 kubectl로 수동 변경했을 때 한쪽은 그대로 남고 한쪽은 자동 복구되는 걸 눈으로 확인하고, 롤백과 배포 이력 확인 방식의 차이도 직접 체감합니다.
• 두 방식을 결합해 dev·staging은 Jenkins Push, production은 ArgoCD Pull(수동 Sync 승인)로 나누는 하이브리드 배포 파이프라인을 처음부터 끝까지 만들어봅니다.
• Canary, Blue-Green, RBAC, 승인 절차, 장애 대응, 자동 롤백까지 운영에 필요한 핵심 배포 기술을 실습합니다.
실습 환경
Docker Desktop 하나로 진행합니다. Windows와 macOS 모두 가능하고, AWS 같은 클라우드 계정이나 별도 비용은 필요 없습니다.
이런 분께 추천드립니다
• Jenkins는 써봤지만 ArgoCD/GitOps는 처음인 백엔드·인프라 엔지니어
• Kubernetes 배포를 수동 kubectl apply에서 자동화로 넘어가고 싶은 분
• 배포 승인, 롤백, 감사 추적 같은 운영 요건을 고민하는 DevOps·SRE 담당자
총 러닝타임은 약 10~11시간이며, 실습 자료와 트러블슈팅 가이드도 함께 제공됩니다.
👉 강의 보기: https://inf.run/dEjZE
궁금한 점은 댓글이나 강의 Q&A로 편하게 남겨주세요!
이번에 새롭게 Spring 개발자를 위한 실전 LLM 서비스 개발 (Part 1) 강의를 오픈했습니다. 조금 늦은 감이 없지는 않으나, 자바 개발자들에게 친숙한 Spring framework를 이용하여 LLM 애플리케이션을 개발하는데 필요한 내용을 학습하는 강의로 구성했습니다. 많은 관심 부탁드립니다.
왜 이 강의를 만들었나
요즘 RAG, 벡터 검색, AI 에이전트 같은 키워드는 어디서나 접할 수 있지만, 막상 "Spring Boot 백엔드에 어떻게 붙이는가"를 실무 수준으로 다루는 자료는 많지 않았습니다.
이 강의는 제가 실제 RAG 추천 엔드포인트를 디버깅하며 겪었던 문제 — 문서를 토큰 단위로 청킹했을 때 의미 단위가 깨져 검색 품질이 떨어졌던 경험, 그리고 문단 단위 청킹으로 전략을 바꿔 문제를 해결했던 과정 — 을 그대로 커리큘럼에 녹였습니다. 튜토리얼처럼 정답 코드만 보여주는 게 아니라, "왜 안 되는지 → 어떻게 진단하는지 → 어떻게 고치는지"를 함께 따라가는 방식입니다.
이런 분들께 추천합니다
Spring Boot 경험은 있지만 LLM/AI 서비스 개발은 처음인 백엔드 개발자
RAG, 벡터 검색을 튜토리얼이 아니라 실무 프로젝트 수준으로 적용하고 싶은 개발자
사내 AI 기능(챗봇, 문서 검색, 추천 등)을 Spring 기반으로 직접 구현해야 하는 실무자
Spring Boot로 REST API를 만들어 본 경험만 있으면 충분합니다. AI/LLM 사전 지식은 필요 없습니다.
무엇을 배우나요
1. Spring AI 핵심 기초 ChatClient 기본 사용법, 구조화된 출력(Structured Output), 스트리밍 응답 구현
2. RAG 파이프라인 구축 벡터 스토어 연동, 문서 청킹 전략 비교와 실전 트러블슈팅, 검색 품질 개선, 프롬프트 설계
3. 도구·멀티모달 확장 MCP(Model Context Protocol)를 활용한 외부 도구 연동, 이미지 등 멀티모달 입력 처리, Dify 연동
4. 서비스 안정화와 실전 프로젝트 가드레일 적용, 신뢰성 있는 서비스 설계, 지금까지 배운 내용을 통합하는 미니 프로젝트
부록으로 AI 코딩 도구와 Ollama 활용법도 함께 다룹니다.
시리즈 안내
이번에 출시한 것은 전체 시리즈의 Part 1입니다. Part 2, 3에서는 더 심화된 아키텍처와 실전 케이스를 다룰 예정이며, 시리즈가 모두 출시되면 전체 패키지 할인도 준비할 계획입니다.
📌 강의 바로가기: https://inf.run/VVpnV
궁금한 점이나 커리큘럼 관련 질문은 댓글로 편하게 남겨주세요. Part 1을 통해 여러분의 Spring 서비스에 LLM을 붙이는 첫걸음을 함께하고 싶습니다.
안녕하세요, 이도원입니다.
이번에 새롭게 "Spring Boot를 이용한 RESTful Web Services 개발" 강의가 업데이트 되었습니다.
기존에 Spring Boot 2.x 버전으로 작성되었던 예제를 새롭게 Spring Boot 3.1.x 버전으로 변경하여 강의를 다시 준비하게 되었습니다.
Spring Boot 3.1 버전을 이용하여 RESTful API 개발하는 과정을 다루고 있습니다.
강의에서 다루고 있는 예제를 Spring Boot 3.1 버전에 맞게 업그레이드 하였습니다.
Section 별 예제를 참고하시기 수월하도록, 각 Section에 맞춰 GIt branch를 구분해 놓았습니다.
새로운 버전에 맞춰 Spring Security 예제가 수정 되었습니다.
Swagger Documentation 부분은 기존에 사용되던 Spring Boot 2.7과 Spring Boot 3.1에 맞춰 사용하실 수 있도록 소개하고 있습니다.
Spring Boot 2.7 + springfox 3.0
Spring Boot 3.1 + springdoc (OAS 3.0)
기존 강의에서 여러 수강생 분들이 언급해 주셨던 강의 녹화 음성을 불편함 없이 들으실 수 있도록 다시 제작하였습니다.
새롭게 업데이트 된 강의에도 많은 관심 부탁드립니다.
앞으로도 좋은 강의로 찾아 뵙겠습니다.
감사합니다.
안녕하세요, 이도원입니다.
코로나도 조금씩 진정되어 가고 있는 모습이고, 정상적인 사회생활로 돌아가고 있는 듯 합니다.
2022년도 여름이 시작되고 있습니다. 장마가 시작되고 있는 듯 맑은 하늘을 보기가 어렵네요.
"Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)" 강의의 후속 강의를 기다려 주시는 분들께는 죄송하다는 말외에는 드릴 말씀이 없네요. 원래 계획대로다면 지난 1월에 오픈되어야 할 강의가 진행하던 프로젝트의 이슈로 2월 3월 연기되다가 아직도 오픈하지 못하고 있네요... 그래도... 정말 곧! 오픈하려고 마지막 준비 작업중에 있습니다.
다음 강의는 예정대로 CI/CD에 관련된 강의입니다. 오늘은 CI/CD 강의에 대한 목차 먼저 소개하려고 합니다.
강의는 전체 6~7개 섹션으로 구성되어 있습니다. Appendix를 본 강의에 포함 시킬지 여부에 따라서 6개 또는 7개 섹션으로 나뉠 것 같습니다.
Section 1. DevOps와 CI/CD
1-1. DevOps와 CI/CD
1-2. CI/CD 작업 흐름
1-3. Jenkins 설치
1-4. Exercisef #1
Section 2. Jenkins를 이용한 CI/CD 사용
2-1. CI/CD를 위한 Git & Maven 연동
2-2. Exercisef #2
2-3. CI/CD를 위한 Tomcat Server 연동
2-4. Exercisef #3
2-5. PollSCM 설정
2-6. Docker를 이용한 실습 환경 구성
2-7. Exercisef #4
Section 3. Jenkins + Infrastructure as Code (Ansible을 이용한 Configuration Management)
3-1. IaC
3-2. Ansible 개요
3-3. Ansible 설치
3-4. Ansible Playbook
3-5. Exercise #5
3-6. Docker 이미지 배포
3-7. Exercise #6
Section 4. Jenkins + Ansible + Kubernets 연동
4-1. Kubernetes Cluster에 배포하기
4-2. Ansible + Kubernetes 연동
4-3. Exercise #7
4-4. CI/CD 프로세스
4-5. Exercise #8
4-6. Minikube 설치 (Apple Silicon chip)
Section 5. Advanced Jenkins 사용
5-1. Delivery Pipeline 사용
5-2. Jenkins Pipeline 구성
5-3. Exercise #9
5-4. Exercise #10
5-5. Practices
5-6. SonarQube 정적분석
Section 6. Public Cloud에 배포
6-1. AWS EC2 인스턴스 생성과 Docker 설치
6-2. AWS에 배포
6-3. Kops를 이용한 Kubernetes Cluster 구성
6-4. NCP 서버 인스턴스 생성과 Docker 설치
6-5. NCP에 배포
Appendix
A-1. 필수 SW 설치
A-2. Tomcat Server 설치
A-3. SSH Server
A-4. Windows 사용자를 위한 XShell, MobaXterm 설치
A-5. MacOS 사용자를 위한 Terminus 설치
강의에 관심을 가져주신 분들께 다시한번 감사의 인사를 드리며, 조만간에 좋은 강의로 찾아뵙도록 하겠습니다.
감사합니다.
안녕하세요, 이도원입니다.
"Jenkins를 이용한 CI/CD Pipeline 구축" 강의에서는 다음과 같은 내용을 다루고자 합니다.
Section 1. DevOps와 CI/CD
1. DevOps와 CI/CD
2. CI/CD 작업 흐름
3. 필수 SW 설치
4. Jenkins 설치
Section 2. Jenkins를 이용한 CI/CD 사용
5. CI를 위한 Git & Maven 연동
6. CD를 위한 Tomcat Server 연동
7. CD를 위한 Docker 연동
Section 3. Ansible을 이용한 Configuration Management
8. Ansible 개요
9. Ansible 사용
10. Ansible Playbook
11. Playbook을 통한 Docker 이미지 등록
Section 4. Jenkins + Ansible + Kubernets 연동
12. Kubernetes Cluster에 배포하기
13. Ansible + Kubernetes 연동
Section 5. Jenkins Pipeline 사용
14. Delivery Pipeline 사용
15. Jenkins Pipeline 구성
Appendix
1. Apple M1 사용자를 위한 Minikube 설치
2. AWS EC2 인스턴스 생성과 Docker 설치
3. Windows 사용자를 위한 XShell, MobaXterm 설치
4. MacOS 사용자를 위한 Terminus 설치
5. Kops를 이용한 Kubernetes Cluster 구성
앞으로도 지속적인 관심과 성원 부탁드립니다.
날씨가 조금씩 쌀쌀해 지고 있습니다. 다들 몸관리 잘하시고, 건강하시기를 바랍니다.
감사합니다.
안녕하세요, 이도원입니다.
먼저 강의에 관심을 가져주신 많은 분들까 감사의 인사드립니다.
Spring Boot와 Spring Cloud를 활용한 마이크로서비스 관련 강의는, CNCF에 얘기하는 Cloud Native의 구성요소 4가지에 맞춰서 강의를 구성해 보려고 계획했습니다.
- 컨테이너 가상화
- 마이크로서비스
- CI/CD
- DevOps
"Spring Boot를 이용한 RESTful Web Services 개발"과 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션" 강의를 시작하였고, 강의에서 미쳐 다루지 못한 내용인 MSA Achitecture, Pattern, Service Mesh와 CI/CD는 후속 강의로 계획 중입니다. 그리고 "Spring Boot를 이용한 RESTful Web Services 개발" 강의는 새로 업데이트 된 라이브러리를 반영하여 다시 업데이트 계획 중입니다.
말씀하신 내용처럼 후속 강의는 다음 순서로 오픈 할 계획입니다. 강의 오픈 시기는 다른 업무와 겹쳐 계속 미뤄지고 있지만, 최대한 올해 오픈하는 게 목표입니다.
1. CI/CD (8월 중)
2. MSA Architecture + Pattern + Service Mesh (9월~10월)
3. WebFlux (~12월)
무더운 더위와 코로나로 고생스럽지만, 모두들 건강하시고, 하시고자 하는 바를 이루시길 바랍니다.
감사합니다.
안녕하세요, 이도원입니다.
"Spring Boot를 이용한 RESTful Web Service 개발" 강의를 시작한 지 1년이 다 되어 가네요. 다시한번 수강해 주신 분들께 감사의 인사를 드립니다.
당초 계획은, 후속 강의인 "Spring Cloud로 개발하는 마이크로서비스"를 바로 오픈할 예정이었는데, 여러가지 사정으로 미루다가 이제서야 오픈하게 되었습니다.
"Spring Cloud로 개발하는 마이크로서비스"는 다음과 같은 내용을 다루고 있으며, 현재 강의 녹화 완료되어, 인프런에 제출한 상태입니다.
"Spring Boot를 이용한 RESTful Web Service 개발" 강의는 전체 강의 시간이 7시간 남짓이였는데, 이번 "Spring Cloud로 개발하는 마이크로서비스"는 아직 녹화가 끝나지 않았음에도, 벌써 27시간이 넘었습니다. 그래서, 전체 2개의 파트로 나뉘어서 강의를 하였으며, 그래도 다 다루지 못하는 부분에 대해서는 후속강의를 통해 진행해야 할 것 같습니다.
이번달인 2021년 3월에 오픈하려고 현재 대기 중이며, 기존에 계획했던 내용을 보완하여 아래와 같은 내용을 다루고 있습니다.
말씀드린 바와 같이 전체 강의는 2개의 파트로 구성될 예정이며, 총 17개 섹션의 주제로 진행하려고 합니다.
PART I섹션 0. Microservice와 Spring Cloud의 소개섹션 1. Service Discovery섹션 2. API Gateway Service섹션 3. E-commerce 애플리케이션섹션 4. Users Microservice ➀섹션 5. Catalogs and Orders Microservice섹션 6. Users Microservice ➁섹션 7. Configuration Service섹션 8. Spring Cloud BusPART II섹션 9. 설정 정보의 암호화 처리섹션 10. Microservcie간 통신섹션 11. 데이터 동기화를 위한 Apache Kafka의 활용 ①섹션 12. 데이터 동기화를 위한 Apache Kafka의 활용 ②섹션 13. 장애 처리와 Microservice 분산 추적섹션 14. Microservice 모니터링섹션 15. 애플리케이션 배포를 위한 컨테이너 가상화섹션 16. 애플리케이션 배포 - Docker ContainerAppendix: Microservice Architecture 패턴관심을 가져주신 많은 수강생분들께 다시한번 감사의 말씀드리며, 새로운 강의로 다시 찾아 뵙겠습니다.
감사합니다.






