2008년 12월 10일 수요일

Javascript Ticker


이걸 Ticker라고 부르는 지 몰라서 검색하는데 한참 헤맸지만,
검색결과도 그닥 시원찮아서 (돈 받고 파는건 뭥미;;;)

그냥 간단 버전으로 자작.
예외처리나 파라미터 처리 같은 건 전혀 없음.
prototype.js 필요함.

더보기


2008년 12월 3일 수요일

vi, shell 등등 자잘한 것들.


1. vi 에서 현재파일 쉘에서 실행하기.
:!sh %
 ! - 쉘로 빠져서
sh 명령 실행하고
% 는 현재 파일명

2. 쉘스크립트에서 변수명 escape

${var} 문자열을 출력해야 한다면
escape 은 모르겠고,
$를 @로 대치해서 사용한 후에
출력전에 sed 로 replace

    cat << EOD | sed s/@/\\$/g
 $var
EOD

...

또 있었는데 생각 안나서리...

2008년 11월 24일 월요일

마법사 특성

냉비 특성.

솔플 시...
 감속, 신화, 신화, 탄막
 얼화, 신화, 탄막.

인던에서
 얼화, 얼화, 탄막

광역은... 눈보라.

너무 어중띄기 인 거 같은데...

비전 올빵 하자니, 광역이 너무 안될 거 같고...

다른 냉비 특성

이건, 얼화 쏘다가 화살 탄막 터짐 신화 날린다. 광은 역시 눈보라.


현재는 이거로 갈까 생각 중임...

* 냉기 특성. (얼불 용)
음...크리가 너무 낮고, 엠이 달려서 역시 랩업은 냉기?


2008년 11월 21일 금요일

FreeBSD - ISO Image 파일 mount

mount
mdconfig -a -t vnode -f /path/to/image.iso -u 1
mount -t cd9660 /dev/md1 /mnt/cdrom


umount
mount -u /mnt/cdrom
mdconfig -d -u 1


http://www.freebsddiary.org/iso-mount.php

2008년 11월 20일 목요일

wget proxy 설정.

$ export http_proxy="http://proxy.example.com:8080"
$
export ftp_proxy="http://proxy.example.com:8080"

매번 까먹는...

쉘의 기본설정 파일(.profile, .cshrc) 등에 넣어두면 잊고 살 수 있다...

Redhat 로그인 여러 차례 실패 시 계정 잠금/해제

회사 서버에서 뭐 좀 해보다가
계정이 잠겨버려서 캐난감...

RHEL, CentOS 에 해당되는 이야기이고, 다른 운영체제는 모르겠다.

우선, 해제는

# faillog -u username -r
로그인 실패 횟수를 초기화 시켜서 잠금 상태를 푸는 방식.

-r 옵션이 카운터를 리셋시켜준다.

잠금 설정은

/etc/pam/system-auth 에서 설정하는데,
내가 SE는 아니라서 그런겁다 하고 패스.

관련 자료는 아래 링크 참조.

http://kbase.redhat.com/faq/FAQ_80_4268.shtm
http://kbase.redhat.com/faq/FAQ_44_4047.shtm

2008년 11월 17일 월요일

Jettison - array serilaization is not consistent


cxf 가지고, restful 로 json 출력 지원하는 작업을 하다가 발견.

배열로 떨어져야 할 놈이 길이가 1인 경우 스칼라 값으로 내려와서

좀 황당하더라...

http://jira.codehaus.org/browse/JETTISON-22
http://blogs.sun.com/japod/entry/missing_brackets_at_json_one

해결책은, cxf 에선 custom provider 를 붙이던가 하면 되는데
json 받아서 처리하는 스크립트 단에서 고쳐도 된다.

prototype을 사용한다면 간단하게,

if (!Object.isArray(obj)) {
  return [obj];
} else {
  return obj;
}

2008년 11월 10일 월요일

SSH Tunnel을 이용한 오라클 연결

오라클 디비 리스너가 사무실에 있는 PC 만 허용되어 있어서,
노트북을 들고 여기저기 다니다가 급하게 접속할 일이 있으면 사무실 PC 로 원격접속해서
처리를 해야해서 굉장히 불편했는데...
문득 생각하니, ssh tunnel을 이용하면 노트북에서 바로 접속할 수 있겠다는 생각이 들어서
해보니 잘되더라...(OTN포럼에 이미 글이 있더라능;;;)

아래와 같이, ssh 접속 후
$ ssh -C -L [localport]:[oracle db host]:[oracle db port] username@ssh-host

오라클 클라이언트에선 localhost:localport 로 연결하면 된다.

ssh 연결들을 깔끔하게 정리할 수 만 있으면 이쁠 듯...

2008년 10월 21일 화요일

ruby 로 thumbnail 만들기


1. ImageMagick 설치

http://www.imagemagick.org/script/install-source.php

2. RMagick 설치

http://rmagick.rubyforge.org/install2-linux.html

3. 테스트

$ irb -rubygems
irb(main):001:0> require 'RMagick'
=> true
irb(main):002:0> include Magick
=> Object
irb(main):003:0> im = Image.read("10.jpg").first
=> 10.jpg JPEG 1280x960 1280x960+0+0 DirectClass 8-bit 190kb
irb(main):005:0> t = im.thumbnail 150, (im.rows*150/im.columns)
=> 10.jpg JPEG 1280x960=>150x112 150x112+0+0 DirectClass 8-bit 190kb
irb(main):006:0> t.write "10c.jpg"
=> 10.jpg=>10c.jpg JPEG 1280x960=>150x112 150x112+0+0 DirectClass 8-bit 5kb


