BEST
개발 · 프로그래밍

/

백엔드

스프링 배치

(4.8) 수강평 81

수강생 3,314

Thumbnail

초급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.

초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으로 다양한 배치 어플리케이션 개발을 위한 실무적 감각을 익히게 됩니다.

이런 걸
배워요!

  • 스프링 배치 핵심 도메인 이해

  • 스프링 배치 Job, Step, Flow 이해 및 API 활용

  • 스프링 배치 Chunk 기반 프로세스 이해 및 활용

  • 스프링 배치 예외 및 오류 제어

  • 스프링 배치 멀티 스레드 프로세싱 이해 및 활용

  • 스프링 배치 이벤트 리스너 다루기

  • 스프링 배치 TDD 및 운영 API 활용

  • 스프링 배치 실전 프로젝트

백엔드 배치 처리를 더 간편하고 효과적으로! 
스프링 배치의 세계를 경험해 보세요. 

스프링 배치 학습, 
어떻게 시작해야 할까요?

스프링 재단에서 진행하는 스프링 프로젝트는 다양합니다.
대표적으로 스프링 부트나 스프링 데이터, 스프링 클라우드 등이 있습니다.
그리고 이 프로젝트들과 관련된 자료나 레퍼런스가 많이 존재합니다.

그런데 스프링 배치는 그렇지 않습니다.

Spring Batch?

스프링 배치는 배치 어플리케이션을 개발하는 데 필요한 강력한 API를 제공하고 있습니다. 기본적으로 제공하는 API만을 사용해도 복잡한 배치 프로그램도 간단하게 구현할 수 있습니다.

스프링 배치는 스프링의 하위 프로젝트 중에서도 역사가 짧지 않고 버전이 계속 업그레이드 되면서 견고한 기술적 기반을 갖추고 있습니다. 설계 및 구현에 있어서도 확장성과 유연성이 높음에도 불구하고, 관련 자료나 레퍼런스가 다른 스프링 프로젝트들과 비교해서 턱없이 부족한 것이 현실입니다.

이에 그동안 스프링 배치를 사용해 온 경험을 바탕으로 스프링 배치의 기술을 습득하고자 하는 개발자들에게 지식을 공유하고자 강의를 기획, 제작하게 되었습니다.


스프링 배치의 
핵심을 알려드립니다.

본 강의는 스프링 배치의 기본적인 사용법을 전혀 모르는 사용자부터 기초적인 지식 및 사용 경험은 있지만 좀더 깊이있는 지식을 습득하고, 스프링 배치의 핵심적인 개념과 원리, 내부 구조, 동작 방식 등을 심도있게 이해하고 이를 응용하고자 하는 분들을 위한 강의입니다.


자바 개발자라면 
스프링 배치보다 
더 나은 선택은 없습니다.

자바를 사용하고 있는 개발자라면 배치 어플리케이션을 개발함에 있어 스프링 배치보다 더 나은 선택은 없다고 자부합니다. 스프링의 공통적인 기능을 다 사용할 수 있는 동시에 배치 어플리케이션 개발에 필요한 다양한 요소들을 제공해주고 있으며 간단한 설정과 구성으로도 복잡하고 견고한 어플리케이션을 만들 수 있기 때문입니다.

그러기 위해서는 스프링 배치의 기초와 기본을 확실하게 이해 및 정립하고 나서 어플리케이션 개발로 넘어가야 합니다. 단순히 API 사용법을 외우고 코딩해서는 스프링 배치의 방대한 기술적 장점을 극대화할 수 없습니다.

스프링 배치를 둘러싼 고민, 
이 강의로 OK.

  • “배치 어플리케이션을 만들 때 스프링 배치가 가장 좋은 선택인가요?”
  • “스프링 배치의 기본적인 사용법 및 구성하는 내용을 대략적으로 알고 있는데 이것으로도 배치 어플리케이션을 개발하는데 괜찮을까요?”
  • “다양한 배치 어플리케이션을 개발하는데 스프링 배치를 어느 정도 수준까지 알아야 하는가요?”

이 강의는 스프링 배치의 핵심적인 개념과 원리뿐 아니라 다양한 실습과 내부 흐름들을 심층적으로 분석함으로써 실무적으로 다양한 배치 어플리케션을 개발할 수 있는 역량을 기르는 데 목적을 두고 있습니다.


이런 분들께 
추천합니다.

스프링 배치
(Spring Batch)를 
처음 접하는 
입문자 

스프링 배치를 통해 
배치 어플리케이션 
(Batch Application)을 
만들고자 하는 분 

단순 API 사용을 넘어 
내부 구조와 동작원리 
등을 심층적으로 
알고자 하는 분 

스프링 배치의 
기능을 확장하여 
커스터마이징할 수준의 
역량을 갖추고 싶은 분 


이 강의의 특징 

  • 단순한 API 사용법과 문법만을 학습하지 않습니다.
  • 스프링 배치가 어떤 구조로 동작하는지 정확한 흐름들을 이해하고 원리를 파악하도록 합니다.
  • 스프링 배치가 제공하는 기본 기능을 확장하여 커스터마이징하는 역량을 기르도록 합니다.
  • 실전 예제를 통해 스프링 배치의 기술을 어떻게 실무적으로 활용할 수 있을지에 대한 감각을 익히게 됩니다.

