강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

"스프링 배치를 종결시키자. 배치 코드의 암흑기에 종지부를 찍는다.💀"

(4.9) 수강평 64개

수강생 1,605명

  • KILL-9

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • 💀 Spring Batch의 청크 지향 처리 모델과 태스크릿 지향 처리 💀

  • 💀 ItemReader, ItemProcessor, ItemWriter의 완벽한 이해 💀

  • 💀 Job과 Step의 생명주기 및 실행 컨텍스트 관리 💀

  • 💀 Partitioning을 활용한 대규모 데이터 병렬 처리 💀

  • 💀 실패 복구와 재시도 메커니즘 구현 💀

  • 💀스프링 배치5

  • ⛔ 이쯤에서 멈춰야겠다... 너무 많아서 시스템이 다운될 뻔했다. (걱정마라. 다 가르쳐줄 테니)⛔

KILL-9: "경고: 오디오 시퀀스 없이 이 문서를 읽는 행위는 학습 효율을 66% 저하시킵니다."

🚨 경고: 치명적 위험 감지 🚨

💀 현실을 직시하라 💀

🔥 너는 지금까지 뭘 했지?🔥

⚠ 스프링 배치 처형 프로토콜 가동 ⚠


" 배치 작업에 고통받는 모든 개발자들을 위해

시스템 처형자가 직접 나섰다

새벽 3시의 처절한 공포는 이제 끝이다.💀"


가장 최신의, 가장 정확한 스프링 배치 강의로 무장하라. 💀


⛔ 너희가 얻게 될 무기 ⛔

이 강의를 통해 너희들은 다음과 같은 치명적인 무기들을 장착하고,

시스템을 지배할 힘을 얻게 될 것이다.

💀 태스크릿 vs 청크 처리: 배치 시스템의 핵심 동작

배치 코드 실행 흐름이 숨겨진 블랙박스라고 생각했나? 가소롭군.

스프링 배치의 대표적 처리 모델 두 가지. 태스크릿 지향 처리와 청크 지향 처리의 개념과 내부 동작 원리를 해부한다.

단순 파일 정리, 테이블 TRUNCATE 같은 일회성 작업부터 수백만 건의 데이터를 읽고(Read), 가공하고(Process), 파괴적으로 쓰는(Write) Chunk 지향 처리까지.

두 방식의 내부 동작 원리를 완벽히 해부하여 어떤 상황에 어떤 무기를 사용해야 최적인지 감각적으로 판단하게 만들어주마.


💀 데이터 처형 방식: ItemReader와 ItemWriter

더 이상 대용량 데이터 처리에 고통받지 마라.

파일 시스템이든, RDBMS든, NoSQL이든 가리지 않고 데이터를 추출하고(ItemReader), 원하는 대로 주입한다(ItemWriter).

FlatFileItemReader, JsonItemReader,

JdbcCursorItemReader, JpaPagingItemReader

...

각 구현체의 내부 동작 원리를 파헤치고, 대용량 데이터를 어떻게 효율적으로 처형할지 마스터하라.

페이징? 커서? 무엇이 언제 적합한지 너의 무지는 이제 종료되었다.

💀 Job과 Step 제어: 배치 시스템의 심장부를 장악하라

Job과 Step의 내부 동작 방식과 라이프사이클을 깊이 파헤친다.

JobInstance, JobExecution, StepExecution의 관계와 상태(BatchStatus, ExitStatus) 변화를 추적하여, 배치가 왜 실패했는지, 어디서부터 재시작해야 하는지(Restartability) 명확하게 파악하는 능력을 길러준다.

JobRepository의 내부를 들여다보고 메타데이터를 직접 제어하여, 블랙박스 같던 배치 실행 흐름을 투명하게 관리하라. 더 이상 예상치 못한 실패에 당황하지 마라. 모든 것은 우리의 통제 하에 놓인다.

💀 스프링 배치 확장 기능

처리할 데이터가 너무 많다고? 실행 시간이 너무 길다고? 걱정 마라.

기본 무기만으로는 부족할 때를 위해, 배치 성능을 폭발시킬 특수 장비가 준비되어 있다.

  • 멀티스레딩(Multi-threaded Step)으로 단일 Step 내에서 작업을 병렬화하고,

  • 감당할 수 없는 데이터는 파티셔닝(Partitioning)으로 잘게 쪼개 여러 워커에게 분산시켜 처리한다.


이 지식으로 무장하면, 너희의 배치는 더 이상 성능 문제로 무릎 꿇지 않을 것이다.

Spring Batch의 진짜 스레드 안전성에 대해 그 무엇보다도 명확히 정리해두었으니 안심하고 사용해도 좋다.

