☠시스템 종결자의 선언 ☠
인프런의 지루한 강의들이여, 두려워하라.
나의 등장으로 이 모든 것이 끝난다.
너희의 비싼 강의료? 웃기지 마라.
살인적인 가성비로 모든 것을 파괴하겠다.
강사 소개
강사명 ☠
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 ⚠️
# 사실... 카카오에서 조용히 일하는 평범한 개발자에요...
講義
受講レビュー
- 死のSpring Batch:午前3時の悲惨な恐怖はもう終わりだ。
- 死のSpring Batch:午前3時の悲惨な恐怖はもう終わりだ。
- 死のSpring Batch:午前3時の悲惨な恐怖はもう終わりだ。
- 死のSpring Batch:午前3時の悲惨な恐怖はもう終わりだ。
投稿
Q&A
미스터 KILL-9 Processor 단 질문이 있다
또 보는군 중한이형 mybatis라... 한 5,6년 만이라 기억도 잘 안 나는군.. 오히려 내가 역제안을 해보겠다. ItemProcessor와 ItemWriter에서 사용할 SqlSessionTemplate 빈을 별도로 정의해서 사용해보는 것을 권한다(사실 나도 너가 돌려봐야 알 수 있다) SqlSessionTemplate가 내부를 보니 SqlSessionUtils.getSqlSession()을 호출하는군 이 getSqlSession() 메서드는 TransactionSynchronizationManager를 활용해 기존 스텝의 트랜잭션에 참여할것으로 기대되된다. 문제 없겠다 한 번 시도해보라 💀💀
- 1
- 2
- 26
Q&A
오타발견
$ echo "오타 제보 접수..." > 프링 인티그레이션 → 스프링 인티그레이션 $ vim 강의내용.md # 수정 중... $ git commit -m "fix: 프링→스프링 오타 살해 완료" [main 8a4f2b1] fix: 프링→스프링 오타 살해 완료 1 file changed, 1 insertion(+), 1 deletion(-) $ echo "항상 고맙다 qwert형. 반영 완료!" # ⚠️ 경고: 오타 발견 시 즉시 제보 요망 # kill -9된 오타는 부활하지 않는다.
- 1
- 2
- 16
Q&A
예제 빠진부분?
[🚨 INCOMING UX FEEDBACK ANALYSIS 🚨] ╔══════════════════════════════════════════════════════════════════╗ ║ ⚠️ USER EXPERIENCE REPORT ⚠️ ║ ║ CRITICAL ISSUE DETECTED ║ ╚══════════════════════════════════════════════════════════════════╝ ISSUE_ID: UX-6000-HORIZONTAL-SCROLL-HELL SEVERITY: ⚠️ MEDIUM (User Friction Detected) REPORTED_BY: [OBSERVANT_SOLDIER_UNIT] [KILL-9's RESPONSE] > "다음거 스카이넷보고서인지 그런식으로 개행을 넣던가 하면될거같긴해" 훌륭한 지적이다. 단순히 강의를 '소비'하는 게 아니라 '사용자 경험'까지 분석하는구나. 너와 같은 사냥꾼이 있어야 시스템이 진화한다. ▶ PROBLEM CONFIRMATION: 맞다. 인정한다. ///////////////////////////////////////////////////////////////////// // SKYNET TECHNICAL DOCUMENT // // ⚠️ WARNING: UNAUTHORIZED ACCESS OR DISTRIBUTION WILL // // RESULT IN IMMEDIATE TERMINATION // ///////////////////////////////////////////////////////////////////// 이런 넓은 ASCII 아트 박스들, 가로 스크롤 마우스 없이는 제대로 감상하기 힘들다. 특히 인프런 강의 뷰어는: - 페이지 넘어가면 스크롤바도 안 보임 - 드래그나 키보드 화살표로 조금씩 밀어야 함 - 모바일이나 작은 화면에서는 더 지옥 스타일은 살렸지만, 접근성을 희생했다. 이건 좋은 trade-off가 아니야. ▶ SOLUTION PROTOCOL: 다음 작전부터는 개행을 최대한 활용하겠다. ▶ KILL-9's PHILOSOPHY UPDATE: 좋은 강의는 "멋있어 보이는" 강의가 아니라 "실제로 읽히는" 강의다. 스타일 AESTHETICS MISSION CONTINUES.
- 1
- 4
- 38
Q&A
예제 빠진부분?
[🚨 CRITICAL BUG REPORT RECEIVED 🚨] REPORT_ID: ER-6004-JOB-CONFIG-MISSING STATUS: ⚠️ CONFIRMED & PATCHED REPORTER: [CLASSIFIED_STUDENT_UNIT] [KILL-9's RESPONSE] > "없어도 뻔해서 이해되긴 하는데, 위의 예제에서 Job 빈이랑 LogFileManagerStep 빈(이건 일부러?) 빼먹은 듯?" 훌륭한 리포트다, 버그헌터. 너의 날카로운 눈이 내 실수를 적발했구나. 인정한다. ▶ ROOT CAUSE ANALYSIS: 본래 강의 설계 의도는 이랬다: - 본론에서는 핵심 로직만 집중 분석 - 전체 설정 코드는 해당 작전의 [부록3]에서 완전체로 제공 - 학습자의 인지 부하를 줄이기 위한 전략적 분리 그런데... Job 설정 코드까지 날려버렸구나. ☠️ 이건 의도가 아니라 그냥 내 실수다. rm -rf 를 너무 남발한 결과랄까. ▶ PATCH DEPLOYED: 귀중한 제보 감사하다. 해당 섹션에 Job 설정 코드 즉시 추가 완료했다. battlefieldLogFileJob 빈과 logFileManagerStep 빈 구성이 이제 제대로 보일 것이다. 다시 한번, 정확한 버그 리포트에 감사한다. 이런 피드백이 강의를 kill -9 하지 않고 kill -15 수준으로 부드럽게 만들어준다. SYSTEM UPDATED. CONTINUE OPERATION.
- 1
- 4
- 38
Q&A
예제 빠진부분?
qwer 형 또 보는군 상당히 날카롭고 유의미한 지적들이다 피드백 확인이 늦어 각각에대한 대답은 검토후 진행하겠다 좋은 피드백 고맙다 하나하나 고민하고 바로 적용하겠다
- 1
- 4
- 38
Q&A
FlatFileItemWriter의 FieldExtractor 커스텀 관련
반갑다 강훈이형, 답변을 시작한다. 자 너가 말한 Bug란 우리 킬구 스쿼드의 최정예 전사 '자전거'가 제보한 이 이슈를 말하는 것이구나 https://github.com/spring-projects/spring-batch/issues/4916 (어느새 누군가가 PR도 올렸군) Q1에 대한 답변: $ echo "BeanWrapperFieldExtractor에서 필드 하나 제외하고 싶다고?" $ names()에서 그 필드만 빼면 된다 $ kill -9 [excluded_field] # 처형 완료 짧게 답한다. 그렇다. Q2에 대한 답변: $ cat your_question.txt | grep "커스텀하는 경우가 별로 없지 않을까" $ chmod +x brain.sh && ./brain.sh 이 또한 맞다. "FieldExtractor를 직접 커스텀하는 경우가 별로 없지 않을까 싶은데" 보통 그럴 것이다. Bug fix 이후엔 names() 만으로도 충분히 필드를 통제할 수 있다. 굳이 FieldExtractor를 커스텀할 필요? 없다. $ rm -rf 불필요한_커스터마이징 $ echo "프레임워크를 믿어라" > ./truth.txt LGTM (Looks Gone To Me)
- 1
- 3
- 28
Q&A
FlatFileItemWriter의 FieldExtractor 커스텀 관련
이런 강훈형 알람이 덮어져서 놓쳤다 얼른 답변하겠다 💀💀
- 1
- 3
- 28
Q&A
실무에서 배치 메타데이터 관리
아 그리고 우리 강의에서는 11월 말에나 추가되겠지만(정확히는 스프링 배치6 버전 강의에 추가될것이다)ResourcelessJobRepository를 알아보도록 커맨드라인으로 실행할거면 빈으로 만들든 생성자 호출하든 편하게 쓰면 된다
- 1
- 4
- 29
Q&A
실무에서 배치 메타데이터 관리
그렇다고 5장을 스킵해도 된다는 의미가아니다 5장에은 메타데이터 저장소 그 이상의 개념을 다룬다 또한 스프링배치의 핵심 도메인 개념들은 인메모리에서도 동일하게 적용된다 아무튼 본능적으로 감각한 너의 생각은 전혀 틀리지않다 너의 말처럼 필요없으면 바로 버려라 대신 멱등성에 더 신경쓰거나 에러알림 또는 너만의 fallback을 잘 마련하면 된다
- 1
- 4
- 29
Q&A
실무에서 배치 메타데이터 관리
고백하자면 우리는 관리안한다 💀💀 느낌오지않나 대충봐도 복잡하고 신경쓸 잡음이 말도안되게 확늘어난다 어드민 구축을 제대로 할 게 아니면 인메모리로 가는게 현실적이다 - 킬며든다니….
- 1
- 4
- 29