학습 커리큘럼

1. 스프링 배치의 핵심 도메인 이해 및 활용

스프링 배치에서 Job을 구성하는데 있어서 사용되는 여러 도메인들이 있습니다. 예를 들어 Job, Step, Flow, Tasklet, JobInstance, Jobexecution, StepExecution, ExecutionContext 등.. 이러한 도메인들에 대한 개념부터 확실하게 이해를 해야 올바른 Job을 구성하고 활용할 수 있습니다. 각 도메인들의 용어적 개념과 도메인들간의 관계를 이해함으로써 간단한 Job부터 복잡한 Job까지 원하는 Job을 체계적으로 구성하는 방법을 익히게 됩니다.

2. 스프링 배치의 Job, Step, Flow 이해 및 API 활용

스프링 배치에서 Job을 구성하기 위한 기본적인 단위와 항목들에 대해서 학습합니다. Job, Step, Flow의 기본 개념과 구조를 이해하고 각 API 에 대한 설정과 활용방법에 대해 학습합니다. 그리고 Job과 Step의 여러 유형들에 대해 살펴보고 Job, Step, Flow를 조합하여 배치잡을 구성하는 방법을 학습함으로서 스프링 배치의 가장 기본이 되는 Job의 구성 및 활용을 자유자재로 구현할 수 있는 능력을 기르게 됩니다.

3. 스프링 배치의 청크 기반 프로세싱 정복

스프링 배치에서 가장 핵심적인 기능 중에 하나가 바로 청크 기반 프로세싱입니다. Chunk 개념을 도입하여 대용량의 데이터를 고성능으로 처리를 할 수 있도록 합니다. 여기에 사용되는 API가 ItemReader, ItemProcessor, ItemWriter 입니다. 청크 기반 프로세싱의 기본적인 개념과 원리를 학습하고 내부 아키텍처까지 파악합니다. 그리고 다양한 예제를 통해 청크 기반 프로세싱을 통한 데이터 처리의 활용법을 정복하게 됩니다.

4. 스프링 배치의 멀티 스레드 프로세싱 정복

대용량의 데이터 처리와 시간이 많이 소요되는 배치 처리는 단일 스레드가 아닌 멀티 스레드로 구성하여 동시에 병렬적인 배치 처리를 함으로써 더욱 효율적인 배치 처리가 이루어지도록 합니다. 자바의 스레드 모델에 대한 기본적인 개념과 스프링 배치에서 제공하는 멀티 스레드 관련된 기술들을 먼저 이해하고 여러 멀티 스레드 유형의 배치처리 기술들을 익히게 됩니다.

5. 스프링 배치의 오류 제어

배치 실행에 있어서 오류나 예외는 언제든지 발생할 가능성이 있습니다. 이러한 상황에서 오류로 인한 장애를 미리 예상하고 대비함으로써 배치 서비스가 완전히 중단되는 것이 아닌 일시적인 중단 혹은 예외를 무시하고 다음 단계로 가는 등의 처리를 함으로써 내결함성을 가진 배치 어플리케이션을 어떻게 구성할 수 있는지 학습하게 됩니다. 이와 관련된 기술인 Skip과 Retry 기능에 대한 자세한 내용과 실습을 진행합니다.

6. 실전! 스프링 배치 어플리케이션 예제

스프링 배치의 기술을 사용해서 실전에서 응용할 수 있는 배치 어플리케이션을 제작하는 시간을 가집니다. 스프링 배치 기반 위에서 멀티 스레드 구조로 API 서버와 통신하는 배치 어플리케이션을 구현하는 예제를 구현해 봄으로써 스프링 배치의 전반적인 내용을 이해함과 동시에 실무에서 스프링 배치를 어떻게 활용할 수 있는지에 대한 식견을 넓혀 주는 시간이 될 것입니다.


이 강의를 만든 
지식공유자를 소개합니다. 

정수원(leaven)

  • 현직 자바 개발자
  • SI/SM/솔루션/Mobile/Front&Back-end 의 다양한 프로젝트 경험
  • Architect/PM/PL 로서 역할 수행
  • Github

 

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 스프링 배치의 기본적인 구조와 개념을 확실하게 이해하고 싶은 분

  • 스프링 배치의 단순한 API 사용법을 넘어서 내부 처리 과정과 아키텍처를 이해하고 싶은 분

  • 스프링 배치를 활용해 실무적 수준의 배치 어플리케이션을 개발하고자 하는 분

  • 스프링 배치의 입문자부터 중고급자까지 활용할 수 있는 내용으로 구성

선수 지식,
필요할까요?

  • Java

  • Spring Boot

  • JDBC, JPA

  • Lombok

다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.

공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.

다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.

 

커리큘럼

전체

110 ∙ 45시간 14분

수업 자료

가 제공되는 강의입니다.

강의 게시일: 2021년 10월 08일
마지막 업데이트일: 2024년 04월 23일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!