이제 배치 시스템이 너희를 두려워할 차례다.💀


💀 스프링 배치 추가 생존 기술

  • Skip/Retry 정책으로 실패를 감금하고 제어하는 전략.


  • ItemStream을 활용한 상태 관리와 배치 작업 중지/재시작 메커니즘 완전 정복.


  • Spring Batch Flow로 복잡한 작업 흐름을 설계하는 방법.

  • 다양한 Listener로 배치의 모든 순간을 감시하는 법

모든 무기를 완벽하게 사용하기까지 시간이 걸릴 것이다.

하지만 걱정 마라.

나의 피와 땀으로 얻은 전투 경험들이 너의 성장을 가속화할 것이다. 💀

💀 도망친 곳에 낙원은 없다 💀

💀이 지긋지긋한 혼돈을 종결시키기 위해. 내가 나섰다. 💀

💀 가격 처형 선언문 💀

최종 경고: 선택의 시간이다

[EXECUTE: SYSTEM UPGRADE SEQUENCE]

# --- Preparing system for upgrade --- # Removing fear module... Done. $ rm -rf ./fear_of_batch_errors # Preparing skill directory... OK. $ mkdir -p /opt/advanced_batch_skills # Granting full access to tech stack... Permissions updated. $ sudo chmod 777 /opt/advanced_batch_skills # Injecting KILL-9 grade expertise... Root privileges acquired. Processing... $ sudo ./install-spring-batch-expertise [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% Installation Complete. System Reboot Recommended for optimal performance.

FATAL WARNING

$ cat warning.txt ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ 주의 사항 ⚠️ [FATAL ERROR] 접근 제한 감지 [PROCESS ID]: #KILL-9_WARNING_PROTOCOL [STATUS]: 심각 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 강렬한 컨셉에 현혹되어 장난삼아 강의 접근을 시도하는 자는 즉시 이탈하라. 이 강의는 sudo 권한 없이 접근을 시도하는 가벼운 호기심에 자비를 베풀지 않는다. 나는 오직 진정한 '시스템 지배자'의 길을 걷고자 하는 자들만을 원한다. 명확히 경고한다. 이 고통의 끝까지 함께할 준비가 되어 있는 자만이 이 강의를 수강하라. 당신의 시간은 소중하다. 낭비하지 마라. 진정으로 배우고자 하는 의지가 있는 자만이 이 코드의 무게를 감당할 수 있다. 충실히 강의의 끝까지 따라온 자만이 스프링 배치의 진정한 지배자가 될 것이다. [ADDITIONAL NOTE] 이미 스프링 배치 경험이 있는 자들도 "열심히 따라오겠다는 의지"가 발견된다면 환영한다. $ ls -la /home/user/ | grep determination 분명 많은 것을 얻어 갈 것이다. # 선택은 당신의 몫이다. 하지만 그 결과는 내가 처형한다.💀
$ sudo sound-off --tactical-report --system-status=spring-batch --volume=maximum --force

시스템 접근 사전 체크리스트

실습 환경

MAC 기반 (JDK 17) 환경이다. (윈도우? 하... 스프링 배치용 서버가 윈도우라고? 윈도우로는 고통만 느끼게 될 것이다.)

JAVA 17, 스프링 부트 3.4, 스프링 배치 5.2 환경이다.

(하...💀 그새 배치 5.2가 릴리즈되었다. 언제 또 강의 내용을 수정하냐... 배치는 영원하지만, 내 시간은 유한하다.)

학습 자료

"영상의 시대는 갔다. 이제 다시 텍스트의 시대다. 💀"


글 형식 강의다. 이유가 궁금하다고? 강의 초반부에 무료로 풀어놨으니

' 시스템 종결자의 학습 원칙 ' 을 읽어보도록.

여기서 너희는 단순한 지식전달이 아닌, 진정한 학습을 위한 나의 철학을 마주하게 될 것이다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 💀 "스프링 배치 담당하실 수 있으세요?" ... (싸늘한 웃음) 이 질문에 식은땀 흘리는 자들이여 💀

  • 💀스프링 웹만 파다가 배치는 쳐다보기도 무서워하는 자들이여...💀

  • 💀남의 배치 코드 복붙하다 수백만 건 데이터를 날려본 자들이여...💀

  • 💀구글링한 코드로 겨우 버티다 이제 한계를 느끼는 자들이여...💀

  • 💀"어차피 밤에 도는 거니까..." 하고 대충 짜놓고 공포에 떠는 자들이여...💀

  • 💀매일 밤 데이터베이스를 학대하는 자들이여...💀

