| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 스프링배치 csv
- abstractpagingitemreader
- spring batch 변수 공유
- aop proxy
- job parameter
- 선언적 트랜잭션 관리
- stepexecutionlistener
- step 여러개
- 스프링배치 메타테이블
- step 사이 변수 공유
- spring batch 5
- 아이템 리더 커스텀
- api 아이템 리더
- 마이바티스 트랜잭션
- step 값 공유
- 읽기 작업과 쓰기 작업 분리
- flatfileitemwriter
- Spring Batch
- 트랜잭션 분리
- 스프링 배치 파티셔닝
- 스프링 트랜잭션 관리
- 수직 스케일업
- multi threading
- mybatis
- executioncontext 변수 공유
- JSONArray 분할
- 스프링 배치 5
- 스프링배치 엑셀
- executioncontext
- 아이템 리더 페이징 처리
- Today
- Total
목록전체 글 (206)
ebson
Meta Data를 별도로 관리하려면 스프링 배치 프레임워크에서는 배치 애플리케이션 운영을 위해 필요한 기능들을 제공하면서 배치 잡의 실행 상태를 추적하고 실패시 복구 지점을 관리하거나 성능 최적화와 오류 로깅, 복잡한 작업 흐름을 관리하는 것 등을 돕는 메타 데이터 테이블들을 제공한다. 그래서 스프링 배치 프레임워크를 사용한 배치 애플리케이션을 장기적으로 고도화하기 위해 이들 메타 데이터들을 별도로 관리는 것이 필요할 수 있다. [그림 1] Spring Batch 5 Meta Data Table DDL .sql files [그림 2] Spring Batch 5 Meta Data Table ERD 만약 애플리케이션에서 실행하는 모든 잡들이 데이터베이스의 데이터를 조회하거나 수정하지 않는다면 스프링 ..
1. 배열 리스트1.1. 배열 -> 리스트 변환int[][] intArr = new int[2][4] {{0, 1, 2, 3}, {4, 5, 6, 7}};List intList = new ArrayList();for (int[] element : intArr) { intList.add(element);} 1.2. 리스트 -> 배열 변환int[][] intArr = new int[2][4]; // 반드시 길이를 알아야 초기화할 수 있음for(int i=0; i 2. 배열과 리스트의 정렬2.1. 배열의 정렬- Arrays.sort() 를 사용한다.ex) 요소의 1번 인덱스에 해당하는 값을 기준으로 오름차순 정렬Arrays.sort(intArr, (o1, o2) -> o1[1]-o2[1]); 2.2. ..
EC2 생성프리티어로 사용할 AWS 계정을 생성했다면 EC2를 생성한다. (최신 버전의 ubuntu 선택) 보안 그룹 설정 80, 5000, 27017 포트에 대한 인바운드 트래픽 허용 설정 추가 키파일 생성ssh 를 사용해 접속하기 위한 RSA 유형의 키파일을 .pem 형식으로 생성하고 저장 ubuntu 서버 접속하여 프로젝트 세팅1. 시스템 업데이트$sudo apt-get update 2. 파일질라로 접속하여 프로젝트 파일 업로드 3. nodejs 설치$sudo apt-get install nodejs $curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -$sudo apt-get install -y nodejs$sudo apt ins..
'객체지향의 사실과 오해'를 읽게된 계기좋은 기회로 현업에 계신 개발자분께 개발 서적을 몇권 추천받았다. 조영호 님의 '오브젝트(2019)'와 '객체지향의 사실과 오해(2015)' 가 그것이다. 먼저 쓰였으면서 더 적은 분량의 '객체지향의 사실과 오해'를 먼저 읽어봤다. 일반적으로 개발 서적을 구매할 때는 목차와 서평을 참고하는 것으로 충분할 수 있지만, 당장 실무에 적용할 수 있는 내용이 아니라고 판단될 경우에는 좀 더 구체적인 내용 요약이 담긴 서평을 찾는 편이다. 그래서 며칠간 '객체지향의 사실과 오해'를 정독하고 재차 훑어본 것을 바탕으로 핵심 문장들을 추린 것과 함께 읽고 나서 느낀점을 적어보려고 한다. 조영호 님의 '객체지향의 사실과 오해(2015)'는 객체지향 프로그래밍에 대한 일반적인 이..
1. R, G, B 를 선택한 경우 N번 집까지 가는 최소값을 각각 dp[n][0], dp[n][1], dp[n][2] 으로 저장한다.2. dp[n-1][0], dp[n-1][1], dp[n-1][2] 중 최소값을 출력한다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int N; static int[][] dp; public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new InputS..
1. lo를 0, hi를 기타 레슨 시간 목록 lectures의 총합으로 초기화한다.2. 출력할 변수 ans에는 hi를 저장한다.3. lo가 hi이하이면 아래 4-9를 반복한다.4. mid에 (lo+hi)/2를 저장한다.5. mid가 lectures 요소 중 최대값보다 작으면, lo를 mid+1으로 저장하고 다음 반복으로 넘어간다.6. subLen을 0, subCnt를 1으로 초기화하고 lectures를 순회하면서 아래 6.1-6.2를 반복한다.6.1. subLen에 lectures의 요소를 더한 값이 mid 이하이면 sub에 lectures의 요소를 더한다.6.2. 만약 mid보다 크다면 subCnt에 1을 더하고 subLen에는 lectures의 요소를 저장한다.7. subCnt가 M(블루레이의 개수..
1. 모든 좌표를 순회하면서 아래를 반복1.1. 방문체크하고 집의 개수를 1으로 초기화한 후에 dfs를 수행1.1.1. 상하좌우 좌표값 중 값이 '1'이고 방문하지 않았으면 방문체크하고 dfs를 호출, 전역변수 d값을 1증감1.1.2. dfs함수 밖에서 초기화했던 d를 반환1.2. d_list에 dfs수행 결과 전역변수 d를 추가1.3. 영역의 개수 cnt를 1 증감2. 영역의 개수 cnt를 출력하고 d_list를 오름차순으로 출력 import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main { static int N, d, cnt; static int[][] board; ..
1. 아래와 같이 bfs방식으로 거리값을 증감하면서 좌표를 탐색하고 목적지에 도착한 경우 최단거리값을 출력1.1. 출발지 좌표와 초기 거리값을 Queue에 추가1.2. Queue 가 빌 때까지 아래를 반복1.2.1. Queue.poll 하여 현재좌표와 거리값을 저장1.2.2. 현재 좌표가 목적지 좌표이면 거리값을 반환1.2.3. 상하좌우 좌표를 검사하면서 좌표값이 '1'이고 방문하지 않은 경우 방문체크하고 Queue 에 좌표, 현재거리+1을 add2. bfs함수 호출 결과를 출력 import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.u..