Skip to content

Instantly share code, notes, and snippets.

Avatar

Sanghyuk Jung benelog

View GitHub Profile
@benelog
benelog / ConnectionMonitor.java
Created Jan 7, 2016
Mysql query monitor script
View ConnectionMonitor.java
import static com.sun.btrace.BTraceUtils.*;
import com.sun.btrace.BTraceUtils.Aggregations;
import com.sun.btrace.BTraceUtils.Sys;
import com.sun.btrace.aggregation.Aggregation;
import com.sun.btrace.aggregation.AggregationFunction;
import com.sun.btrace.annotations.BTrace;
import com.sun.btrace.annotations.Duration;
import com.sun.btrace.annotations.Kind;
import com.sun.btrace.annotations.Location;
View SqlMap2.groovy
import static org.apache.commons.lang.StringUtils.*
class SqlMap {
public static String buildSelectSql(User user) {
StringBuilder sql = new StringBuilder();
sql.append("""
SELECT name, address
FROM user
WHERE 1=1
@benelog
benelog / SqlMap.groovy
Last active Nov 17, 2015
simple example
View SqlMap.groovy
import org.apache.commons.lang.StringUtils
class SqlMap {
public static String buildSelectSql(User user) {
StringBuilder sql = new StringBuilder();
sql.append("""
SELECT name, address
FROM user
WHERE 1=1
View 0-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이라는 클래시에 재시도 횟수와 대기시간 정책 등을 지정할 수 있습니다.

View xrebel.md

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

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

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

1. 의존성 추가

pom.xml에 추가한다.

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.181</version>
View springloaded.md

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

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

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

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

View spring-xd-http-to-jdbc.md

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 Aug 29, 2015
철도예약
View install.sh
git clone git://github.com/carpedm20/korail2.git
cd korail2
python setup.py install
View preview.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>");