목요일, 1월 03, 2008

SVN 사용하기 간단요약

  • 작업환경 만들기 (import)

$ mkdir /home/svn

$ cd /home/svn

$ svnadmin create --fs-type fsfs PROJECT_NAME

  • Demon 형태로 실행하기

$ svnserve --daemon --root /home/svn

  • Passwd  설정하기 (passwd)

$ cd /home/svn/PROJECT_NAME/repos

아이디 등록

$ vi passwd

[users]

USER_ID = USER_PASSWD

주석 제거

$ vi svnserve.conf

anon-access = none
auth-access = write

passwrod-db = passwd

  • 기본 디렉토리 만들기 ( trunk, brenanches, tags)

$ cd /home/eek/

$ svn checkout svn://ip/PROJECT_NAME

$ cd PROJECT_NAME

$ mkdir trunk breanches tags

$ svn add trunk breanches tags

$ svn commit

  • 저장소에있는 소스 가지고 오기 (checkout, co)

$ svn checkout svn://ip/PROJECT_NAME/trunk PROJECT_NAME

  • 수정한 내용 저장소에 반영하기 ( commit, ci)

$ svn commit

  • 상태보기 (status, st)

$ svn status

A : 추가. 추가되었지만 아직 커밋되지 않음.
C : 충돌. 작업본의 변경 내용과 저장소의 변경 내용이 겹친 경우.
D : 삭제. 이 상태에서 커밋하면 저장소의 파일도 삭제됨.
M : 수정. 커밋하면 수정된 내용이 반영됨
! : 유실.

  • 로그보기 (log)

$ svn log

  • 추가/삭제 (add/delete)

$ svn add newFileName

$ svn delete delFileName

  • 변경내용 비교하기 (diff)

$ svn diff fileName

  • 저장소 위치변경 (switch,sw)

$ svn sw --relocate svn://FROM_IP/PROJECT_NAME svn://TO_IP/PROJECT_NAME

  • SVN 백업

$ svnadmin dump PROJECT_NAME > PROJECT_NAME.dump_080321

  • SVN 복구

$ svnadmin create PROJECT_NAME

$ svnadmin load PROJECT_NAME < PROJECT_NAME.dump_080321

  • SVN 데몬 실행
    • xinetd에 설치

$ vi /etc/xinetd.d/svn
---------- svn begin
service svn
{
        disable = no
        flags = REUSE
        socket_type = stream
        wait = no
        user = [실행할사용자명]
        server = /usr/bin/svnserve
        server_args = -i -r /home/svn
        log_on_failure += USERID
}
---------- svn end

cd /etc/init.d/ && xinetd restart

    • 데몬으로 실행

화요일, 12월 04, 2007

HPUX 11.11 open_mib g++ error Unsatisfied symbols

sys/mib.h 에 선언되어있는 함수들이 open_mib 관련 함수들이 extern "C" 형태로 선언되지 않아서 생기는 문제입니다.

g++를 사용하는 경우 문제가 생기지만 gcc로 object를 생성하고 g++ 로 링크하는 경우에는 문제가 없네요. 그냥 sys/mib.h를 수정하고 싶지만 사용시스템이라 수정할 수 없어서 c형태 코드를 작성하고 gcc로 컴파일 후 g++로 컴파일 했습니다.

 

환경: gcc 4.1.1, HPUX 11.11, gnu make

 

덧붙임: HPUX 11.23에서는 이런 문제가 없네요..

목요일, 10월 18, 2007

freeze time.strptime문제 해결하기.

freeze로 배포하는 경우 time.strptime을 사용하는 코드가 있는 경우에

함수를 호출하면 _strptime을 모듈을 못 찾아서 종료되는 문제가 발생합니다.

이 문제를 해결하기 위해서... freeze.py에 추가하는 코드를 수정했습니다.

참고하세요

 

#time이 호출되는경우에 time.strptime을 못찾는 문제를 해결함.

    # modules that are imported by the Python runtime
    implicits = []
    for module in ('site', 'warnings', '_strptime'):   #  <-- 추가한 코드
        if module not in exclude:
            implicits.append(module)

python 실행파일 만들기(freeze.py)

