今天真是一整個熱,看來四月可以出動我的 Merrell Python 啦。
Merrell 網站好難連,枉費我想要幫他們打廣告的一片好心,而且竟然找不到我的 Python。切。
今年的 OSDC.TW 2007 就穿著 Python 跑透透吧。
今天真是一整個熱,看來四月可以出動我的 Merrell Python 啦。
Merrell 網站好難連,枉費我想要幫他們打廣告的一片好心,而且竟然找不到我的 Python。切。
今年的 OSDC.TW 2007 就穿著 Python 跑透透吧。
不是我的合約 :p
PyPy 1.0.0 版發行。從使用者的角度來看,PyPy 是一個「用 Python 寫就的 Python runtime」;聽起來好蠢,不是嗎?但 PyPy 扮演平台的角色多過於工具,它可以用來把 Python 轉譯成另一種程式語言 (do not get confused with Python byte code, which Python already has and is not a programming language)。http://play1.codespeak.net/ 展示 PyPy 如何把 Python 轉譯成 JavaScript。誠如 release note 所言,這可以成為撰寫 AJAX 程式的新方法。
從技術的角度來看,PyPy 是一個實作動態語言及其虛擬機器的框架。實作語言?虛擬機器?我說這些人是怎麼把這些看起來那麼麻煩艱難的東西搞在一起,還弄得這麼有趣。每次我想要去看一下 CPython 的原始碼,沒到十分鐘腦中就一片混亂;不過用 Python 寫的 Python compiler?version 1.0.0?這大概會是個比較好的開始點。
Checking out the code.
John W. Backus, 82, Fortran Developer, Dies.
1957 年的巨變;當時連軟體這個詞都還沒有出現。如果沒有 FORTRAN,我們現在的世界會非常不一樣。
現在,緬懷先人,繼續踏向未來。
docutils 是 Python 世界裡最強大、簡單、常用的 plaintext markup 語言與處理工具,定義了 reStructuredText 標記語言 (a.k.a rst),並且開放完整的 API 供開發人員對 rst 進行操作。docutils 本身內建有幾種轉換程式,可以把 rst 轉換成 HTML, HTML S5 (由 HTML 及 JavaScript 所構成的投影片應用) 以及 LaTeX 等格式。
rst 功能強大,很適合用來撰寫網路文件。如果能夠進一步掌握 docutils API,更可以自行撰寫程式,把以 rst 寫成的文件轉換成任意的格式。我們能夠用 rst 來當作日常撰文的格式,在需要的時候用 docutils 所提供的指令稿轉換為 HTML, LaTeX 等檔案,或是利用 docutils API 輸出成我們自已想要的格式。
docutils API 很清楚地將 rst 的處理工作分成四個部分 (請參考 Docutils Hacker's Guide):read, parse, trasform, write;讀析轉寫。我們關心的是輸出,只要實作自訂的 writer 即可。
這兩天花了幾個小時改出一個客製版的 docutils writer。修改的過程相當愉快,很順利地就從研究 docutils writer 的過程中了解了 docutils 內部的資料結構。經過 docutils 讀取、解析、轉換後的 rst 會變成一個樹狀結構,writer 將從根部的 document 節點一路巡訪到最後一個葉節點,完成整份文件的輸出動作。
如果有興趣研究 docutils writer 的話,可以從 docutils.writers.html4css1 開始讀起,再參考 docutils.nodes 裡面定義的節點與結構。用 docutils 來製作自己的 rst 轉檔程式會是一件簡單而有趣的事情。
Tim 說的 FizzBuzz 用一個迴圈就可以解決了:
import sys for i in range(1,101): if i%15 == 0: sys.stdout.write( "FizzBuzz " ) elif i%5 == 0: sys.stdout.write( "Buzz " ) elif i%3 == 0: sys.stdout.write( "Fizz " ) else: sys.stdout.write( "%d " % i )
當然遞迴也可以啦,離題也可以啦... 但對於「廁所程式」來說,這樣就夠了 :p
thinker 剛剛丟了兩個連結出來,其中一個是用簡短的 Python one-liner 實作 HTTP 傳檔的指令:
$ python -c "from SimpleHTTPServer import test; test()"
它會在當前目錄下啟動一個 HTTP 伺服器,把目錄內容提供給外界存取,也就是 directory listing。這樣的語法至少在 Python 2.3 以上都是有效的,如果我們有 Python 2.4,根據該文的 comment 提示,還可以用:
$ python -m SimpleHTTPServer
達成相同的效果,因為 Python 2.4 支援新的 -m 參數,而 SimpleHTTPServer.py 的最後兩行正是:
if __name__ == '__main__': test()
That's why we say Python is batteries included.
Quoted from http://www.kiddygrade.com/:
2007.1.26 お待たせしました!キディ・グレイドが再始動します! トップページリニューアルいたしました。 キディ・グレイド2(仮称)パイロットDVD情報公開いたしました。
宇宙のステルヴィア決定不出續篇是很可惜的事,不過某人今天傳來一個網頁,給我一個也算是挺不錯的消息:另一部期待中的續篇開始進行了。
Kiddy Grade 從今年開始會有新作品上映,先是從春天到秋天連續三部的劇場版,是舊作 Kiddy Grade 的 director 重新編輯版。在劇場版上映前的三月下旬會先發行 pilot DVD 作為 KG2 的預覽。KG2 實際的上映日還未確定。
人設仍然是門之園惠美,我喜歡他作的這種玩偶狀的人物外型。期待中。
感謝 tim 的熱心幫忙,現在我的 Unofficial Python@TW planet 終於可以功成身退了。網域名稱為 http://planet.python.org.tw/ 的 Python@TW planet 已經測試完成,所以從現在開始,舊的非正式 Python@TW planet 會重導向到 http://planet.python.org.tw/ 去。歡迎舊雨更新 feed,新知繼續訂閱。Python@TW planet 換到學院級的專用主機上,服務的穩定性肯定會比嗨網家用 FTTB 更好的。
如果身為 python 愛好者的您,對加入 Python@TW planet 有興趣,請致信與 planet{at}python.org.tw。