blog.Ring.idv.tw

Articles

Python Server Pages - 架構一個PSP環境

在Web Application的開發工具中,絕大多數耳熟能詳的Server Side Programming無非就是ASP、PHP和JSP,那... Python呢?

我們是否也能使用Python來開發Web Application呢?答案是肯定的~

通常在架設LAMP(PHP)環境時~ 在安裝好Apache之後,就是要為它加上「mod_php」這個module,這樣Apache才能委任由此module來處理PHP~

OK,換句話說~ 若是要讓Apache和Python緊密地結合在一起~ 這時候我們需要的就是「mod_python」...

至於Web Framework的選擇方案... 在Java領域中不外乎有Struts、Spring,PHP也有Zend Framework、CakePHP~ 那Python哩?也有Django、TurboGears~ 不過我沒用過倒是真的~ XDD

所以本文就是要建構一個「Apache」結合「Python」等於「Python Server Pages(PSP)」的環境~

環境配置

.作業環境Windows XP Home Edition

.Apache 2.2

.Python 2.5

.mod_python(請下載並安裝:mod_python-3.3.1.win32-py2.5-Apache2.2.exe)

httpd.conf設定

安裝「mod_python」之後,在「Apache」的modules目錄夾之中會產生一個「mod_python.so」~ 所以我們需要修改「httpd.conf」將這個module載入進來~

.加入此行「LoadModule python_module modules/mod_python.so」

.尋找「<Directory "/some/directory/htdocs">」(/some/directory/指的是你Apache所安裝的位置),並改寫「AllowOverride」屬性為「FileInfo」,如:

AllowOverride FileInfo

HelloWorld範例 (Template System)

現在在「htdocs」目錄下建立一個「psp」的目錄夾,並寫入下述三份文件:

.htaccess

SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On

hello.py

from mod_python import apache, psp
def handler(req):
	req.content_type = 'text/html'
	template = psp.PSP(req, filename='hello.tmpl')
	template.run({'what':'world'})

hello.tmpl

<html>
	<h1>Hello, <%=what%>!</h1>
</html>

測試它吧!

最後的步驟就是開啟你的Browser,在網址列上給它填上「http://localhost/psp/hello/handler」你就能看見「Hello, world!」~ ^^v

相關資源

.modpython官網

.Mod_python's PSP: Python Server Pages

.Web Python Tutorial

2008-08-06 15:58:00 | Comments (2)

小蟻雄兵.... 吃鬆餅~

(母校的一景)

這幾天持續忙碌著比賽的事~ 還有處理妹妹的婚事~ 還有...霹靂啪啦的一堆事~

造成最近肩膀很緊很重~ 所以我決定了... 只要比賽的事情忙完~ 我「一定」要讓自己好好的休息個幾天~ 呼... 忙完再來安排渡個假好了~

看著這些「小蟻雄兵」啃食著我故意掉落的「巧克力鬆餅」... 忍不住給它們來個特寫~ XDDD (拍照才是目的!)

2008-08-05 00:24:08 | Comments (4)

溫刀ㄟ「MacBook」~ 晉升「蘋果族」~ XD

這是今天由學校配發給我的「MacBook」~ 呵呵~ 這台「小白」的電池居然可以達到「六」小時耶~ 真棒~ 而且外型也蠻炫的~ 我喜歡 ^^v

其實當初我會選「Mac」主要的考量是在於平臺上的問題~ 因為畢竟我比較少用「Mac OS」~ 有時候如果要測跨平台程式的話就顯得很不方便~

所以今天拿到它馬上就給它裝了一堆東西… 像Firefox、Xcode、OpenVanilla、Eclipse、Python、MSN Messenger… 看我裝的東西就知道~ 它已經要變身成我的工作平臺了~ XDD

而且我週遭許多同事、朋友早就都用Mac嚕~ 嘿嘿~ 我來參與你們一腳了~ XDD

P.S. 感謝ted所提供的嘸蝦米for Mac教學 ^^ 尤其你一句「你要的我就快去生」~ 有你的相挺真是感動 T_T...

2008-07-31 00:09:19 | Comments (5)

IE8 Activity - Translate with Windows Live

今天在翻閱「Run!PC」雜誌時,看到一則「體驗IE8 Activity開發模式」的相關介紹~

然而.重點在於吸引我整個聚焦的關鍵就在於「Translate with Windows Live」,因為這和我目前在工研院內所從事的開發工作有些相關聯~ 至於細節暫且就無法透露~ 不過我們的計畫預計九月底或十月初會推出beta version,屆時大家就可以試用我們的研發成果~

OK, 來說說「IE8 Activity - Translate with Windows Live」~ 說實在的~ 我一看到這個功能時也有點驚訝~ 因為這樣的介面在輔助閱讀上已經可以節省很多的時間了~ 的確值得肯定,但.在輔助閱讀的可用性上面還有加強的空間(我個人認為)~ 舉個實際的例子:

從下述相關網頁的介紹來看~ 要運用「Translate with Windows Live」需要一些步驟~ 這裡就來分解一下~

步驟一:選取你想翻譯的文字。

步驟二:按右鍵,然後選「Translate with Windows Live」。

步驟三:接著跳出翻譯的小頁面。

想想看~ 如果這些步驟在看一篇不短的文章時,會有多煩人~

1.光是畫面的干擾就有「右鍵選單」和「翻譯頁面」,這兩個視窗絕對會造成在閱讀上的流暢度~

2.「點選滑鼠左鍵」然後「選取文字」接著「按右鍵」,最後選取「Translate with Windows Live」,光想像就覺得步驟太多~ 這還沒考慮到字型大小或間距等問題~

而我目前從事的計畫就是盡量改善使用者在閱讀上的流暢與否~ 至少我認為目前計畫的成果已經相較於「IE8 Activity - Translate with Windows Live」來的方便許多~ ^^,不多談了~ 期待它的beta版了~

相關網頁

.IE8 Translation Activity

.微軟 IE8 Beta 1功能簡介

.IE8 Translation Activities

2008-07-30 00:13:11 | Comments (2)

Microsoft BrowseRank vs. Google PageRank

Microsoft tries to one-up Google PageRank.剛剛看到的一則消息~

文中主要描述微軟亞洲研究院在SIGIR'08 Conference發表了一篇名為「BrowseRank: Letting Web Users Vote for Page Importance」的論文~

論文中有提到一些Google PageRank演算法的毛病~ 譬如:我們可以惡意地建立許多連結到我們自身擁有的網站,以提高網站的PR值分數~ 而另一個則是它並沒有考慮到使用者在瀏覽其網站時所花費的時間~

所以這篇論文希望能以「User Behavior Data」來評估網站的重要性~ 舉一個例子:為何PageRank針對adobe官方網站的重要性有那麼高的PR值?因為許多網站都有提供Flash Player或Acrobat Reader的連結~ 但.並非代表人們常去瀏覽adobe網站~

那「User Behavior Data」該如何取得?論文提到兩種方式~ 一種是利用類似Web Server的Log file方式來取得,另一種則是安裝Browser plug-in來記錄~ 而記錄的類型主要分為「Input」(網址列輸入)和「Click」(超連結)~

至於論文中所提到的BrowseRank演算法細節~ 呃... 我就看嘸嚕... XDDD

不過不可抹滅的~ Google所為人稱道的PageRank演算法,仍然為全世界的網頁帶來重要性的排序~

可見微軟多麼地大力想要多吃點搜尋引擎市場~ 雖然還買不下Yahoo! Search,但至少已花了1億美元買下Powerset...

2008-07-25 21:25:11 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::