2007-06-15

error: Linking with liblualib failed

context:
building ethereal-0.99 with lua plugin
lua 5.1.2

solution:
cd /usr/local/lib
ln -s liblua.a liblualib.a

2007-06-05

Python의 defaultencoding을 바꾸는 법

import sys
reload(sys)
sys.setdefaultencoding(encoding)

보통 sys.setdefaultencoding(encoding)은 site.py에서만 동작하지만
reload(sys) 명령으로 임의의 코드에서 실행된다.

출처: http://www.mail-archive.com/pylons-discuss@googlegroups.com/msg03775.html

2007-05-18

RubyOnRails vs Pylons vs TurboGears

사내 정보시스템용 Web Application을 위해 WAF를 survey했다.

결론적으로 TurboGears를 선택하게 되었다.

RubyOnRails

아직 가장 인기있는 WAF는 ROR일 것이다. 15분만에 weblog 사이트를 만드는 screencast를 보고 감명받지 않을 프로그래머가 있을까? Amazon에서 Ruby On Rails로 검색을 해보면 108권이 나온다. 오히려 우리나라에서 이제 겨우 관심을 주는 게 이상할 정도다.

그래서 가장 많이 사용하는 WAF라고 생각되는 ROR를 선택하였고, 간단하고 풍부한 기능에 어느정도 만족하였으나, Ruby라는 언어를 새로 익혀야 하는 부담이 있었다.

Ruby언어는 python이나 Perl을 알면 기본적인 문법을 배우는 시간이 많이 걸리지 않으나 usage에 익숙해지는 것은 또 다른 문제이고, 상대적이기는 하지만 아무래도 성능 문제
부담이 되었다. 그리고 앞으로 나올 Ruby의 VM에 대한 전망도 그리 밝아 보이지 않았다. 그리고

Programming Ruby를 읽으면서, 언어의 동적 특성이 편해 보이기는 했지만, 전혀 성능상의 고려를 안한 것처럼 보였다. Ruby는 재미있고 좋은 언어이다. 하지만 Perl이 그랬던 것처럼 탄탄한 내부 구조를 갖지 않으면 전문적인 소프트웨어를 개발하는데 사용하기가 꺼려질 수 밖에 없다.

RubyOnRails는 이러한 일반적인 인식을 뒤집어 엎은 소프트웨어다. 그리고 ROR에 붙은 가속도를 생각할 때, ROR 및 Ruby가 앞으로 어떻게 발전할지는 쉽게 예측할 수 없고 절대로 평가절하할 수 없다.

하지만 앞으로 일정기간 이상 유지보수되어야 하는 시스템을 내가 충분히 납득하지 못하는 언어로 개발하기에는 부담이 되었다.

Pylons

그래서 찾아 본 WAF가 Pylons였다. Pylons는 Python으로 작성되었으며 ROR과 유사한 구조를 갖고 있다는 게 가장 마음에 들었다. 그리고 MVC를 구성하는 모듈들도 유연하게 바꿀 수 있었다. 가장 큰 문제는 아직 mature하지 않았다는 점이다. 문서도 절대적으로 부족하고 안되는 기능이 너무 많다. 특히 REST를 아직 제대로 지원하지 못하여서 사용 목적에는 맞지 않았다. Pylons 코드를 보고 Pylons 자체를 개발 하려는 것이 아니라면 아직은 많이 부족한 상태였다.

TurboGears

django 사이에서 약간 고민은 되었지만, TG가 훨씬 ROR에 가깝다는 점에서 TG를 선택했다. 그래도 TG에는 ROR과 비슷한 screencast들도 있고 어쩌면 ROR보다 더 전문적인 Catwork 및 admi18n 과 같은 도구들도 있다. 물론 ROR의 짧고 우아하게 보이는 코드에 비해서 많이 늘어져 보이는 것은 어쩔 수 없다.

2007-05-15

utf8 Linux에서 vi로 euckr 한글문서 편집하기

이 설정은 samba를 통해, 혹은 ftp등으로 windows의 text파일을 공유하는 경우 필수적이다.


모든 파일의 내용이 euckr이라면 ~/.vimrc에 다음 라인을 추가한다.

set fileencodings=euc-kr,latin1

간혹 euckr파일을 편집해야 한다면 vi를 실행하고 나서

set fileencodings=euc-kr,latin1 을 command line에 입력한다.

Samba3와 SWAT 추천

삼바3 사용 강력 추천

이유는?

Samba의 서버로 많이 사용하는 linux는 보통 charset로 UTF8을 기본으로 한다. 그런데 삼바2까지는 window의 charset과 서버의 charset이 다르면 공유하는 한글파일명에 문제가 발생해서 linux의 charset을 euckr로 바꾸어서 사용했었다.

