스프링 부트 강의 진행 상황을 공유드립니다.
안녕하세요 여러분 김영한입니다. 새해 복 많이 받으세요.
스프링 부트 강의 관련해서 최근 많은 분들이 문의해주셔서 현재 진행상황을 말씀드리겠습니다.
현재 90% 정도 강의 자료가 준비되었고, 검수, 촬영, 편집등을 고려하면 앞으로 1달 ~ 2달 안으로는 출시할 수 있을 것으로 예상됩니다.
작년 중순부터 시작했으니, 스프링 부트 강의를 준비한지 벌써 7개월이 되었네요. 열심히 준비하고 있으니 기대해주세요. 실무에 필요한 스프링 부트는 이 강의 하나로 정리해드리겠습니다.
강의명: 스프링 부트
오픈 예정일: 2월 말 ~ 3월 중
강의 수: 100강
강의 자료 PDF: 250장
강의 내용
스프링 부트는 매우 편리하지만 너무 다양한 기능을 제공합니다. 그래서 무작정 넓게 배워도 안되고, 또 너무 깊이있게 들어가도 실무에 크게 도움이 되지 않습니다. 그래서 실무에서 중요하게 생각하는 핵심 원리와 자주 사용하는 기능 위주로 강의를 준비했습니다. 크게 중요하지 않거나 실무에서 자주 사용하지 않는 기능은 과감하게 제외했습니다. 그리고 많은 분들이 궁금해하시는 스프링 부트를 활용한 효과적인 모니터링 방법도 함께 포함했습니다.
스프링 부트 강의 전체 목차
1. 스프링 부트 소개
2. 스프링 부트와 웹 서버
3. 스프링 부트 스타터와 라이브러리 관리
4. 자동 설정(Auto Configuration)
5. 외부 설정과 프로필
6. 스프링 부트 액츄에이터
7. 마이크로미터, 프로메테우스, 그라파나를 활용한 모니터링
8. 모니터링 활용
스프링 부트 강의 소개
스프링 부트와 웹 서버
오랜 과거로 돌아가서 톰캣 같은 웹 서버를 직접 설치하고 웹 애플리케이션을 WAR 파일로 빌드해서 배포하는 방법부터, 지금처럼 스프링 부트와 내장 톰캣을 사용해서 JAR 파일 하나로 편리하게 웹 서버를 사용하는 방법을 단계별로 설명합니다. 어떤 이유로 이렇게 발전해왔는지 이해하고, 그 과정속에서 자연스럽게 스프링 부트가 포함하고 있는 내장 서버가 어떻게 동작하는지 원리를 이해하게 됩니다.
스프링 부트 스타터와 라이브러리 관리
다양한 라이브러리들을 직접 선택하고 관리하는 방법의 어려움을 알아보고, 스프링 부트가 이런 문제점을 어떻게 해결하는지 알아봅니다. 그리고 스프링 부트 스타터 라이브러리에 대해서도 알아봅니다.
자동 설정(Auto Configuration)
스프링 부트는 수 많은 기능을 자동화합니다. 그 중에서 가장 대표적인 기능이 바로 자동 설정(Auto Configuration) 입니다.
이 기능 덕분에 개발자는 수 많은 스프링 빈들을 직접 등록하지 않아도 됩니다. 하지만 어떤 원리로 자동 설정이 되는지 이해하지 못하면, 스프링 부트를 사용하다 문제가 발생했을 때, 근본적인 문제를 해결하기 어렵습니다.
강의에서는 스프링 부트의 핵심 기능이라 할 수 있는 자동 설정의 원리를 예제를 통해서 손쉽게 이해할 수 있습니다. 그리고 이러한 자동 설정을 직접 구성하는 방법도 알아봅니다.
외부 설정과 프로필
스프링 부트 없이 직접 외부 설정을 사용하는 방법부터 시작합니다. 예를 들어서 OS 환경변수, 자바 시스템 속성, 커맨드 라인 인수를 직접 사용하는 방법을 알아봅니다. 그리고 이렇게 직접 외부 설정을 사용할 때 발생하는 문제점들을 알아보고, 스프링 부트가 이런 문제점들을 어떻게 해결하는지 단계별로 하나하나 학습합니다. 더 나아가서 Environment
, @Value
, @ConfigurationProperties
의 등장 이유와 활용법도 예제를 통해 학습합니다.
스프링 부트 액츄에이터
실제 운영 환경에서 서비스를 운영하려면 단순히 기능 요구사항을 넘어서, 애플리케이션을 모니터링하는 부분이 매우 중요합니다. 스프링 부트 액츄에이터가 제공하는 다양한 기능과 또 모니터링 기능을 학습합니다.
마이크로미터, 프로메테우스, 그라파나를 활용한 모니터링
"전투에서 실패한 지휘관은 용서할 수 있지만 경계에서 실패하는 지휘관은 용서할 수 없다"라는 말이 있습니다. 이것을 서비스를 운영하는 개발자에게 비추어 보면 장애는 언제든지 발생할 수 있지만, 그만큼 모니터링을 잘 해야 한다는 뜻입니다.
최근 실무에서 주로 많이 사용하는 모니터링 툴인 프로메테우스와 그라파나를 활용해서 어떻게 모니터링 환경을 구축하는지 설명합니다. 이렇게 구축한 모니터링 환경에서 실제 CPU, 메모리, DB 커넥션 사용을 늘려가면서 모니터링 툴을 통해 문제를 파악하는 방법도 알아봅니다.
모니터링 활용
모니터링에 필요한 지표를 애플리케이션에 직접 심고 모니터링 대시보드를 통해서 확인하는 방법을 설명합니다. 마이크로미터라는 편리한 툴을 통해서 애노테이션 하나로 추적하고 싶은 비즈니스 로직의 호출 수, 평균 실행 시간, 최대 실행 시간을 측정하는 방법도 알아봅니다.
감사합니다.