有趣的專案,可以更快速的作 C 或是 C++ 的 python binding ,以後可以更快速的直接用寫好的
C 或是 C++ 的程式
https://launchpad.net/pybindgen
文件
http://packages.python.org/PyBindGen/
Posts for: #Python
ORM level cache 的選擇
在寫 Django 的應用程式常常會自己硬作一堆 cache 或是 timeout 的機制,有時候,可以看看別人怎麼作
這兩的專案的 code 的等級都不錯,可以由程式學到很多觀念
Johny-cache
http://bitbucket.org/jmoiron/johnny-cache
http://packages.python.org/johnny-cache/
Django Cache Machine
http://github.com/jbalogh/django-cache-machine
http://jbalogh.me/projects/cache-machine/
Distributed Task Queue
算是很積極的專案,有完整的 django 整合 BSD 版權發行, 先記著,以後,應該很多的專案,有機會用 http://docs.celeryproject.org/en/master/getting-started/
VPS 比較結果
PhotonVPS
效能不錯,網路延遲短,不過,畢竟同樣 Xen 512 的 plan 打折後還要 16 元 USD
NordictVPS
CPU 效能最好是 i7 ,不過主機是在德國,網路延遲多了一點,要不然還不錯,硬碟效能一般,應該是 RAID 1 而已,算便宜 Xen 512 一個月 8美元左右
ThrustVPS
Xen 512 的只有一個 CPU vcore 所以算是幫別人付錢,給高檔的人去用,需要 CPU 的應用,就不用考慮了,如果不是很需要CPU,算是不錯便宜的 VPS,有美西的機器,網路延遲會比較短, 硬碟效能像是有 RAID 10,網路算不錯
RapidXen
Xen 128 的 plan 效能還好,網路延遲最短,但是限速,一般只有跑到 1M 以下,硬碟慢,價格最貴,所以不用考慮了,要買他的 512 plan 比 Linode 還貴,就直接用 Linode 就好了
2HOST
這就是我一開始用的,結果,繞了一圈,還是他,也可能是因為,最近別家 VPS 很多促銷,所以很多人跳了,所以效能有越來越好,網路的延遲,也在中間,目前大概只有,美東的上班時間,網路的延遲變大,比較有問題,其他,CPU 效能,硬碟 IO 讀寫,網路延遲,都不錯,價格 8 美元左右,還是最超值的選擇
如果,要看細部的數據,請自己往前翻
Xor encrypy decrypt in Python
列了一堆,相關的連結,有興趣的可以看
http://stackoverflow.com/questions/2029426/what-is-xor-encryption
http://discussion.forum.nokia.com/forum/showthread.php?91267-Encryption-in-python
http://www.0xcb0.com/?p=331
http://www.downv.com/Linux/download-cxor-10056082.htm
http://www.dlitz.net/software/pycrypto/
http://www.evanfosmark.com/2008/06/xor-encryption-with-python/
http://www.daniweb.com/code/snippet216632.html
http://forum.intern0t.net/perl-python/2144-python-simple-text-encryption-program-new.html
WSGI for Python
有一些很詳細的介紹,和比較,值得一讀
http://nichol.as/benchmark-of-python-web-servers
deployment with daemontools
daemontools 最早由 D. J. Bernstein 開發,真是好東西,這麼早就做出來了,這麼久了,還是這麼好用
Pylons deployment with daemontools
Deploying a Django Site using FastCGI
Redis Speed
http://www.digitaldragoon.com/blog/testing-speed-redis-py/
have pget and pset inside, I change to this
import cPickle as pickle
import zlib
import new
####################################
# gzip header
gzip_header = zlib.compress(’’)[:2]
####################################
# CUSTOM COMMANDS for Redis
####################################
def _pset(self, name, object, compress=False):
""" pickle set for redis client, with compress flag
“”"
pobj = pickle.dumps(object, pickle.HIGHEST_PROTOCOL)
if compress:
pobj = zlib.compress(pobj)
self.set(name, pobj)
def _pget(self, name):
""" pickle get for redis client, automatic to check compress flag
“”"
pobj = self.get(name)
if pobj is None: # No value for this key, let’s go home :-(
return None
else:
if pobj[:2] == gzip_header:
# it compressed data
pobj = zlib.decompress(pobj)
load_object= pickle.loads(pobj)
return load_object
redis.Redis.pset = new.instancemethod(_pset, None, redis.Redis)
redis.Redis.pget = new.instancemethod(_pget, None, redis.Redis)
Google appengine 整理
目前,用來開發 google app 上的 Django 小整理
必備套件
Google App Engine Python SDK
http://code.google.com/appengine/downloads.html
Django 開發方式
Google 官方文件
http://code.google.com/appengine/articles/appengine_helper_for_django.html
Google App Engine Helper for Django
http://code.google.com/p/google-app-engine-django/
非官方,可是好用
djangoappengine
Play with Redis
A key value NOSQL DB
develop in c lang
貫C 派的最愛,各種語言的 client 連結函式都有,需要有很高很高的 server side 效能的人,請關注一下
http://github.com/antirez/redis
Python Client http://github.com/andymccurdy/redis-py