오늘은 앞서 소개 했던 7-zip("기업에서도 사용할 수 있는 압축 프로그램 7-Zip" 참조)을 좀 더 유용하게 사용하는 방법을 다루고자 합니다. 통상 압축 파일을 풀려면 해당 압축 파일을 풀수 있는 프로그램을 설치해야 하는데(WinRAR, 알집, 빵집, 반디집, 7-zip...), 이런 압축 프로그램을 설치하지 않은 사용자를 위해 사용할 수 있는 방법이 SFX(Self-Extracting Archives) 형태로 파일을 만들어 전달하는 것입니다. SFX는 실행 프로그램 형태이기 때문에 별도의 프로그램을 설치하지 않아도 프로그램을 실행만 하면 압축을 스스로 풀어 줍니다. SFX 형태로 파일을 전달하는 것은 압축 파일 수신자의 프로그램 설치 수고를 덜어 주려는 의도도 있지만. *.7z, *.egg 처럼 ..
협업 개발 시스템인 Trac을 분석하기 위해서는 먼저 "협업 개발 시스템 Trac 수정을 위한 개발 환경 준비하기"를 통해 개발 환경을 준비해야 합니다. 프로그램 분석 과정에서 상당히 중요한 부분 중의 하나가 바로 프로그램의 시작점을 찾는 것입니다. Trac 프로젝트의 프로그램의 시작점은 크게 2가지로 나뉘는데 하나는 trac-admin이고 다른 하나는 웹 인터페이스를 관장하는 tracd 입니다. Trac의 핵심 기능은 웹서버나 tracd를 통해서 플러그인 형태로 제공되는데 관련 정보는 설치 코드 위치의 Trac.egg-info\entry_points.txt에 있으며 그 내용은 아래와 같습니다. [console_scripts] trac-admin = trac.admin.console:run tracd =..
젠시(Genshi)는 웹 출력을 위하여 HTML, XML등의 텍스트 기반 자료를 분석, 처리 및 생성 할수 있는 파이썬 라이브러리로 핵심 기능은 태그, 속성, 내용을 분리해서 처리할 수 있는 템플릿 언어 입니다(http://genshi.edgewall.org/). Trac의 사용자 인터페이스를 위하여 개발되었지만 별도의 라이브러리 형태로 배포 되고 있어 필요에 따라 적절하게 사용할 수 있습니다. 홈페이지 로고에서 젠시의 이름을 유추해 보면 젠시는 직물을 만드는 원료가 되는 실을 가리키는 원사(原絲)의 중국어 발음에 따온 모양입니다. 템플릿이 하는 역할에 비추어 보면 의미가 통합니다. 본 포스팅에서는 Trac에서 실제 사용된 젠시의 기능을 중심으로 다루고자 합니다. ■ 마크업 스트림(Markup strea..
"Trac 수정을 위한 개발 환경 준비하기"는 대표적인 협업 개발 도구인 Trac(http://trac.edgewall.org/)을 설치하고 사용하는 것을 넘어서 직접 코드를 수정하고자 하는 사람에게 필요한 과정입니다. 개발 환경이란 실제 사용자들이 사용중인 시스템과는 별개의 시스템으로 개발 과정중에 발생할 수 있는 다양한 오류 가능성과 장애로 부터 자유로울 수 있는 시스템을 의미합니다. Trac은 자체적인 서비스 대몬을(tracd) 소유하고 있으므로 Trac 코드 수정을 위한 시스템을 실제 시스템과 동일하게 구축할 필요는 없습니다. 아래의 개발 환경은 윈도우 시스템을 기준으로 했으며 텍스트 편집기로 소스 코드를 수정한다는 가정하에 진행했습니다. ■ 파이썬 환경 설치 "파이썬(Python) 실행 환경 준..