2008년 10월 20일 월요일

Oracle hint 실수

select /*+ index(테이블명 인덱스명) */
어쩌구 저쩌구...

라길래, 시킨대로 했더니 안된다.
왜? 왜? 왜?
from  절에 테이블에 alias 가 걸려 있으면 alias 를 넣어줘야 먹히네...

select /*+ index(a 인덱스명) */
...
from table a

뭐, 이런 식으로...

젠장 ㅠ
굳이 항변하자면...난 힌트따윈 없는 세상에서 살다왔단 말이다!

1위 DB 씩이나 되어서 옵티마이저에 그렇게 자신이 없냐고 욕하고 싶지만,
이것저것 해볼 여지를 남겨둔다는 면에선...음

힌트없이 끝까지 살아볼까 했지만 결국 좌절되었고,
사실 공부하기 싫어서였으니, 이참에 제대로 함 봐볼까 싶기도 하고...

많은 생각이 드는 가운데 '무식이 죄'라는 결론.

2008년 10월 17일 금요일

Apache 2.2 proxy_balancer + Tomcat

Apache proxy_balancer 와 톰캣 연동.

요점은
기본은 요청 시 마다 처리해주는 벨런서의 멤버 호스트가 바뀌는데
(lbfactor 같은 건 무시하고...)
route와 stickysession 설정으로 세션이 묶인 호스트로 계속 요청을
보내게 된다는거.


아파치 설정
ProxyPass /app balancer://app stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://app>
        BalancerMember ajp://host1:8009/app route=host1
        BalancerMember ajp://host2:8009/app route=host2
</Proxy>

톰캣 설정.

host1 의 conf/server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="host1">

host2 의 conf/server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="host2">


세션이 필요없는 환경이면, 그냥 기본 예제대로 하면 된다.

참고:
http://tomcat.apache.org/tomcat-6.0-doc/config/engine.html
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass
http://www.felixwu.com/blog/?tag=proxy_ajp

2008년 10월 14일 화요일

Eclipse - 일반 프로젝트를 자바 프로젝트로 바꾸기.


그냥 냅다 만들었거나, 체크아웃으로 생성한 경우에...

프로젝트 속성 창에서 수정할 방법이 없으므로...

1. 프로젝트 닫기 (Close Project)

2. 프로젝트 폴더로 가서 .project 파일 수정
<natures>
</natures>
부분을
<natures>
  <nature>org.eclipse.jdt.core.javanature</nature>
</natures>
수정하고 저장.

3. 프로젝트 열기 (Open Project)

buiild path 설정하고 할일 하면 됩니다..

2008년 10월 12일 일요일

Freebsd 에서 kdm 시작 스크립트 위치, synergy, nabi 설정

자주 까먹어서...

/usr/local/share/config/kdm

에 있는데, kde 설치 직후에 없으면

# kdm

쳐주면 만들어진다.

*** synergy
kdm 에서 로그인할 때 사용할 수 있으려면

/usr/local/share/config/kdm/Xsetup 파일에 실행 코드를 넣어주고

*** nabi

%cat .kde/Autostart/nabi.sh
#!/bin/sh
/usr/local/bin/nabi  &

%cat .kde/env/nabi.sh
#!/bin/sh

export LANG=ko_KR.UTF-8
export XMODIFIERS="@im=nabi"
export XIM_PROGRAM=/usr/local/bin/nabi
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

 쉘스크립트에 실행 권한 주는 거 잊지말고...







 

2008년 10월 11일 토요일

ruby의 case when 구문은 fall through 형태로 쓸 수 없다.

루비에서 다른 언어의 switch 대응이 case when 이라고 해서,

늘 하던 식으로 해봤다가 깨달은 사실.

http://en.wikipedia.org/wiki/Switch_statement#Ruby

파이썬도 안되는군...

hostname 바꾸기

/etc/rc.conf 말고 바로 바꾸려면.

# man hostname

# hostname [hostname]

이런...간단한...


2008년 10월 8일 수요일

아파치가 디폴트 설치가 아닐 때 mod_rails(passenger) 설치


http://www.modrails.com/documentation/Users guide.html

보통 위 문서를 보면 다 해결되는데,
찾느라 애먹은 적이 있어서 메모 차원에서 남김.

gem install passenger
export APXS2=/아파치루트/bin/apxs
export APR_CONFIG=/아파치루트/bin/apr-1-config
passenger-install-apache2-module

끝.

2008년 9월 29일 월요일

FreeBSD7 - Apache 2.2 시작 오류

포트로 설치 잘하고

/etc/rc.conf 에
apache22_enable="YES" 설정해놓고, 시작했는데 어?

안된다.

hostname으로 ip4 resolve가 안된다는 메세지.

한참 고민하다가 /etc/hosts에 안 넣어놨다는걸 깨닫았다.;;;

덤으로,
/usr/local/etc/rc.d/apache22 rcvar
이란 거 하나 알게되었고...

2008년 9월 26일 금요일

FreeBSD 7.0 에서 firefox3 설치 에러.


FreeBSD 7.0 설치 후,
파이어폭스3 를 포트로 설치하렸더니,

gio-fam-backend 포트 쪽에서 오류 발생한다.

해결책은

/usr/ports/Updating 의 아래 항목에 있다.

20080630:
  AFFECTS: users of graphics/cairo, graphics/poppler*, and future users of www/f
irefox3

20080323:
  AFFECTS: users of devel/glib20 and future users of devel/gio-fam-backend