일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Apache Kafka
- Kafka
- Elasticsearch
- Spring
- 스프링
- 클라우드 컴퓨팅
- 카프카
- 알고리즘
- 스프링 부트
- 백준
- DFS
- Spring Boot
- 코드업
- 자료구조
- 클라우드
- VPC
- 로드밸런서
- gcp
- JPA
- 백트래킹
- 월미도
- 오일러프로젝트
- 머신러닝
- 스프링부트
- Spring Data JPA
- 프로그래밍문제
- springboot
- 쿠버네티스
- aws
- Docker
- Today
- Total
목록Spring (5)
GW LABS

Spring Batch 사용법: 대용량 데이터 처리를 위한 실무 가이드서론대규모 데이터 처리 작업은 단순히 코드 몇 줄로 해결할 수 있는 문제가 아닙니다. 안정성, 트랜잭션 관리, 스케줄링, 장애 복구 등 고려해야 할 요소가 많습니다. Spring Batch는 이러한 요구사항을 충족하기 위해 설계된 프레임워크로, 반복적이고 대량의 데이터 처리를 안정적으로 지원합니다.본 포스팅에서는 Spring Batch의 핵심 개념, 설정 방법, 그리고 실무에서 주의해야 할 사항을 다루어, 개발자가 바로 활용할 수 있는 지식을 제공합니다.본론1. Spring Batch의 핵심 개념Spring Batch는 크게 세 가지 개념으로 나눌 수 있습니다.Job 배치 작업의 최상위 단위 하나의 Job은 여러 개의 Step으로 ..

Spring의 기본 개념 총정리: DI, IoC, AOP 완벽 가이드서론Spring Framework는 자바 기반 애플리케이션 개발에서 표준처럼 사용되는 강력한 프레임워크입니다.대규모 엔터프라이즈 애플리케이션부터 소규모 프로젝트까지, Spring은 DI(Dependency Injection), IoC(Inversion of Control), AOP(Aspect Oriented Programming)와 같은 핵심 개념을 기반으로 유연하고 유지보수성 높은 애플리케이션을 만들 수 있게 돕습니다.이번 포스팅에서는 Spring의 세 가지 핵심 개념을 정확하게 이해하고, 간단한 예제 코드로 구현 방법을 살펴보겠습니다.1. IoC (Inversion of Control) - 제어의 역전IoC는 객체의 생성과 의존성 ..
1.1 스프링 프레임워크 오픈소스 경량급 애플리케이션 프레임워크 핵심가치: “애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것” 1.1.1 제어 역전(IoC) 사용할 객체를 직접 제어하지 않고 객체의 생명주기를 외부(스프링 컨테이너)에 위임 클린코드 11장 시스템에서는 이를 시스템 제작(객체 생성과 의존성 연결)과 시스템 사용(런타임 로직)을 분리하라는 원칙으로 설명하고 있다. 이렇게해서 얻는 이점은 개발자가 관심사를 분리시킬 수 있으므로 비즈니스 로직에 더 집중할 수 있다는 점이다. 1.1.2 의존성 주입(DI) 사용할 객체를 직접 생성하지 않고 외부 컨테이너가 생성한 객체를 주입받아 사용하는 방식 생성자를 통한 의존성 주입 필드 객체 선언을 통한 의..

Single Thread로 처리하기에는 너무 많은 양의 데이터를 처리해야 할 경우가 있다. 특히 마이그레이션 작업 시에 이런 일이 자주 발생한다. 신속하게 대용량 데이터를 DB에 저장 및 업데이트하기 위해서 Spring Boot와 Spring Boot JDBC를 Multi-Thread와 함께 사용해보았다. DB 작업에 Multithread를 적용하기 위해서 어떤 부분을 주의해야 하는지 함께 살펴보자. DB 배치작업 소요시간을 줄이기 위해 선택한 Multithread DB 배치작업 소요시간을 줄이기 위해서 멀티쓰레드 방식으로 구현을 진행하기로 결정했다면 아래와 같은 사항들을 고려해야 할 것이다. Thread 단위로 데이터를 나눌 수 있는가? 데이터를 Key 기준으로만 제어하는 작업이라면 Multithrea..

이번 포스팅에서는 스프링 부트에서 여러 DataSource를 구성하는 방법을 소개한다. 보통의 경우 스프링 부트에서 DataSource는 하나로 유지해도 충분할 것이다. MSA 아키텍처가 유행하고 있고, 이에 따라 각각의 작은 API 프로젝트들이 하나의 DB만 바라보면 충분하기 때문이다. 그러나 특별한 상황에서 한 프로젝트에서 여러 DataSource가 필요한 경우가 있다. 이러한 Multi Datasource 같은 경우에도 구성방법은 어렵지 않다. 실수하기 쉬운 부분을 여기에 정리하려고 한다. 여러 개의 DataSource가 필요한 상황 마이그레이션 마이그레이션 작업을 스프링 부트를 이용해서 진행해야 할 때 여러 DataSource를 설정하여 작업이 필요하다. API없이 하나 이상의 DB처리 별도 AP..