아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기 [SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기 devocean.sk.com Spring Batch에서 flow 컨트롤은 Job 내에서 Step들의 실행 순서와 조건을 제어하는 기능입니다. FlowBuilder API를 사용하여 설정할 수 있습니다. 주요 APIFlow 컨트롤을 위해 Spring Batch에서 제공하는 주요 API들은 다음과 같습니다.next(): 순차적으로 Step들을 연결시킬 때 사용합니다.on(): 특정 Ex..
아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기 [SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기 devocean.sk.com 스프링 배치를 사용할 때 비즈니스 로직에 맞는 배치 수행을 위해 커스텀이 필요합니다.커스텀을 위해 두 가지의 실습으로 나누어 진행 해보았습니다.QueryDSL을 활용해 QuerydslPagingItemReader 클래..
아래 글은 [인프콘 2024] 클린 스프링: 스프링 개발자를 위한 클린코드 전략 -토비님의 발표를 듣고 정리한 글입니다. 1. 클린 코드, 정말 필요한 걸까요?“클린 코드가 과연 구현 속도와 생산성을 떨어뜨리는 걸까?”그렇다면, 클린 코드는 무엇일까요? 발표에서는 로버트 마틴의 책 클린 코드를 중심으로 다음 네 가지가 언급되었습니다.읽기 좋은 코드이해하기 쉬운 코드확장하기 좋은 코드유지보수하기 좋은 코드결국 클린 코드는 단순히 원칙을 따르는 것이 아니라 ‘유지보수성’이라는 개념이 모든 것을 아우르는 본질이라고 강조하셨습니다.2. 클린 코드에 대한 오해들발표에서 흔히 듣는 클린 코드 관련 오해들이 소개되었습니다."클린 코드는 주석 없이도 충분하다.""클린 코드만 있으면 테스트는 필요 없다.""클린 코드는..
아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기 [SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기 devocean.sk.com CompositeItemProcessor 란?Spring Batch에서 제공하는 ItemProcessor 인터페이스를 구현하는 클래스입니다.여러 개의 ItemProcessor를 하나의 Processor로 연결하여 여러 단계의 처리를 수..
7회차는 Spring Batch의 MyBatisItemReaderWriter/Writer에 대해 공부했습니다.스터디 진행 전 교안을 공부하며 정리한 내용은 이곳에서 볼 수 있습니다. [7회차] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatchyeseul-dev.tistory.com 스터디를 진행하면서 중요했던 내용들 몇 가지를 정리해보았습니다. 1. 마이바티스의 XML 방식과 인터페이스 방식 비교XML 방식장점: 대규모 쿼리나 복잡한..
아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatch 연재 07] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기 [SpringBatch 연재 07] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기 devocean.sk.com MyBatis는 자바 기반의 SQL 매퍼 프레임워크로, 애플리케이션에서 데이터베이스와 상호작용하기 위한 도구입니다. 주로 SQL 문을 직접 작성하고 이를 자바 코드와 연결하는 데 사용됩니다. JPA,..
6회차는 Spring Batch의 JpaItemReaderWriter에 대해 공부했습니다. 스터디 진행 전 교안을 공부하며 정리한 내용은 이곳에서 볼 수 있습니다. [6회차] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatchyeseul-dev.tistory.com 1. JPA를 사용한 Batch 처리 중 예외와 데이터 무결성 문제Spring Batch와 JPA를 활용한 Batch 처리에서 다음과 같은 문제들이 발생할 수 있습니다.예외 발생 시 데이..
도메인 주도 설계에 관심이 있어서 [NHN FORWARD 22] DDD 뭣이 중헌디? 🧐 를 보았는데,해당 영상만 보고는 쉽게 이해가 가지 않아 여러 영상들과 글들을 참고 해서 얕게나마 정리 해보았습니다. 정리 해두고 다음에 다시 보고 더 정리 해 봐야겠습니다. DDD (Domain-Driven Design)도메인이란 무엇인가?먼저, 도메인이란 특정 정보와 활동이 이루어지는 영역을 의미합니다. 프로그래머에게 도메인은 애플리케이션의 로직이 관여하는 정보와 활동의 영역을 나타냅니다. 예를 들어, "회원"이라는 도메인에서는 회원 가입, 탈퇴와 같은 회원과 관련된 일련의 작업들이 포함됩니다. 또한, "도메인 레이어"와 "도메인 로직"이라는 용어는 비즈니스 로직과 동일한 개념으로 받아들여집니다. 이 비즈니스 로..