'파이썬'에 해당되는 글 6건
- 2010/03/06 Git vs Mercurial
- 2010/02/03 대전 버스이용 정보
- 2009/11/06 구글 코드에 이런 기능이!!!
- 2009/11/02 Ubuntu + Apache2 + Django
- 2008/01/24 괜찮은 웹용 feed reader, Gregarius
- 2007/07/23 시티헌터에서 파이썬(python)을 발견하다!
svn은 이미 써왔던 툴이라 익숙하긴 한데, 최근에 분산형 버전관리 시스템(DVCS: Distributed Version Control System)이 많이 거론되는지라 이쪽으로 알아보고 있다.
Git은 최근에 번역서도 출간되었고, 리누스가 개발하기도 해서 좀 더 많이 알려진 것 같긴 한데, Mercurial도 그에 못지 않게 유명하다. 구글코드에서 지원하기로 한 것으로 보면 그만한 가치를 인정받은 모양이다.
이런 저런 자료를 비교해보니.
대표적인 차이점은
Mercurial은 서브버전과 비슷한 점이 많아 서브버전 사용자가 배우기가 쉽다고 한다. 다만 파이썬으로 만들어졌기 때문에(diff는 C로 개발했다고 한다) Python-2.4(2.6나온지도 꽤 됐는데...)를 설치해야 한다.
반면에 Git은 리누스가 리눅스 개발에 쓰기 위해 직접 만들었다고 할 정도로 큰 프로젝트에서 좋은 성능을 발휘하는 반면, 윈도우즈 지원은 다소 미흡하다고 한다.
Mercurial을 사용하는 대표적인 프로젝트로는 OpenJDK, Mozilla, NetBeans 등이 있고, Git을 사용하는 프로젝트로는 리눅스(커널), Debian, Perl, Qt, Gnome, Wine 등 굵직굵직한 프로젝트들이 있다.
여러 글을 읽다보니 마음이 Mercurial쪽으로 움직이고 있다. 그렇지만 벌써 Git, 분산 버전 관리 시스템책을 주문해 버렸다.

분산형 버전관리에 대한 페이지
Mercurial에 대한 페이지
1. 머큐리얼
Git에 대한 페이지
3. Git 사용자 설명서
아무튼 책을 읽어보고 조만간 결정을 내려야겠다.
(Python 버전 문제가 걸리긴 하지만 자꾸 Mercurial에 끌리네...)
대전사는데다 아이폰도 없는 나는 멀리서 바라볼 뿐...
그러다가 최근에 네이버 맥쓰사 카페에서 다음의 주소를 알게 되었다.
m.djits.info/pda
대전시에서 제공한 정보를 가공해서 보여주는 것 같긴한데 정확히 누가 만든 건지 누가 운영하는지는모르겠다.
암튼 이걸 파이썬과 BeautifulSoup로 데이타만 가져와봤다. 웹사이트에 접속해서 하는 것보다 터미널에서 버스 번호만 입력하면 되기 때문에 퇴근할 때 컴퓨터 끄기 전에 쉽게 볼 수 있어서 좋다.
<code python>
#!/usr/bin/python
# -*- coding: utf-8 -*-
from BeautifulSoup import *
import chardet
import urllib2
import re
import os
bus = input("버스번호: ")
try:
f = urllib2.urlopen("http://m.djits.info/pda/Bus_location.jsp?route_id=250%d0&route_name=%d&direction_tf=T" % (bus, bus))
soup = BeautifulSoup(f, fromEncoding="cp949")
except:
print u"서비스 이용 불가."
os.sys.exit(1)
f.close()
try:
data = soup('table')[5].contents[3].renderContents('utf-8')
except IndexError:
print u"서비스 이용 불가."
os.sys.exit(1)
datas = data.splitlines()
stops = []
for i in datas:
i = i.strip()
i = re.match("\d\. .+$", i)
if (type(i) != 'NoneType'):
try:
print i.group()
stops.append(i.group())
except:
pass
</code>
BeautifulSoup라는 걸출한 파이썬 모듈이 있었기에 쉽게 할 수 있었다. 최종 목표는 특정 시간이 되면 구글 칼렌더에 자동으로 등록되게 하는 것. 구글 칼렌더의 일정 SMS받기를 이용하는 것인데, api를 공부해야 되서...
한달치 데이터 모아서 LaTeX으로 보고서 만들면 재밌을 것 같다.
<그림>

위와 같이 구글 코드의 소스코드 아무데나 마우스로 더블클릭을 하면....
<그림>

위 그림과 같이 바로 코멘트를 달 수 있다 !!!
나만 이제야 알게 된 건가...? ;;;
한참을 헤매다 9월쯤인가 결국 엄청난 구글링으로 해결했다.
나중을 대비해 정리해 둔다.
1. 기본적인 설명은 http://docs.djangoproject.com/en/1.0/ 을 따른다.
2. 아파치 설정: sites-available 디렉토리에 설정 파일을 만든다.
여기서 주의할 점!
AddHandler modpython.py
PythonPath "['/home/user_id/public_html/'] + sys.path"
PythonPath "['/home/user_id/public_html/'] + sys.path"
과 같이 써준다.
django문서에는 PythonPath "['/home/forlin/public_html/django_project'] + sys.path"
와 같이 django 프로젝트 경로까지 써주라고 나와있으나 절대!!! 프로젝트 경로까지 쓰면 안된다.
django 프로젝트 상위 디렉토리까지만 지정해 준다!!!
3. 파이썬이 처리를 못하는 경우가 있을 수 있다.
.bashrc 파일에
export PYTHONPATH=.:$HOME/public_html/web
를 추가한다.4. 아파치 설정파일에 AddHandler modpython.py 를 추가
하나는 한RSS처럼 웹서비스에 가입해서 쓰는 방식도 있고, Feed Daemon과 같은 실행파일 형태로 된 것도 있습니다.
여기에 하나 더 추가하면 planet이라는 것이 있습니다.
텍스트큐브처럼 설치해서 쓰는 feed reader인데, planet은 파이썬(Python)으로 만들어져서, 운영하려면 서버에서 python이 설치되어 있어야 합니다. 그런데 planet의 또다른 단점은...설치나 설정이 조금 복잡합니다.
이번에 알게 된 프로그램은 Gregarius 라는 프로그램인데 PHP로 되어 있어서 대부분의 호스팅환경에서 쓸 수 있습니다. PHP4.x 이상이면 돌아갑니다(PHP4.3 이후버전을 권장). 데이터베이스는 MySQL나 SQLite를 사용합니다.
뭐 feed reader 지금도 여러가진데 뭘... 라고 생각하실 분이 혹 계실지도 모릅니다만,
한RSS 같은 웹서비스형태의 경우 자기가 등록한 feed를 자기 혼자서 볼 수 있지요.
Feed Daemon 같은 경우는 자기 PC에서만 볼 수 있지요.
planet과 마찮가지로 Gregarius 역시 운영자가 등록한 Feed를 함께 볼 수 있습니다. Gregarius 홈페이지에 보니 AJAX를 썼다고 하는데, 어딘지 눈치를 못채겠군요;;;
RDF, RSS, ATOM을 지원합니다.
OPML 가져오기/내보내기 기능이 있으니 opml파일로 쉽게 추가할 수 있습니다.
planet보다 설치도 쉽고, 설정도 쉽고,
테마는...테마는 뭐 별로 없습니다;;;
플러그인도 있는데 플러그인은 아직 자세히 살펴보지 않았습니다.
한글언어파일이 없는데, 이거나 만들어볼까 생각중입니다.
데모사이트: http://rss.gregarius.net/

bus.py
Prev
