97精品伊人久久大香线蕉app,国产精品久久久久AV福利动漫,亚洲国产香蕉人人爽成AV片久久http://m.shnenglu.com/lambdacpp/category/6801.htmlfor_each(day.begin(),day.end(),bind2nd(Add(),me))zh-cnSat, 21 Mar 2009 22:41:31 GMTSat, 21 Mar 2009 22:41:31 GMT60Hatta Wiki試用http://m.shnenglu.com/lambdacpp/archive/2009/03/20/77329.html五點半五點半Fri, 20 Mar 2009 08:55:00 GMThttp://m.shnenglu.com/lambdacpp/archive/2009/03/20/77329.htmlhttp://m.shnenglu.com/lambdacpp/comments/77329.htmlhttp://m.shnenglu.com/lambdacpp/archive/2009/03/20/77329.html#Feedback0http://m.shnenglu.com/lambdacpp/comments/commentRss/77329.htmlhttp://m.shnenglu.com/lambdacpp/services/trackbacks/77329.html大輝推薦了一個網站www.wikimatrix.org。去看了看雖然一直用Wiki進行一些文檔的協作,但那么多Wiki還是第一次哈。于是想找一個用Python開發的wiki(wikimatrix上面有一個Wizard可以幫助您找到想要的)。除了老牌的plone,著名的MoinMoin,還發現了一個叫hatta的。安裝了一下,真還不錯。
hatta的實現就一個python文件,功能簡單,沒有權限管理,沒有用戶管理,作者認為Wiki就是要歡迎天南地北的兄弟都可以修改。hatta的使用簡單,按照語法編輯,然后提交了事。中文化也非常簡單,Wiki內容本身就可以輸入中文,如果覺得頁面也應該是中文的也很簡單,改改po文件即可。我覺得如果您對Wiki的需求如下就可以考慮使用:
  1. 內部使用。如果部署在外網,好事者亂改一氣還是比較麻煩的,特別是放一些不該放的。
  2. 需要版本控制的文檔協作
  3. 要在文檔中嵌入程序代碼,代碼需要高亮
  4. 需要在文檔中嵌入數學公式。hatta使用latex語法輸入公式,生成的公式非常漂亮






五點半 2009-03-20 16:55 發表評論
]]>
Quixote筆記http://m.shnenglu.com/lambdacpp/archive/2008/04/19/47594.html五點半五點半Sat, 19 Apr 2008 07:11:00 GMThttp://m.shnenglu.com/lambdacpp/archive/2008/04/19/47594.htmlhttp://m.shnenglu.com/lambdacpp/comments/47594.htmlhttp://m.shnenglu.com/lambdacpp/archive/2008/04/19/47594.html#Feedback1http://m.shnenglu.com/lambdacpp/comments/commentRss/47594.htmlhttp://m.shnenglu.com/lambdacpp/services/trackbacks/47594.html又是Python。呵呵。誰叫人家帥呢

