Skip to content

Instantly share code, notes, and snippets.

View benelog's full-sized avatar

Sanghyuk Jung benelog

View GitHub Profile
@benelog
benelog / 0-retry.md
Last active October 8, 2017 15:51
retry.md

Spring retry

pom.xml에 아래와 같이 의존성을 추가하면 사용할수 있습니다.

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
    <version>1.0.3.RELEASE</version>
</dependency>

RetryTemplate 과 RetryOperationsInterceptor 를 제공합니다. RetryTemplate이라는 클래시에 재시도 횟수와 대기시간 정책 등을 지정할 수 있습니다.

@benelog
benelog / xrebel.md
Created November 7, 2014 04:58
Xrebel

export MAVEN_OPTS="-javaagent:/home/benelog/programs/xrebel/xrebel.jar -noverify"

@benelog
benelog / h2-config.md
Last active May 11, 2019 15:58
h2 DB사용법

별도의 DB설치 없이 사용할 수 있어서, 테스트, 교육용, 패키지용 소프트웨어에서 사용핧만하다.

1. 의존성 추가

pom.xml에 추가한다.

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.181</version>
@benelog
benelog / springloaded.md
Last active May 12, 2021 09:04
springloaded

springloaded는 개발환경에서 .java클래스를 수정했을 때 변경된 클래스파일만을 재로딩하는 도구입니다. Local PC에서 수정과 Tomcat재시작을 줄이는데 도움이 됩니다.

다만 JRebel도 그러하듯이 모든 경우 완벽한 리로딩이 되지는 않습니다. 메서드추가,수정시에는 잘 반영됩니다. 그러나 아래와 같은 경우에는 자동반영이 되지 않습니다.

  • 상속구조의 변경
  • Reflection정보가 Cache된 것
  • XML설정 수정 (이 부분은 프레임워크 특화된 구현이 들어가지 않으면 당연히 어렵습니다.)

그래도 많은 경우 Tomcat재시작없이 개발을 이어갈 수 있다면 없는것보다는 생산성에 도움이 되리라 생각합니다.

1. Spring XD 설치

wget http://repo.spring.io/release/org/springframework/xd/spring-xd/1.0.1.RELEASE/spring-xd-1.0.1.RELEASE-dist.zip
unzip spring-xd-1.0.1.RELEASE-dist.zip
cd spring-xd-1.0.1.RELEASE/

이하 모든 경로는 위의 마지막 디렉토리를 기준으로 함.

2. JDBC Driver 다운로드

쓰고 싶은 DB의 JDBC드라이버를 다운로드해서 xd/lib 폴더에 복사. 여기서는 H2 DB를 사용함.

@benelog
benelog / install.sh
Last active August 29, 2015 14:06
철도예약
git clone git://github.com/carpedm20/korail2.git
cd korail2
python setup.py install
@benelog
benelog / preview.js
Created July 15, 2014 10:19
phatom.js
var server = require('webserver').create();
var service = server.listen(18080, function (request, response) {
var params = parseQueryString(request.url);
render(params.address, params.output);
response.statusCode = 200;
response.write("<html><body>");
response.write("<p>" + params.output + " writed! </p>");
import static java.nio.file.StandardWatchEventKinds.*;
import java.io.IOException;
import java.net.URL;
import java.nio.file.FileSystems;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
@benelog
benelog / Matrix.java
Last active January 15, 2018 15:03
나선형배열 문제
package problems;
import static java.util.Arrays.*;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.function.Consumer;
/**