일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring Annotation
- scrapy
- gradle
- Spring Batch
- IntelliJ
- Spring
- Spring Batch 강의
- Vue
- 구글 애드센스 수익
- 젠킨스
- python
- 애드센스 수익
- Vue 배우기
- 도커
- JDK1.3
- docker 명령어
- Vue 알아보기
- docker
- apache log4j
- MYSQL
- Python 기본편
- intelliJ plugin
- 미국주식
- spring boot 시작
- AES256
- Vue 강의
- 미국 배당주
- 티스토리 광고 수익
- python 기초
- docker mysql
목록IT (100)
나만의공간
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mJEHb/btsC77gLhqt/lkBZdSk0pWY6ccIJCpFRH0/img.png)
Python을 맥북에 설치 하는 방법 입니다. 아래 Site에서 맥용 Python을 설치 하시면 됩니다. 설치 시점에 버전을 다를 수 있으니 최신 버전을 설치 하시면 됩니다. Site : https://www.python.org/downloads/ 개발 Tool로는 요즘 많이 사용하는 Visual Studio를 설치 합니다. Visual Studio 설치 완료 후 Python개발시 편의성을 제공하는 plugin을 설치 하면 됩니다. 마켓플레이스에서 python을 검색해서 상단에 보이는 plugin을 설치하고, 그 외에 개발에 필요한 plugin은 개발하면서 하나씩 추가로 설치 하시면 됩니다. 이제 개발을 위한 기본환경을 모두 완료 하였으니 개발에 가장 기초가 되는 "Hello World"를 출력해 보겠습..
요즘은 많은 어플리케이션에서 로그를 편하게 찾을수 있도록 도움을 주고 있다. ELK를 구성하거나, AWS를 쓰면 CloudWatch를 사용하거나 하여 어렵지 않게 찾을 수 있다. 그러나, 항상 시스템에는 예외가 존재하고 이전 방식처럼 각 서버에 들어가 로그를 봐야 하는 경우가 있고 그럴때 로그 파일을 다운로드 받거나 VI Editor를 이용해서 로그를 찾고 하는데, 문장에서 단어를 하나 찾는거는 "/" 키를 이용하여 찾으면 되지만 두개 단어를 같이 찾아야 하는 방법을 몰라 고생할때가 있어 방법을 작성 합니다. VI 문장에서 일치하는 두개 단어 찾기 /1234.*useYn / : VI Editor에서 단어찾기 모드로 변환 1234 : 1234라는 단어를 찾음 .* : 1234 단어 뒤에 useYn이 있는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ehPilR/btsAzBc4e89/M7KnU0Q9FW3if93wzpkjV0/img.png)
FlowJob 기본개념 Step을 특정한 상태에 따라 흐름을 전환하도록 구성할 수 있으며, FlowJobBuilder에 의해 생성됩니다. Step이 실패하더라도 Job은 실패로 끝나지 않도록 해야 하는 경우 Step이 성공했을때 다음에 실행해야 할 Step을 구분해야 할 경우 특정 Step은 전혀 실행되지 않게 구성해야 하는 경우 Flow와 Job의 흐름을 구성하는데만 관여하고 실제 로직은 Step에서 이뤄집니다. 내부적으로 SimpleFlow 객체를 포함하고 있으면 Job 실행시 호출 됩니다. 배치상태유형 FlowJob은 조건에 따라 분기되어 실행되는데 그에 대한 조건상태를 이용합니다. BatchStatus Batch Status는 JobExecution과 StepExecution의 속성으로 Job과 ..
현재 폴더 기준으로 하위 폴더 용량 표시 방법 리눅스에서 현재 폴더 기준으로 하위 폴더별 용량을 확인 하고자 할때 사용하는 명령어 입니다. du -h --max-depth=1 현재 폴더의 하위 폴더별 용량을 사람이 보기 편한 형식으로 표시하고, 현재 폴더의 하위 폴더까지만 표시 하도록 합니다. du -h --max-depth=2 max-depth값을 조절 하게 되면 좀더 하위에 폴더별 용량을 볼수 있습니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lIMkN/btsyJM1vcNb/ThrskRECp2rXKs45S8U641/img.png)
StepBuilderFactory와 StepBuilder StepBuilderFactory StepBuilder를 생성하는 팩토리 클래스로서 get 메소드를 제공함. StepBuilderFactory.get("stepName") stepName으로 step을 생성하도록 StepBuilder에게 전달 StepBuilder Step을 구성하는 설정 조건에 따라 다섯 개의 하위 빌더 클래스를 생성하고, Step생성을 위임함. TaskletStepBuilder -. Tasklet을 생성하는 기본 빌더 클래스 SimpleStepBuilder -. Tasklet을 생성하며, 내부적으로 청크기반 작업을 처리하는 ChunkOrientedTasklet 클래스를 생성합니다. PartitionStepBuilder -. Pa..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NXk3t/btsxvJe7QZX/Ko8AEBZkkGkgK6uyGAq0Pk/img.png)
JobLauncherApplicationRunner Spring Batch 작업을 시작하는 ApplicationRunner로서 BatchAutoConfiguration에서 생성 스프링 부트에서 제공하는 ApplicationRunner의 구현체로 어플리케이션이 정상적으로 구동되자 마자 실행됨 기본적으로 Bean으로 등록된 모든 Job을 실행 시킵니다. BatchProperties application.yml 에서 Spring Batch 의 환경 설정을 할 수 있음 spring: batch: job: enabled: true names: ${job.name:NONE} jdbc: initialize-schema: always table-prefix: SYSTEM_ enabled 기본값은 true false는 ..
Spring Batch에서 사용하고 있는 도메인들에 대한 개념 이해 Job 기본개념 배치 계층 구조에서 가장 상위에 있는 개념으로 하나의 배치 작업을 의미 합니다. Job Configuration을 통해 생성되는 객체로 배치 작업 구성을 어떡해 실행할 것인지 전체적으로 설정하고 설명해 놓은 객체 입니다. 배치 Job을 구성하기 위한 최상위 인터페이스이며, 스프링 배치가 기본 구현체(SimpleJob, FlowJob)을 제공합니다. SimpleJob 순차적으로 Step을 실행시키는 Job 가장 보편적이고 모든 Job에서 사용할 수 있는 표준 기능 제공 FlowJob 특정 조건과 흐름에 따라 Step을 구성하여 실행시키는 Job Flow 객체를 실행시켜서 작업을 진행 Job은 여러 Step을 포함하고 있는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b033O9/btsvJOnbtWz/G2NeTdiElqnwqZ35kUYRY0/img.png)
Spring Batch를 만들기전 Batch란 무엇이며, Spring Batch에서 사용하는 용어에 대한 정리를 하겠습니다. Batch란? 배치는 어떤 업무에 대한 일괄 처리를 뜻합니다. 전날 신규 가입한 고객수를 알고자 하는 업무가 있다고 할때 필요할 때 마다 OLTP(RDS DB)를 매번 조회 한다고 하면 DB는 해당 트래픽을 감당하지 못할 수 도 있고, 의미 없는 네트워 비용, DB비용이 많이 들게 됩니다. 이럴때 전날 신규 가입한 고객에 대해서 따로 집계를 하는 어플리케이션(배치)가 있다고 하면 별도 집계는 필요없이 한번 집계된 데이타를 조회만 하면 되니 시스템 안정성/비용 등이 대폭 감소하게 됩니다. 이런한 업무를 처리하는 어플리케이션을 배치 어플리케이션 이라고 합니다. 배치 어플리케이션이 처리..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cmEN84/btsvkpV6gGf/PFQDZE2SAU89enGnxKukIk/img.png)
Spring Batch에서 사용하는 메타 테이블은 아래와 같은 ERD구조를 가지며 각 테이블이 어떤 역활을 하고 있는지 알아 보겠습니다. ERD 구조 BATCH_JOB_INSTANCE Job 실행시 Job Instance 정보가 저장된다. 동일한 JOB_NAME 과 JOB_KEY는 중복 저장될 수 없다. 동일한 JOB_NAME의 JOB INSTANCE를 만들고자 하면 매번 다른 JobParameter를 사용해야 한다. 컬럼 설명 JOB_INSTANCE_ID 고유하게 식별할 수 있는 기본키 VERSION 업데이트 될 때마다 1씩 증가 JOB_NAME jobBuilderFactory.get에 설정한 Job Name Insert 됨 JOB_KEY 동일한 Job Name의 개별 인스턴스를 서로 고유하게 식별하는..
대부분에 어플리케이션은 DB를 접속하여 동작을 합니다. Batch는 더욱 DB연결을 많이 하게 되어 있고, Spring Batch에서도 DB연결은 필요하게 됩니다. 이번 강의 에서는 Spring Batch에 DB를 연결하고 3편에서 강의한 Log를 이용해 DB관련 로그도 같이 출력 되도록 진행 하겠습니다. SpringBatch 5.X가 나온상태이지만 DB연결시 어려움이 있어 SpringBatch 4.X기반으로 작성 되었습니다. build.gradle DB 로그관련 설정 추가 start.spring.io 사이트에서 Spring Batch에 기본설정으로 생성하게 되면 아래와 비슷한 dependencies가 생성됩니다. 여기서 추가로 필요한 DB로그 정보등을 볼수 있는것들을 추가 합니다. implementat..