블로그 글
시니 선생님이 개발 블로그에 쓴 글입니다.
![[실습] 100만건 샘플 더미 데이터 삽입](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F30011062-ff07-8033-907c-da2a7408e82d-b5962a818120dc6d.webp&w=3840&q=75)
[실습] 100만건 샘플 더미 데이터 삽입
1. 샘플 데이터 삽입 -- 1. 기존 데이터 깨끗하게 비우기 (중복 방지) TRUNCATE TABLE orders; TRUNCATE TABLE settlement; DELIMITER $$ DROP PROCEDURE IF EXISTS fill_d

아키텍쳐 구조로 보는 배치 작업
✅ 1. 아키텍처 구조 ✅ 2. 데이터 흐름 상세 분석 1. 개별 반복 구간 (One-by-One) ItemReader: DB에서 데이터를 단건(1건) 읽어옵 ItemProcessor: 읽어온 데이터를 단건(1건) 가공함 Buffer(임시 저장소):
[실습] 배달 플랫폼 '배달의 시니' 정산 시스템 요구사항 정의서
✅ 1. 프로젝트 개요 프로젝트명 : 일별 가맹점 정산 배치 시스템 구축 목표 : 매일 발생하는 대량의 주문데이터를 확인하여, 정산 주기가 도래한 건에 대해 수수료를 제외하고 가맹점주에게 정산해주는 자동화 배치 시스템을 구현한다. ✅ 2. 비즈니스 시

@StepScope 어노테이션을 붙이는 이유
✅ 1. @StepScope의 역할 스프링의 Bean으로 등록한 대상들은, 서버 켜짐과 동시에 스프링의 관리 대상이 됨 우리가 만든 datePrintTasklet 의 경우 jobParameters를 받고 있기 때문에, 실제 앱이 켜질때 Bean을 생성
Chunk 지향 처리란?
✅ 1. 스프링 배치의 두가지 방법 청크 지향 처리(Chunk Oriented Processing) 태스크릿 지향 처리(Tasklet Oriented Processing) ✅ 2. 청크 지향 처리 Chunk(청크) : 크고 무거운 데이터의 덩어리 데이
청크가 마지막을 판단하는 기준은 뭘까?
✅ 1. Tasklet vs Chunk 종료 방식 차이 Tasklet: 개발자가 코드 끝에 return RepeatStatus.FINISHED;를 명시하여 "이제 그만 반복해!"라고 알려준다. Chunk: 개발자가 종료 코드를 작성하지 않는다. 대신
JobParameters란?
✅ 1. 오래된 접속 로그 삭제 배치 LocalDate targetDate = LocalDate.of(2026, 1, 26); deleteLogs(targetDate); 문제점 해결책 ✅ 2. JobParameters란? 정의: 배치 Job을 실행할
![[실습] 실무 배치의 90% Reader, Processor, Writer를 활용한 청크 지향 처리 실습](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F30011062-ff07-80c6-9bd8-d0ce37448cb7-16e79fdda422d224.webp&w=3840&q=75)
[실습] 실무 배치의 90% Reader, Processor, Writer를 활용한 청크 지향 처리 실습
✅ 1. 청크 2개씩 처리 실습 package com.system.batch; @Slf4j @Configuration @RequiredArgsConstructor public class SimpleChunkConfig { private fi
![[실습] JobParameters로 날짜 전달 받는 동적 배치 만들어보기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F30011062-ff07-8023-abda-c49afbfaef6b-d9e1fe1b178ed380.webp&w=3840&q=75)
[실습] JobParameters로 날짜 전달 받는 동적 배치 만들어보기
✅ 1. requestDate 전달받기 package com.system.batch; @Slf4j @Component @StepScope public class DatePrintTasklet implements Tasklet { privat
ItemReader란? / ItemProcessor란? / ItemWriter란?
✅ 1. ItemReader란? public interface ItemReader<T> { T read() throws Exception, UnexpectedInputException, ParseException
![[실습] Tasklet 인터페이스로 단일 배치 작업 처리하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F30011062-ff07-80ff-8312-c5383b47b867-52609ff21fb1b6ce.webp&w=3840&q=75)
[실습] Tasklet 인터페이스로 단일 배치 작업 처리하기
✅ 1. 코드 작 CafeJobTasklet.java package com.system.batch; @Slf4j @Component public class CafeJobTasklet implements Tasklet { private int
트랜잭션 처리가 불필요한 배치는 어떻게 만들까?
일반적으로 태스크릿 지향 방식의 배치 처리는 간단하게 처리되는 경우가 대부분이다. 따라서, 굳이 데이터 베이스의 트랜잭션 관리가 필요하지 않은 경우도 다반사인데, 이때마다 꼭 transactionManager를 넘겨주어야 할까? 이런 경우에는,