cassandra and django and twissandra

一個完整簡潔有力的學習專案,twissandra 用 django 與 cassandra 實作 twitter 最簡單重要的功能,有網頁介面。

此專案展示了 cassandra 資料模型的設計以及 API 的使用,又能大略學習 django 的簡單使用,安裝與運作又十分容易,

後端 API 是採用 high level api pycassa ,原先是 Thrift ,而透過 pycassa 做中介層,幫忙做一些控管讓資料存取更順暢。

資料來源

  1. twissandra https://github.com/ericflo/twissandra
  2. pycassa https://github.com/pycassa/pycassa
  3. django http://djangoproject.com

 

python cgi 入門…

由於 PHP 在 Thrift 連接 hdfs 的時候上傳檔案一直怪怪的,不曉得是哪裡的問題,

又鑑於 Python 的熱門(GAE,框架..)等等原因,還是得學一下

裝了 mod_python 以後就能開始寫了,好像 mod_wsgi  也可以,只是不太懂幹麼用的…再亂設一堆 http.conf 設到能跑為止…

//httpd.conf
LoadModule python_module modules/mod_python.so
PythonDebug On
AddHandler cgi-script .py

Python 不像 PHP 一樣專門用來寫 Web 所以基礎環境沒辦法很輕鬆的開發 Web,連錯誤訊息也看不太到

所幸好像 cgitb.enable() 以後就有錯誤訊息debug了?!

import cgi,cgitb,os
cgitb.enable()

要寫一個可以顯示在瀏覽器的網頁要自己輸出 http header 與宣告自己的直譯器位置,

跟以往用 c 寫 cgi 應該視差不多的方式,範例:

#!/usr/bin/python
print 'Content-type: text/html\n'
print 'Hello World!'

好險資源不少,官方網站就有不錯的教學[2],又有網站[1] 將基礎動態網頁長寫的範例都寫出來…馬上能夠對應至原先 PHP 的經驗,

不熟悉的函式如同php去查 reference[3] ,又有較完整的物件與 package 結構,唯一的缺點就是有點稍嫌古怪的語法,

比較不相容以往一系列學過基礎語法同種的語言…C , Java , PHP , JavaScript。

等基礎 cgi 寫法 熟悉後再來學 django 吧!

參考資源