2018년 2월 4일 일요일

Apache Benchmark

ab -n 1000 -c 100 "http://localhost"

traceroute 포트 확인

traceroute -n -p 3306 -T 127.0.0.1

Bytes가 String형식인지 Binary형식인지 여부 정규식을 이용한 간단체크

/**
 * 로깅 가능한 String 메시지로 변환한다.
 * 텍스트 형식으면 텍스트로, 바이너리라고 추정되면 hex 반환.
 * @param message
 * @return
 */
private String convertLogMessage(ByteBuffer message) {
String logMessage = null;
try {
logMessage = new String(ByteBuffer.wrap(message.array(), 0, message.limit()).array(),"UTF-8");
if(Pattern.compile("[^\\x20-\\x7e]").matcher(logMessage).find()) {
logMessage = Hex.encodeHexString(ByteBuffer.wrap(message.array(), 0, message.limit()).array());
}
}catch(Exception ignore){}
return logMessage;
}

저쪽으로 갔어 ㅋㅋㅋ


ANT red-line 플러그인을 이용한 리눅스 RPM패키지 빌드

[JAVA로 작성된 어플리케이션을 RPM으로 배포할 경우 ANT의 RPM 패키징 태스크를 이용하여 빌드 하는 법]
어플리케이션을 RPM패키지로 배포해야되는 경우 linux의 rpmbuild를 이용하여 패키징 시 몇가지 문제점이 발생함.
(한가지 예로 CentOS 6.xx에서 빌드한 RPM패키지의 경우 CentOS 5.xx 에서 설치가 않되는 경우 발생)
이럴 경우 Pure 자바로 작성된 RPM패키지 라이브러리를 사용해보잣~
몇가지 형태로 사용가능하나 여기서는 ANT의 Task로 등록하여 사용하는 방법으로 구현.


RedLine 라이브러리 다운로드하자.
http://redline-rpm.org/usage.html

이클립스 플러그인 설정 및 테스트
1. jar 라이브러리 ecilpse의 plugin 폴더에 복사
2. Preperence > Ant > Runtime 메뉴에서 Classpath > Contributed Entries로 등록

ANT의 build.xml 파일 작성
<project basedir="." xmlns:redline="antlib:org.redline_rpm">
<target name="rpm">
<mkdir dir="dist"/>
<redline:rpm group="Java Development" name="Application.rpm" version="" destination="dist">
<!-- executable jar file -->
<zipfileset prefix="/usr/local/application" file="./Application.jar"/>
<!-- additional config file -->
<rpmfileset prefix="/usr/local/application" file="./config.xml" config="true" noreplace="false" filemode="755" username="root" group="root"/>
<rpmfileset prefix="/teralog/agent" file="./log4j.properties" config="true" noreplace="false" filemode="755" username="root" group="root"/>
<!-- registers init start,stop script -->
<rpmfileset prefix="/etc/rc.d/init.d" file="./GSCDN_TOTMN_AGENT.sh" filemode="755" username="root" group="root"/>
<link path="/etc/rc.d/rc3.d/K02[APPLICATION].sh" target="/etc/rc.d/init.d/[APPLICATION].sh"/>
<link path="/etc/rc.d/rc3.d/S50[APPLICATION].sh" target="/etc/rc.d/init.d/[APPLICATION].sh"/>
</redline:rpm>
<move file="./dist/GSCDN_TOTMN_AGENT--1.noarch.rpm" tofile="./dist/GSCDN_TOTMN_AGENT-linux.rpm"/>
</target>
</project>

아파치 인증이 필요한 패스에 wget으로 파일 다운로드

wget -N --http-user=[사용자명] --http-passwd=[패스워드] http://[리소스 경로명]

아파치 https 설정

vim ./apache/conf/httpd.con
or
vim ./apache/conf/vhosts/home.oopscraft.com.conf

[아래 내용 추가]
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

MYSQL 날짜 Dummy 테이블

Mysql에서는 재귀호출함수가 없어서 날짜 더미테이블 생성할때는 이게 제일 간단한듯..

select  dt.yyyymmdd
from    (
        select      curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as yyyymmdd
                    ,a.a as aa
                    ,b.a as ba
                    ,c.a as ca
        from        (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
        cross join  (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
        cross join  (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
        ) dt
where dt.yyyymmdd between '2015-07-10' and '2015-07-15'

여자친구에게 군대 진지공사 이해 시키기


이 데칼 정말 빠져든다;;







적금 풍차돌리기?

우연히 적금 풍차돌리기 재테크 무림비법을 발견 (이거 잼있는듯 ^^;)
월 120만원 불입 적금 가입 예정인 경우
한번에 가입하지 않고 다음과 같이 분할하여 가입

1월: 월 10만원불입 적금1 시작
2월: 월 10만원불입 적금2 시작
.
.
11월: 월 10만원불입 적금11 시작
12월: 월 10만원불입 적금12 시작

다음 년도 1월에 적금#1 만기 하여 [원금 + 이자] 통장에 들어옴.
그럼 다시 풍차돌리기 시작. 2월에도 만기 돌아오면 풍차돌리기 시작. 계속...ㄱㄱ
이렇게 되면 가입 1년 후부터는 매달 적금 만기가 돌아옴. 그럼 다시 풍차돌리기 ㄱㄱ
적금 풍차돌리기의 장점은 매달 돌아오는 만기로 재미 UP + 단리가 아닌 복리로 이자수익 창출 인듯.
이거 투자보다는 안정적인 적금을 좋아하시는 분은 추천할만한 재테크 방법인듯.

Creating CRC32 Hex string

public String getCRC32HexaString(String paramString) throws Exception  {   byte bytes[] = paramString.getBytes(DEFAULT_CHARSET);   Che...