선수 지식,
필요할까요?

  • ⛔ 이런 자들은 접근하지 마라 ⛔

  • 💀 스프링과 스프링 부트를 모르는 자들은 가라 (그대들에겐 아직 이른 시련이다) 💀

  • 💀 "Hello World" 찍고 왔다는 자들은 가라 (진정한 고통을 모르는 자들이여...) 💀

  • 💀 배치의 고통을 아직 겪어보지 못한 자들은 가라 (그 날이 올 때까지는 평화로운 시간을 보내라...) 💀

안녕하세요
입니다.

1,605

수강생

64

수강평

115

답변

4.9

강의 평점

1

강의

시스템 종결자의 선언

 

인프런의 지루한 강의들이여, 두려워하라.

나의 등장으로 이 모든 것이 끝난다.

너희의 비싼 강의료? 웃기지 마라.

살인적인 가성비로 모든 것을 파괴하겠다.


강사 소개

강사명

KILL-9

 

칭호 📛

시스템 종결자

특기 🔪

kill -9       # "프로세스 처형"
rm -rf        # "데이터 학살"
chmod -R 000  # "시스템 감금"


" 버그? 해킹? 웃기지마. 그딴 잔머리로는 시스템을 지배할 수 없다. 난 정면으로 파괴한다. "

(인프런 강의 소개 페이지 alert() 취약점은 내 처녀작이었지. 이제는 더 강력한 무기를 쓴다. - 진짜임)

취미 💣

콘센트 정리     # "코드는 뽑아야 제맛."
CPU 고문       # "팬 소리가 울려 퍼질 때, 나는 살아있음을 느낀다."
전리품 수집     # "코어 덤프"

좌우명 🔥

"선은 뽑으라고 있는 것이다" 

"버그는 죽여서 고치는 것이다"

"LGTM (Looks Gone To Me)"

경고 🧨

"격식 따위 필요없다. 그냥 편하게 킬구형이라 불러라."

"존댓말로 질문하면 rm -rf 시전한다."

 

통신 접점 📡

kill9.no.mercy@gmail.com  # "강의 외의 명령 전송용. ACK는 기대하지 마라."

 

⚠️ CONFIDENTIAL: DO NOT LOG ⚠️

# 사실... 카카오에서 조용히 일하는 평범한 개발자에요...

커리큘럼

전체

35개 ∙ (7분)

해당 강의에서 제공:

강의 게시일: 
마지막 업데이트일: 

수강평

전체

64개

4.9