Quixote的部署

    在Quixote官方白皮書中已經詳細描述了Quixote的工作模式。Quixote可以使用Python自代的http_server(主要用于開發調試)和與Apache(或lighttpd)配合使用。
    Quixote與Apache配合使用方式如下:
  1. 使用CGI,文檔中稱為egular CGI。被認為效率最低的一種方式,因為每一個請求都會創建一個新的進程。
  2. 使用fastCGI,CGI可以運行fastCGI一定是可以應用的。這也是豆瓣采用的方式。在Quixote作者的一個PPT中,他認為fastCGI是buggy的。哦:(也不至于啊。我們正在尋找使用fastCGI的部署經驗。
  3. 使用mod_python,將python代碼嵌入到Apache中。
  4. 使用SCGI,這是作者推薦的。使用Apache SCGI module scgi_mod將遵循SCGI協議Apache將請求發送到相應的Socket如localhost:3001。而這個Socket由本地運行的一個 Python程序打開。這個Python程序將處理請求,并返回結果。

SCGI的配置

    Quixote的網站上對SCGI的描述:SCGI協議是CGI協議的替代。它是一種應用程序與HTTP服務接口標準。它有些像FastCGI但他的設計更容易實現。

    配置SCGI過程如下:
  • 安裝各個模塊不在話下,debian讓程序員有了懶惰的美德:
      #aptitude install libapache2-mod-scgi python-scgi python-quixote

  • Apache的配置,添加配置到apache.conf。(有些教程中加入了SetHandler scgi-handler ,但這個加上就很本不會和3000通信。可能是版本的問題。最好不用。)
      <Location "/qx">
           SCGIServer localost:3000
           SCGIHandler On
      </Location> 

  • 重啟Apache
    配置完成。SCGI的好處在于,修改了Python程序,不用重啟Apache,只要重啟SCGI就可以了。

第一個Quixote程序

    一切就緒,我們來一次Quixote的完整之旅。

  • scgi程序要求有一個服務打開3000端口。啟動scgi的程序如下:
 1 
 2 #!/usr/bin/python
 3 # -*- coding: utf-8 -*-
 4 
 5 from scgi.quixote_handler import QuixoteHandler, main
 6 from quixote import enable_ptl
 7 from quixote.publish import Publisher
 8 enable_ptl() #啟動PTL
 9 
10 def create_publisher():
11     from ourroot import RootDirectory
12     return Publisher(RootDirectory(), display_exceptions='plain')
13 
14 if __name__ == '__main__':
15     from quixote.server import scgi_server
16     scgi_server.run(create_publisher, port=3000, script_name="/qx")
17 

  • 程序結構是比較簡單的,使用的是scgi_server的run方法。要注意的是run方法中的script_name和前面apache 的配置Location是一樣的。程序的關鍵是導入了ourroot這樣一個ptl 。下面是我們的第一個ptl程序。
 1 
 2 # -*- coding: utf-8 -*-
 3 """這個是我們第一個例子的根目錄
 4 """
 5 from quixote.directory import Directory
 6 
 7 class RootDirectory(Directory):
 8     _q_exports = [""]
 9     def _q_index [html] (self):
10         print "debug message from the index page"
11         """
12         <html>
13         <head>
14         <meta http-equiv="Content-Type" content="text/html charset=UTF-8" />
15         <title>第一個例子</title>
16         </head>
17         <body>
18         <h1>第一個例子有中文!</h1>
19         </body>
20         </html>
21         """
22 

  • 現在在瀏覽器中輸入http://localhost/qx就可以看到結果了。
  • 除了運行上面的python腳本,也可以采用這樣的方式運行scgi:
  • python /var/lib/python-support/python2.5/quixote/server/scgi_server.py \
        --factory
    =FirstApp.create_publisher \
        --script-name
    =/qx  --port=3000


Quixote 中文化的要點

    Quixote的中文設置好像很麻煩。其實隨著python、Quixote版本的推進,現在這個問題已經很簡單了。字符集使用的是utf-8。使用gb2312可能也是可以的。

  1. 所有源代碼使用utf-8在程序的開始加上# -*- coding: utf-8 -*-
  2. ptl的html模板加上content="text/html charset=UTF-8"
  3. 關鍵:在quixote的安裝路徑下有__init__.py,將其中的DEFAULT_CHARSET = 'iso-8859-1'改成 'utf-8'
  4. 也可以不修改__init__.py,使用Publisher的時候把Publisher擴展一下:
1 class UTF8Publisher(Publisher):
2     quixote.DEFAULT_CHARSET = "utf-8"



五點半 2008-04-19 15:11 發表評論
]]>
国产激情久久久久影院老熟女免费| 亚洲国产精品嫩草影院久久| 久久综合综合久久综合| 奇米综合四色77777久久| …久久精品99久久香蕉国产| 狠狠狠色丁香婷婷综合久久五月| 久久成人国产精品二三区| 国产免费久久精品99久久| 思思久久99热只有频精品66| 亚洲国产精品无码成人片久久| 久久香蕉一级毛片| 久久精品国产第一区二区| 欧美亚洲国产精品久久久久| 久久国产精品久久| 日本精品一区二区久久久| 99久久99久久久精品齐齐| 久久亚洲国产精品五月天婷| 久久99精品久久久久久hb无码| 久久久久亚洲AV无码去区首| 婷婷久久久亚洲欧洲日产国码AV| 久久99精品久久久久久噜噜| 久久久老熟女一区二区三区| 亚洲伊人久久综合影院| 亚洲欧美日韩精品久久| 欧洲成人午夜精品无码区久久| 亚洲AV伊人久久青青草原| 久久97久久97精品免视看| 久久国产免费观看精品| 久久久精品人妻一区二区三区四| 日韩亚洲国产综合久久久| 久久精品国产亚洲5555| 国产99精品久久| 久久夜色精品国产网站| 97久久婷婷五月综合色d啪蜜芽| 久久久91人妻无码精品蜜桃HD| 亚洲欧美精品伊人久久| 久久se精品一区精品二区| 婷婷久久综合九色综合98| 久久精品国产99国产电影网| 国产一久久香蕉国产线看观看 | 国产亚州精品女人久久久久久|