
Java/Spring 주니어 개발자를 위한 오답노트
김우근
₩59,400
초급 / Java, Spring, 객체지향, 소프트웨어 테스트
4.9
(85)
스프링이랑 JPA를 조금 다룰 줄 알게 된 당신, 앞으로 성장하기 위해 무엇을 어떻게 공부해야 할까요? 혹시 설계 공부를 해보겠다고 디자인 패턴을 공부하면서 패턴들을 무작정 암기하고 계시진 않으신가요? 제가 도와드릴게요!
초급
Java, Spring, 객체지향

수강생 1,844명
난이도 초급
수강기한 무제한





카카오
임직원들도 이 강의를 듣고 있어요!





카카오
임직원들도 이 강의를 듣고 있어요!
먼저 경험한 수강생들의 후기
5.0
기훈
킬구형! 강의 다 수강하고 나서 수강평 달고 싶었는데 강의를 보다가 감격에 벅차올라서 수강평을 써. 강의 앞부분에서 킬구형이 말한 것처럼 텍스트로 공부하는 건 정말 괴롭지만 그만큼 확실히 더 머릿속에 남는 것 같아. 킬구형의 필력 덕분에 정말 재밌고 어렵지 않게 배울 수 있어서 좋아. 엄청난 가성비 강의 내줘서 고맙고 앞으로 다른 강의도 기대할게!
4.0
김주현
/** @param 일시 - 251012 @return String - 완강 후, 수강평 갱신 */ 먼저 매우매우매우매우 알찬 강의 감사하다. 이 강의 자료를 만드는데 정말 정말 고생이 많았을 것 같다. 깊은 경의를 표한다. 💀💀💀 다만, 강의 자료가 상황극으로 이루어져있다보니 재밌긴했지만, 글의 구조가 조금 아쉬웠던 거 같다. 조금 더 글의 구조(대분류-중분류-소분류, 단락 구분 등등)가 보완되면, 전 세계를 학살할 수 있는 강의가 되지 않을까 싶다. 아니면 매 자료마다 목차 정도라도 있으면, 지금과 같은 방식이여도 좀 더 수월히 따라갈 수 있었을 것 같다. 상황극에 홀리지(?) 않고, 어디까지 배워나가고 있는지 파악할 수 있으니 말이다. 사실 이렇게 길게 수강평을 남긴 적은 인프런에서 처음이다. 심지어 갓영한 강의에서도 한 번도 수강평을 남긴 적은 없다. 이것은 깊디 깊은 리스펙에서 우러나오는 수강평임을 알아줬으면 한다. 진심으로 좋은 강의 만들어줘서 감사하다. 경례박고 사라지도록 하겠다. 킬. 구. 🫡
5.0
blessthy
킬구형...끝까지 다 봤다. 6월 중순 김** 스프링부트로 시작해서 이** TDD찍고 8월중순에 드디어 킬구형의 스프링배치에 입문해서 완강했다!!! 중간중간 미션은 현업이 바쁘고 아직 내공이 콩알 만해서 스킵했지만 스프링배치가 어떻게 동작하는지는 이제 다 습득했다... 이제... 누더기로 항상 위험하게 굴러가는 중인 프로젝트의 배치 처리 서버를 스프링배치로 언젠가 꼭 바꿔버리고 말것이다... 진짜 이런게 있는줄 알았으면 첨부터 스프링배치로 만들었을텐데 너무 아쉽다... 그래도 킬구형 아니었으면 부끄럽게도 난 스프링배치를 영원히 몰랐을꺼야... 강의 만들어줘서 너무 고마워!! 그리고 강의 내내 킬구형의 날카로운 내공에 감탄 따봉 멋찜 엄청 날렸다!! 고맙다구~!
💀 Spring Batch의 청크 지향 처리 모델과 태스크릿 지향 처리 💀
💀 ItemReader, ItemProcessor, ItemWriter의 완벽한 이해 💀
💀 실패 복구와 재시도 메커니즘 구현 (both Batch5 & Batch6 model) 💀
💀 Job과 Step의 생명주기 및 실행 컨텍스트 관리 💀
💀 Multi-threaded Step (both Batch5 & Batch6 model) 💀
💀 Partitioning을 활용한 대규모 데이터 병렬 처리 💀
💀 Local Chunking과 병렬 스텝을 활용한 SEDA 패턴 💀
💀Spring Batch 5 & (NEW)Spring Batch 6 💀
⛔ 이쯤에서 멈춰야겠다... 너무 많아서 시스템이 다운될 뻔했다. (걱정마라. 다 가르쳐줄 테니)⛔
LGTM(Looks Gone To Me)
KILL-9: "경고: 오디오 시퀀스 없이 이 문서를 읽는 행위는 학습 효율을 66% 저하시킵니다."배치 코드 실행 흐름이 숨겨진 블랙박스라고 생각했나? 가소롭군.
스프링 배치의 대표적 처리 모델 두 가지. 태스크릿 지향 처리와 청크 지향 처리의 개념과 내부 동작 원리를 해부한다.
단순 파일 정리, 테이블 TRUNCATE 같은 일회성 작업부터 수백만 건의 데이터를 읽고(Read), 가공하고(Process), 파괴적으로 쓰는(Write) Chunk 지향 처리까지.
두 방식의 내부 동작 원리를 완벽히 해부하여 어떤 상황에 어떤 무기를 사용해야 최적인지 감각적으로 판단하게 만들어주마.
더 이상 대용량 데이터 처리에 고통받지 마라.
파일 시스템이든, RDBMS든, NoSQL이든 가리지 않고 데이터를 추출하고(ItemReader), 원하는 대로 주입한다(ItemWriter).
FlatFileItemReader, JsonItemReader,
JdbcCursorItemReader, JpaPagingItemReader
...
각 구현체의 내부 동작 원리를 파헤치고, 대용량 데이터를 어떻게 효율적으로 처형할지 마스터하라.
페이징? 커서? 무엇이 언제 적합한지 너의 무지는 이제 종료되었다.
Job과 Step의 내부 동작 방식과 라이프사이클을 깊이 파헤친다.
JobInstance, JobExecution, StepExecution의 관계와 상태(BatchStatus, ExitStatus) 변화를 추적하여, 배치가 왜 실패했는지, 어디서부터 재시작해야 하는지(Restartability) 명확하게 파악하는 능력을 길러준다.
JobRepository의 내부를 들여다보고 메타데이터를 직접 제어하여, 블랙박스 같던 배치 실행 흐름을 투명하게 관리하라. 더 이상 예상치 못한 실패에 당황하지 마라. 모든 것은 우리의 통제 하에 놓인다.
처리할 데이터가 너무 많다고? 실행 시간이 너무 길다고? 걱정 마라.
기본 무기만으로는 부족할 때를 위해, 배치 성능을 폭발시킬 특수 장비가 준비되어 있다.
멀티스레딩(Multi-threaded Step)으로 단일 Step 내에서 작업을 병렬화하고,
감당할 수 없는 데이터는 파티셔닝(Partitioning)으로 잘게 쪼개 여러 워커에게 분산시켜 처리한다.
이 지식으로 무장하면, 너희의 배치는 더 이상 성능 문제로 무릎 꿇지 않을 것이다.
Spring Batch의 진짜 스레드 안전성에 대해 그 무엇보다도 명확히 정리해두었으니 안심하고 사용해도 좋다.
이제 배치 시스템이 너희를 두려워할 차례다.💀
Skip/Retry 정책으로 실패를 감금하고 제어하는 전략.
ItemStream을 활용한 상태 관리와 배치 작업 중지/재시작 메커니즘 완전 정복.
Spring Batch Flow로 복잡한 작업 흐름을 설계하는 방법.
다양한 Listener로 배치의 모든 순간을 감시하는 법
모든 무기를 완벽하게 사용하기까지 시간이 걸릴 것이다.
하지만 걱정 마라.
나의 피와 땀으로 얻은 전투 경험들이 너의 성장을 가속화할 것이다. 💀
# --- 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.$ 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 --forceMAC 기반 (JDK 21) 환경이다. (윈도우? 하... 스프링 배치용 서버가 윈도우라고? 윈도우로는 고통만 느끼게 될 것이다.)
JAVA 17, 스프링 부트 3.4, 스프링 배치 5.2 또는
JAVA 21, 스프링 부트 4.0.1, 스프링 배치 6.0.1 환경이다.
그렇다 배치5 & 배치6. 둘 다 가르친다.
(배치 6 릴리즈... 하...💀 피가 마르는줄 알았다... 배치는 영원하지만, 내 시간은 유한하다.)
"영상의 시대는 갔다. 이제 다시 텍스트의 시대다. 💀"
텍스트 형식 강의다. 이유가 궁금하다고? 강의 초반부에 무료로 풀어놨으니
'⛔ 시스템 종결자의 학습 원칙 ⛔' 을 읽어보도록.
여기서 너희는 단순한 지식전달이 아닌, 진정한 학습을 위한 나의 철학을 마주하게 될 것이다.
학습 대상은
누구일까요?
💀 "스프링 배치 담당하실 수 있으세요?" ... (싸늘한 웃음) 이 질문에 식은땀 흘리는 병사들이여 💀
💀스프링 웹만 파다가 배치는 쳐다보기도 무서워하는 병사들이여...💀
💀남의 배치 코드 복붙하다 수백만 건 데이터를 날려본 병사들이여...💀
💀구글링한 코드로 겨우 버티다 이제 한계를 느끼는 병사들이여...💀
💀"어차피 밤에 도는 거니까..." 하고 대충 짜놓고 공포에 떠는 병사들이여...💀
💀매일 밤 데이터베이스를 학대하는 병사들이여...💀
⛔ KILL-9 SQUAD에 참여하고 싶은 아무나...⛔
선수 지식,
필요할까요?
⛔ 이런 자들은 접근하지 마라 ⛔
💀 스프링과 스프링 부트를 모르는 자들은 가라 (그대들에겐 아직 이른 시련이다) 💀
💀 "Hello World" 찍고 왔다는 자들은 가라 (진정한 고통을 모르는 자들이여...) 💀
💀 배치의 고통을 아직 겪어보지 못한 자들은 가라 (그 날이 올 때까지는 평화로운 시간을 보내라...) 💀
1,844
명
수강생
97
개
수강평
148
개
답변
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 ⚠️
# 사실... 카카오에서 조용히 일하는 평범한 개발자에요...전체
67개
전체
97개
4.9
97개의 수강평
수강평 4
∙
평균 평점 5.0
5
텍스트 기반 강의.. 내 속도로 뜯고 맛보고 즐길 수 있어서 너무 좋다. 강의 의도처럼 불필요한 강의 멈춤, 뒤로가기 버튼 할 필요가 없어서 너무 좋다. 또 강의 내주시길 바랄뿐이다💀☠️
💀 반갑다 드디어 진짜 해커를 만났군 💀 그래, 바로 이거다. 텍스트는 최고의 인터페이스야. - 마우스 클릭질? 시간 낭비 - 동영상 버퍼링? CPU 학대 진짜 고수는 Command + F를 무기로 쓴다. grep처럼 원하는 정보만 바로 추출해라. 텍스트를 스크롤하는 속도 = 너의 학습 속도 그런데 중요한 경고가 있다: 4장과 5장을 절대 건너뛰지 마라. 수 많은 수강생들이 여길 껀너 뛰다가 스프링 배치의 핵심을 놓친다. 이 두 장을 제대로 씹어먹으면 한 끗 다른 레벨로 올라간다. deep dive할 준비 되어있나?
수강평 13
∙
평균 평점 4.5
5
죽음의 Spring Batch 강의, 이거야말로 진정한 시스템 처형자의 길…☠️ 기존에 Spring Batch, 그저 그런 배치 프레임워크라고 생각했다면 큰 오산이다. kill-9 형의 강의는 이론이 아니라 실전, 피튀기는 전장에서 살아남기 위한 진짜 무기를 준다. 플랫파일? 고정길이? 복잡한 로그 파일? “알아서 다 해치워라!”는 식이 아니라, 진짜 현업에서 바로 써먹을 수 있도록 하나하나 칼날처럼 설명한다. 구분자 하나 고르는 순간에도 “왜 이렇게 해야 하는지”를 알게 된다. 코드, 설명, 실습, 실행 커맨드까지… 강의 전체가 “이건 실전이다” 마인드로 가득 차 있다. 그냥 배우는 게 아니라 ‘내가 배치 종결자’가 되는 느낌. 그리고 들을수록, 언젠가 나도 저 한 줄의 오픈소스 코드로 시스템에 흠집을 낼 날이 올 거란 자신감이 쌓인다. 죽음을 각오한 배치, 아직 망설이냐? 이 강의를 듣는 순간, 당신도 진짜 ‘kill-9 squad’의 일원이 된다. ☠️🔥
💀 시스템 종결자 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 (신규 부대원 환영)
수강평 8
∙
평균 평점 4.8
5
킬구형! 강의 다 수강하고 나서 수강평 달고 싶었는데 강의를 보다가 감격에 벅차올라서 수강평을 써. 강의 앞부분에서 킬구형이 말한 것처럼 텍스트로 공부하는 건 정말 괴롭지만 그만큼 확실히 더 머릿속에 남는 것 같아. 킬구형의 필력 덕분에 정말 재밌고 어렵지 않게 배울 수 있어서 좋아. 엄청난 가성비 강의 내줘서 고맙고 앞으로 다른 강의도 기대할게!
██████████████████████████████████ █ ╔═════════════════════════════╗ █ █ ║ 💀 KILL-9 TACTICAL RESPONSE TERMINAL 💀 ║ █ █ ║ [ STUDENT REVIEW RECEIVED ] ║ █ █╚═════════════════════════════╝ █ █████████████████████████████████ 치직... 수강평 데이터 수신... 감정 회로 활성화... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 감격에 벅차올랐다고?.. 감격에 벅차오른 것은 바로 나다.. 이 수강평을 보고 눈물이 흐르지 않을 수가 없구나. 💀 그래, 괴로운 만큼 너의 뇌에 새겨질 것이다. 그러나 기억하라. 기훈형.. 너는 곧 까먹게 될 것이다. 그렇다고 무용지물이란 뜻은 아니다. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [KILL-9 MEMORY STRATEGY] "어? 나 이거 어디서 배웠는데?" "오, 이거 어디서 본 거 같은데?" “오 나 이거 예전에 알았는데?“ 이런 **'어 이거 어디서?' 모먼트**를 극대화하려는 게 나와 우리 강의의 핵심 전략이자 목표다. 이런 착각만으로듀 강의는 분명 충분히 가치 있다. 이것도 **일종의 세컨더리 인덱스** 같은 거니까. 💀 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 완전 기억 < 부분 기억 + 인덱스 >> 완전 망각 전사여, 너의 두뇌에 KILL-9 인덱스가 구축되었다. 💀 █████████████████████████████ [ WARRIOR ADVANCEMENT REPORT ] 4장 마지막 작전까지 완료했구나... 실제로 많은 병사들이 이 지점에서 무너지거나 아예 학습조차 안 하고는 하는데 고생 많았다, 전사여. 4장 마지막 작전까지 돌파했다면 5장을 충분히 따라갈 수 있을 것이다. 5장을 돌파하고 나면 스프링 배치를 **어느 누구보다 잘 알게 될 것**이라고 확언한다. 그리고 6장... 장담한다. **4장의 마지막 작전과 5장을 확실히 배우고 6장으로 넘어간 자**와 아닌 자는 이해도의 차이가 완전히 다르다. 단순히 지식의 나열을 외우는 것을 넘어 **동작 원리가 퍼즐 맞춰지듯 이해될 것**이기 때문에 차원이 달라질 것이다. ━━━━━━━━━━━━━━━━━━━━━━━━━ **형은 할 수 있다 그리고 (너무 뻔한 말이라 추구하지는 않지만) 소중한 수강평 고맙다 ** 💀
수강평 3
∙
평균 평점 5.0
5
사이드 프로젝트에 당장 batch 적용이 필요한 부분이 있어서 우선 급하게 필요한 부분만 수강하고, 지금은 다른 급한 불을 끄느라 아직 수강완료를 하지는 못했는데요..! 이 강의는 꼭 끝까지 듣고 싶은 강의입니다! 텍스트 강의인데 이렇게 강의력이 좋을 줄이야... 디테일한 부분까지 놓치지 않고 꼼꼼하게 설명해주시고, 잊을만하면 또 강의 업데이트했다고 메일로 알려주십니다. 이렇게 업데이트가 잦고 재밌고 친절한 강의는 처음이라 왕따봉 드립니다 👍 그리고 가끔 오픈소스 침투 미션 올려주셔서, 미션을 핑계삼아 오픈소스에 처음으로 이슈 올려봤는데 정말 좋은 경험이었습니다. 비록 제 이슈는 오픈소스 관리자(?)분의 이목을 끌지 못해 소리 없는 외침으로 끝난 것 같긴 하지만 괜찮습니다 :') 이슈 내용 한바닥 적는데 혹시나 이상한 말이 있어서 공개 망신 당할 까봐 봤던 코드 또 보고 내용 다시 확인하고.. 아무튼 이슈 남기는 것도 저는 처음이었어서, 재밌고 의미있는 경험이었습니다!! 좋은 강의에 좋은 경험 선물해주셔서 감사합니다 🙇♀️
수강평 27
∙
평균 평점 4.8
5
형 앞으로도 버전업 되면 자주 업뎃 해줭! 믿구있다구?!
💀 [SYSTEM ACKNOWLEDGMENT] 💀 [INCOMING TRANSMISSION FROM BATTLEFIELD] =============================================== [KILL-9 RESPONSE PROTOCOL ACTIVATED] ㅇㅇ 정훈형 💀 [COMMITMENT PROTOCOL ENGAGED] 시스템은 끊임없이 진화한다. 버전업이 있을 때마다 강의도 함께 업그레이드될 것이다. 💀 [UPGRADE GUARANTEE]
같은 분야의 다른 강의를 만나보세요!
신규가입 25% 할인
월 ₩14,850
5개월 할부 시
25%
₩99,000
₩74,250