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

끝.