win32에서는 py2exe를 사용해서 잘 사용하는 중에 unix배포판을 만들 필요가 있어서

조사중에 freeze 와 cx_Freeze가 있더군요. 하지만 cx_Freeze는 실행파일이 있는 경로에 so파일이 있어야만 동작해서 freeze를 선택했습니다.

배포를 위해서는 freeze.py 후 python 설치된 경로에 lib/lib-dynload 디렉토리에 있는 so파일들을 모두 배포하고 그위치를 PYTHONPATH 환경변수에 추가해야함.

 

간단 사용법

freeze.py -o dist test1.py

cd dist

make

./test1 <-- 실행파일

 

덧붙임: freeze는 python사이트에서 소스코드를 받으면 Tools 디렉토리에 있습니다.

월요일, 10월 15, 2007

Windows Live Writer로 blogging하기.^^

Windows Live Writer로 Blogging하니깐 좋네요...

 

P1010206 (WinCE)

이미지까지 upload까지 ㅠㅠ  완전 편한하군요.

기존에 Zoundry Blog Writer를 사용했는데 무겁고 이미지 업로드가 문제가 있었는데

이건 좋군요^^  ㅎㅎ

 

다시 블로깅 시작해야하는건가...

금요일, 10월 12, 2007

Oracle 사용중에 접속이 끊어진것 확인하는 방법


ORA-03114 코드를 처리해서 재 접속하는 코드를 추가하면됩니다.


import re,cx_Oracle


ser = re.search('ORA-(\d+):\s+', sys.exc_value.__str__())
# DatabaseError: ORA-03114: not connected to ORACLE
if ser and (ser.group(1) == '03114'):
self.close()
self.connectOracle(self.dbId, self.dbPasswd, self.dbTnsName )


else:


__LOG__.Exception()
__LOG__.Trace( "OracleDao(PS_BTS_CLASS) execute error: ", sys.exc_info() )


return None

cx_Oracle에서 prepare하여 사용하기 예제




python 에서 Oracle 사용하는 모듈









cx_Oracle에서 prepare하여 사용하기 예제









>>> ts = datetime.datetime.now()


>>> print ts


2007-03-10 20:12:02.109000


>>> cursor.prepare("INSERT INTO python_tstamps VALUES(:t_val)")


>>> cursor.setinputsizes(t_val=cx_Oracle.TIMESTAMP)


cursor.setinputsizes(t_val=cx_Oracle.TIMESTAMP)


>>> cursor.execute(None, {'t_val':ts}) <-- 이부분이 중요 포인트


>>> db.commit()









링크: http://www.oracle.com/technology/pub/articles/prez-python-timesanddates.html


수요일, 10월 10, 2007

flash로 플레이되는 동영상 저장방법 요약 ^^;


도구 > 인터넷 옵션 > 검색 기록 > 설정(S) > 임시 인터넷 파일 > 파일 보기


새로운 창이 열리면 ... C:\Documents and Settings\...\Local Settings\Temporary Internet Files


보기 > 아이콘 정렬 순서 > 유형


파일중 오늘날짜에 flv파일을 찾으시면 그 파일이 현재 보고있는 동영상 파일입니다.


이파일을 PMP디빅해결사로 avi로 전환이 가능합니다.


다른 freeware나 다른 몇가지를 시도해보았지만 잘되지 않더군요.. 국산 소프트웨어 show인가는 코덱문제 때문에 동작하지 않았습니다.



---
덧붙임: firefox에 add-on으로 다운받아 주는 Extensions(DownloadHelper)이 있지만 firefox가 10분이상 flush로 플레이되는 것은 오동작으로 실행되지 않더군요..


이상입니다...




월요일, 10월 08, 2007

ncftpget ftp접속없이 가지고오는 방법^^

linux에서는 기본적으로 사용가능합니다.^^

ncftpget -u $아이디 -p $비번 -A ftp://아이피/경로/a.txt

oracle query trace

쿼리를 실행하고 실행시간과 index정책을 확인 할 수 있는 방법입니다.
sqlplus로 실행하면 확인 할 수 있습니다. ^^


SQL> set timing on
SQL> set autotrace traceonly