Archive for February, 2011

Web Terminal ajaxterm

글쎄 오늘 네트웍이 불안하다. ssh가 계속 연결이 끊긴다. 그래 네트웍 공사중이라 이해는 하겠다만 일을 할 수가 없잖아!!!

그래서 웹에서 구현되는 터미널을 혹시나하고 뒤져보니 바로나온다. http://en.wikipedia.org/wiki/Web-based_SSH#Open_source_examples

우분투 패키지있는 ajaxterm 설치하고 실행하니 바로 되는구나~ 멋진 세상이다.

$ apt-get install ajaxterm
$ service start ajaxterm

http://localhost:8022/ 로 연결하니 그냥 뜬다.. 물론 로그인해야하는것이고, 속도는 물론 느리지만 급한김에 쓸만한 놈인듯하다.


Python 함수에서 static 변수처럼 사용하기…

class에서는 static 변수가 지원됩니다. 그런데 함수에서 가끔 static이 필요할 때가 있습니다.

static을 사용하지 않는다면, global을 써야하는데, global을 사용한다는 것은 항상 꺼려지는 것이기에 static이 권장되죠. 하지만 python은 함수에 static을 지원하지 않고, 비슷하게 이를 흉내낼 수 있습니다.

_static을 잘 보시면 됩니다. 자세한 내용은 생략 ㅋㅋ

def get_connection(_static = {}):
    if 'conn' not in _static:
        conn = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_NAME, use_unicode=True, charset='utf8')
        _static['conn'] = conn
    return _static['conn']

def get_cursor():
    return get_connection().cursor()

Ubuntu에서 설치할 패키지 찾기

Ubuntu를 테스트탑으로 사용하면서 참.. 어색한 것이 많다. 그중에 하나가 설치할 package를 찾는 것인데.. FreeBSD는 make search 하면 되는데.. 뭘까 한참 찼았다.

간단하다.

# apt-cache search package-name

ssh의 연결을 계속유지하기..

Putty나 SecureCRT 같은 클라이언트를 쓰면 NOOP를 일정시간마다 수행해서 연결이 끊어지지 않게 하는 옵션들이 있다.

그런데 요즘 이런 것 대신 순수 ssh를 명령행으로 사용하다 보니, 시간이 지나면 자주 끊겨벼린다. 그래서 다른 서버로 들어갈때 끊길지 모르지 screen을 사용해서 하곤 했었다.

근데 좋은 방법을 찾았다. 물론 man 페이지에도 있지만, 처음 찾을때 키워드로  putty, SecureCRT 같은것 생각해서 noop로 찾으니 못찾은 것이고 ssh의 옵션은 TCPKeepAlive 옵션이다.

# ssh hostname -o TCPKeepAlive=yes

TCPKeepAlive로 해도 연결이 종료되는 경우는 아래처림 해보면 된다.

# ssh hostname -o TCPKeepAlive=no -o ServerAliveInterval=15

django를 다시 하기로 했다.

PHP로 되어있던 코드를 django로 갈아엎기로 했다. PHP로 아무런 철학없이 대충 돌아가는 코드를 물려받아서.. 이걸을 그냥두고 계속 땜빵하는 짓을 정말로 못하겠다는 것이지.~

물론 PHP로 된 프레임웍 CodeIgnitor, YiiFramework, PhpCake등도 있지만, 약간씩 부족하다. 그리고 역시 언어적인 문제로 이전의 PHP 막코딩이 되살아날 가능성도 무시할 수 없다.

어쨌든 django로 가기로 했다. 물론 촉박한 일정이지만... 가능하겠지!!


  • Copyright © 1996-2010 Your wish is my command. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress