爲何要閱讀Tornado的源碼?

爲何要閱讀Tornado的源碼?python

Tornado 由前 google 員工開發,代碼很是精練,實現也很輕巧,加上清晰的註釋和豐富的 demo,咱們能夠很容易的閱讀分析 tornado. 經過閱讀 Tornado 的源碼,你將學到:ios

理解 Tornado 的內部實現,使用 tornado 進行 web 開發將更加駕輕就熟。
如何實現一個高性能,非阻塞的 http 服務器。
如何實現一個 web 框架。
各類網絡編程的知識,好比 epoll
python 編程的絕佳實踐
在tornado的子目錄中,每一個模塊都應該有一個.py文件,你能夠經過檢查他們來判斷你是否從已經從代碼倉庫中完整的遷出了項目。在每一個源代碼的文件中,你均可以發現至少一個大段落的用來解釋該模塊的doc string,doc string中給出了一到兩個關於如何使用該模塊的例子。web

下面首先介紹 Tornado 的模塊按功能分類。編程

Tornado模塊分類瀏覽器

  • Core web framework服務器

tornado.web — 包含web框架的大部分主要功能,包含RequestHandler和Application兩個重要的類
tornado.httpserver — 一個無阻塞HTTP服務器的實現
tornado.template — 模版系統
tornado.escape — HTML,JSON,URLs等的編碼解碼和一些字符串操做
tornado.locale — 國際化支持websocket

  • Asynchronous networking 底層模塊網絡

tornado.ioloop — 核心的I/O循環
tornado.iostream — 對非阻塞式的 socket 的簡單封裝,以方便經常使用讀寫操做
tornado.httpclient — 一個無阻塞的HTTP服務器實現
tornado.netutil — 一些網絡應用的實現,主要實現TCPServer類框架

  • Integration with other services異步

tornado.auth — 使用OpenId和OAuth進行第三方登陸
tornado.database — 簡單的MySQL服務端封裝
tornado.platform.twisted — 在Tornado上運行爲Twisted實現的代碼
tornado.websocket — 實現和瀏覽器的雙向通訊
tornado.wsgi — 與其餘python網絡框架/服務器的相互操做

  • Utilities

tornado.autoreload — 生產環境中自動檢查代碼更新
tornado.gen — 一個基於生成器的接口,使用該模塊保證代碼異步運行
tornado.httputil — 分析HTTP請求內容
tornado.options — 解析終端參數
tornado.process — 多進程實現的封裝
tornado.stack_context — 用於異步環境中對回調函數的上下文保存、異常處理
tornado.testing — 單元測試

轉自:http://www.cnblogs.com/Bozh/

相關文章
相關標籤/搜索