Skip to content

Instantly share code, notes, and snippets.

View benelog's full-sized avatar

Sanghyuk Jung benelog

View GitHub Profile
@benelog
benelog / README.md
Last active January 19, 2017 23:57
SMS to TTS

활용요소

  • IFTTT
  • Dropbox
  • Google TTS API
  • mplayer (Linux mp3 player)
  • Python watchdog 라이브러리

사용방법

  1. IFTTT가입
  2. 레서피 복사하여 활성화
#!/bin/bash
echo xinput map-to-output for Multi-Touch-V3004
input_id=`xinput | grep Multi-Touch-V3004 | awk '{print substr($5,4,length($5)-3)}'`
echo Input device id: $input_id
output_id=$1
if [[ -z $output_id ]]; then
output_id=2
fi
@benelog
benelog / ConnectionMonitor.java
Created January 7, 2016 03:41
Mysql query monitor script
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;
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 November 17, 2015 22:42
simple example
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
@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를 사용함.