삼바3는 이 문제를 완전히 해결한 것 같다.

linux의 charset이 utf8이라면

[global]
unix char set = utf8
dos char set = cp949
라인을 넣어주면 된다.

그리고 swat는 그 전부터 있었던 util이지만, 사용해 보니 역시 편하다~

telnet에서 한글 문제는 putty를 사용해서 translation page에서 utf-8을 선택해주면 된다.

프로그래밍용 폰트

프로그램밍용 폰트로 Bitstream Vera Sans Mono 가 인기가 좋다.
여기에 맑은 고딕 폰트를 합쳐놓은 것도 있다.

참조 :
한글을 사용하는 프로그래머를 위한 폰트..
참조 : Finding the Best Programmer's Font

Linux에서 한글 setting

linux는 설치시 기본으로 locale이 utf8로 되어있다.
euckr로 바꾸려고 할 때, 2가지 방법이 있는데

1. 자신의 계정에서만 변경: ~/.bashrc에 "export LANG=ko_KR.euckr" 을 추가
2. 시스템 전체 변경: /etc/sysconfig/i18n에서 "LANG=ko_KR.euckr" 로 변경

소스 : 영문 레드헷에서 한글사용환경 만들기

Putty에서 한글폰트 사용하기

Putty에서는 기본 한글폰트이외의 폰트의 영문폰트에서는 한글입력이 안된다.
검색해 본 결과 소스를 컴파일하는 방법이 무식하지만 가장 효과가 있어보인다.

소스: 한글 iPutty에서 한글 폰트 변경


수정은 WINDOWS.C 의 GetCPInfo 를 콜하는 라인 바로 위에 ucsdata.font_codepage = 949; 라고 한줄만 추가해 주면 됩니다.
그럼, 폰트에 상관없이 무조건 한글이 깨지지 않고 입력됩니다.

추가로, 영문폰트와의 매칭은 기본이 바탕체지만, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink 에 다른 등록내용을 참고해서 영문폰트명을 키로 매치시키고 싶은 한글폰트를 적어주면 됩니다.


2007-03-27

청각 테스트

http://meiclamo.net/tag/music 를 통해 보게되어 http://jakemandell.com/tonedeaf/ 에서 테스트 해봤다.
deaftest - 75% ; 70점 이상이면 정상
pitchtest - 16,10,42% ; 점수가 너무 나빠서 3번이나 테스트했다. 500Hz이하에서 2.1Hz 차이까지 분별해 내지만 8-12Hz에서는 평균이하, 16Hz 이상은 구별 못함; 예전에 tone test로 알고 있었지만, 별로 기분이 좋지 않다.
rythme test - 84%; 80점 이상이면 뛰어난 편임, 역시 나이 때문에 고역구분에 문제가 있지만 리듬에 대한 감각은 좋은 것 같다. 그런데 테스트할 때는 확신이 없이 찍었던 것 같은데 -_-;

2007-03-22

Flex2 공부하기

아직은 http://www.adobe.com/devnet/flex/ 만한 사이트는 없다. 이 말은 flex2가 가지는 벤더 종속성때문에 오픈소스 커뮤니티에서의 공감대가 충분하지 않다는 뜻도 된다.

국내에서 출간된 예제로 배우는 adobe 플렉스2 역시 전문적인 개발서적으로 보기에는 ... 많이 부족하다. 온라인 서점에서 서평을 보고 별 생각없이 구매했는데, 역시...

아직 쓸만한 번역서가 없는 상황에서 가장 추천할 contents는 아도비의 http://livedocs.adobe.com 의 매뉴얼과 아도비의 위 아도비 사이트의 많은 sample 들이다. 소스가 제공되는 것들이 많다.

2005-06-17

cvs 설정하기

cvs를 1년 가까이 써오고 있는데...
wincvs가 종종 hang되는 현상이 있다. 그리고 cvsnt도 가끔 crash된다.

www.ssh.com에서 받은 모듈로 서버의 ssh 데몬으로 쓰고 있는데, 이게 문제인가 해서
openssh를 설치해서 다시 설정하고 있다.

서버설정이 여러가지로 다르다. 일단, openssh를 설치하고 나면, 잘되던 putty가 안된다는 것이다.
/etc/xinetd.d/ssh에서 daemon을 sshd로 바꾸는 것 말고 다른 설정이 있는 건지...

이런 toolsmith 작업이 꽤 시간을 잡아 먹는다. 직원 중에 이런 걸 좋아하는 엔지니어가 있으면 좋겠는데... 보통 관심이 없다 -_-;