본문 바로가기

프로그래밍

(57)
json schema validator 사용하기 - 01 1. json-schema-validator란? - xml의 DTD 와 유사함. - Json 스키마(http://json-schema.org/) 포멧이 유효한지 확인해줌. - 웹사이트에서 해당 내용을 테스트해볼 수 있다.(링크) 2. library - 기존에 jackson을 많이 사용하므로, fasterxml에서 제공하는 jsonSchema 라이브러리를 사용하려고함. 1) pom.xml com.github.java-json-tools json-schema-validator 2.2.8 3. 간단한 Json 설명{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "/etc/fstab", /* JSON에 대한 제목 */ "description":..
[AppStore Viewer] 1. 세팅하기. 1. AppStore Viewer는? 1) "대한민국" AppStore 내에 있는 "iOS"어플 들 랭킹을 보여주고. 해당 어플의 "댓글"들을 볼수 있는 어플을 만들 예정. 2) Windows, MAC, Linux 에서 사용할 수 있도록 "Cross-Platform" 데스크톱 앱을 만들 예정. 2. Stack 소개 1) Electron - Node.js 기반으로 작성된 데스크탑 어플리케이션 - HTML, CSS, Javascript로 데스크톱 어플을 쉽게 만들 수 있게 해주는 Framework - Atom Editor를 개발하기 위하여 시작된 프로젝트이고 Atom Shell이라는 이름으로 시작되었다 Electron으로 변경됨. - 웹으로 만들어진 서비스가 있다면 손쉽게 데스크톱 어플로 기존 소스를 재활용..
[Spring Batch] 3. 하나의 App에 Multi Job 환경 구축 1. Multi Job - 한개의 Application 에서 여러개의 Job을 만들기 2. Job을 2개 만든다. 1) 이전 글에서 만든 Job/** * Basic Configuration * * @author akageun */ @Configuration public class BasicConfiguration { private static final Logger LOG = LoggerFactory.getLogger(BasicConfiguration.class); private static final String BASIC_JOB_NM = "BASIC_JOB"; private static final String BASIC_STEP_NM = "BASIC_TASKLET_STEP"; @Autowired pu..
[Spring Batch] 2. 기본 세팅 해보기 1. 기본 세팅 해보기 1) JOB 세팅하기@Autowired public JobBuilderFactory jobBuilderFactory; /** * Basic Job Configuration * * @return */ @Bean(name = BASIC_JOB_NM) public Job basicJob() { //@formatter:off return jobBuilderFactory .get(BASIC_JOB_NM) .incrementer(new RunIdIncrementer()) .start(basicTaskletStep()) .build(); //@formatter:on } 2) STEP(1) 기본 소스@Autowired public StepBuilderFactory stepBuilderFactor..
시스템 종료 후 File 삭제 1. 파일 삭제 - 시스템이 종료될 때 파일 삭제하고 싶음 2. Thread를 생성해서 처리함. - jdk1.8 미만Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { new File("").delete(); //File Delete Code } }); - jdk 1.8 이상Runtime.getRuntime().addShutdownHook(new Thread(() -> { new File("").delete(); //File Delete Code }));3. Apache Commons-io를 사용 - 코드 샘플try { FileUtils.forceDeleteOnExit(new File("fileName")); ..
[Spring Batch] 1. 알아보자 1. Spring Batch 1) Spring batch란? - Spring Batch는 Job과 Step으로 구성되어 있음. - 하나의 Spring Batch안에는 여러 Job이 존재 할 수 있고, 그 Job 안에는 여러 개의 Step 또는 Tasklet을 존재 할 수 있음. - Job -> Step -> ItemReader - ItemProcessor - ItemWriter #https://docs.spring.io/spring-batch/trunk/reference/htmlsingle/#domain 에서 가져온 이미지 입니다. 2) 장점 - 간단하게 대용량 배치를 만들 수 있다. - 이미 만들어진 많은 모듈들을 사용해서 손쉽게 구현가능(CSV 파싱, DB에서 가지고 오기, S3 등에 파일업로드 등)..
[LOGSTASH] 04. Logstash Plugin 01 1. Twitter 1) input 소스input { twitter { consumer_key => "CONSUMER_KEY_GOES_HERE" consumer_secret => "CONSUMER_SECRET_GOES_HERE" oauth_token => "ACCESS_TOKEN_GOES_HERE" oauth_token_secret => "ACCESS_TOKEN_SECRET_GOES_HERE" keywords => ["test","sample"] full_tweet => true }} 2) 참고링크 - https://www.elastic.co/guide/en/logstash/current/plugins-inputs-twitter.html 2. Json_Line 1) 설치bin/logstash-plugin..
[LOGSTASH] 03. Logstash Filter mutate 1. Filter Mutate?? - 데이터 변환 2. 기능 - remove_field : 해당 필드 값들을 제거한다. - rename : 필드명을 변경한다. - 기타 여러 기능들이 있다. 아래 참고링크를 참고하면 좋다. 3. 예제filter {mutate {remove_field => ["@timestamp","@version"]rename => {"TEST_VALUE" => "testValue"}}} * 참고 링크 - https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-rename