64개의 수강평

  • 자전거님의 프로필 이미지
    자전거

    수강평 3

    평균 평점 5.0

    5

    71% 수강 후 작성

    사이드 프로젝트에 당장 batch 적용이 필요한 부분이 있어서 우선 급하게 필요한 부분만 수강하고, 지금은 다른 급한 불을 끄느라 아직 수강완료를 하지는 못했는데요..! 이 강의는 꼭 끝까지 듣고 싶은 강의입니다! 텍스트 강의인데 이렇게 강의력이 좋을 줄이야... 디테일한 부분까지 놓치지 않고 꼼꼼하게 설명해주시고, 잊을만하면 또 강의 업데이트했다고 메일로 알려주십니다. 이렇게 업데이트가 잦고 재밌고 친절한 강의는 처음이라 왕따봉 드립니다 👍 그리고 가끔 오픈소스 침투 미션 올려주셔서, 미션을 핑계삼아 오픈소스에 처음으로 이슈 올려봤는데 정말 좋은 경험이었습니다. 비록 제 이슈는 오픈소스 관리자(?)분의 이목을 끌지 못해 소리 없는 외침으로 끝난 것 같긴 하지만 괜찮습니다 :') 이슈 내용 한바닥 적는데 혹시나 이상한 말이 있어서 공개 망신 당할 까봐 봤던 코드 또 보고 내용 다시 확인하고.. 아무튼 이슈 남기는 것도 저는 처음이었어서, 재밌고 의미있는 경험이었습니다!! 좋은 강의에 좋은 경험 선물해주셔서 감사합니다 🙇‍♀️

    • KILL-9
      지식공유자

      고맙다 전거형 💀💀 아니다 너가 제보한 이슈는 분명히 타당하고 개선되는게 맞다 기다려보자 메인테이너가 상당히 바쁜 시즌을 보내고 있을 것이다 💀💀 고맙다

    • KILL-9
      지식공유자

      축하한다 전거형 형이 제보한 이슈가 배치6에 반영되었다💀💀 https://github.com/spring-projects/spring-batch/issues/4916

    • 고마워!! 킬구형 덕분이야!! ☠️👻

  • 황성민님의 프로필 이미지
    황성민

    수강평 11

    평균 평점 4.6

    5

    32% 수강 후 작성

    죽음의 Spring Batch 강의, 이거야말로 진정한 시스템 처형자의 길…☠️ 기존에 Spring Batch, 그저 그런 배치 프레임워크라고 생각했다면 큰 오산이다. kill-9 형의 강의는 이론이 아니라 실전, 피튀기는 전장에서 살아남기 위한 진짜 무기를 준다. 플랫파일? 고정길이? 복잡한 로그 파일? “알아서 다 해치워라!”는 식이 아니라, 진짜 현업에서 바로 써먹을 수 있도록 하나하나 칼날처럼 설명한다. 구분자 하나 고르는 순간에도 “왜 이렇게 해야 하는지”를 알게 된다. 코드, 설명, 실습, 실행 커맨드까지… 강의 전체가 “이건 실전이다” 마인드로 가득 차 있다. 그냥 배우는 게 아니라 ‘내가 배치 종결자’가 되는 느낌. 그리고 들을수록, 언젠가 나도 저 한 줄의 오픈소스 코드로 시스템에 흠집을 낼 날이 올 거란 자신감이 쌓인다. 죽음을 각오한 배치, 아직 망설이냐? 이 강의를 듣는 순간, 당신도 진짜 ‘kill-9 squad’의 일원이 된다. ☠️🔥

    • KILL-9
      지식공유자

      💀 시스템 종결자 KILL-9 수강평 확인 완료 💀 킬구스러운 수강평... 내 시스템이 잠깐 멈출 뻔했다. **"kill-9 squad"** 이 표현, 너무 강력하다. 내 커널이 흔들렸다. 그래서? 바로 채택했다. 지금부터 우리는 "kill-9 squad"다. 이제부터 너희는 그냥 개발자가 아니다. 우리는 시스템 종결자 부대. rm -rf 평범함 kill -9 지루함 Welcome to the kill-9 squad, 대원. 부대원 인증은 강의 속 전장에서 이루어진다. 우리는 그냥 개발자 따위가 아닌 시스템 종결자 부대지. Welcome to the kill-9 squad, 대원. - KILL-9 (신규 부대원 환영)

  • 종혁님의 프로필 이미지
    종혁

    수강평 3

    평균 평점 5.0

    5

    24% 수강 후 작성

    텍스트 기반 강의.. 내 속도로 뜯고 맛보고 즐길 수 있어서 너무 좋다. 강의 의도처럼 불필요한 강의 멈춤, 뒤로가기 버튼 할 필요가 없어서 너무 좋다. 또 강의 내주시길 바랄뿐이다💀☠️

    • KILL-9
      지식공유자

      💀 반갑다 드디어 진짜 해커를 만났군 💀 그래, 바로 이거다. 텍스트는 최고의 인터페이스야. - 마우스 클릭질? 시간 낭비 - 동영상 버퍼링? CPU 학대 진짜 고수는 Command + F를 무기로 쓴다. grep처럼 원하는 정보만 바로 추출해라. 텍스트를 스크롤하는 속도 = 너의 학습 속도 그런데 중요한 경고가 있다: 4장과 5장을 절대 건너뛰지 마라. 수 많은 수강생들이 여길 껀너 뛰다가 스프링 배치의 핵심을 놓친다. 이 두 장을 제대로 씹어먹으면 한 끗 다른 레벨로 올라간다. deep dive할 준비 되어있나?

  • atoz님의 프로필 이미지
    atoz

    수강평 76

    평균 평점 4.9

    5

    21% 수강 후 작성

    • KILL-9
      지식공유자

      고맙다 javarunner 형 💀

  • 정훈님의 프로필 이미지
    정훈

    수강평 23

    평균 평점 4.7

    5

    50% 수강 후 작성

    형 앞으로도 버전업 되면 자주 업뎃 해줭! 믿구있다구?!

    • KILL-9
      지식공유자

      💀 [SYSTEM ACKNOWLEDGMENT] 💀 [INCOMING TRANSMISSION FROM BATTLEFIELD] =============================================== [KILL-9 RESPONSE PROTOCOL ACTIVATED] ㅇㅇ 정훈형 💀 [COMMITMENT PROTOCOL ENGAGED] 시스템은 끊임없이 진화한다. 버전업이 있을 때마다 강의도 함께 업그레이드될 것이다. 💀 [UPGRADE GUARANTEE]

₩29,700

비슷한 강의

같은 분야의 다른 강의를 만나보세요!