有沒有什麼很好的 Tornado 的教材或者開源項目可以做參考的?
首先必看的是官網的文檔, http://tornadoweb.org/ ,內容很少很快可以掃完,這裡有中文翻譯版, http://www.tornadoweb.cn/。
tornado的新書 Introduction to tornado:
Introduction to Tornado: Michael Dory, Adam Parrish, Brendan Berg: 9781449309077: Amazon.com: Books這個slide也不錯介紹了各個方面,有些文檔中提及的也不是很詳細 http://www.scribd.com/doc/50594742/An-Introduction-to-Tornado
關於tornado的模板,一般介紹的都不是很多,這篇文章可能會令你大有收穫 Joshua Inkenbrandt
此外就是多看tornado的源代碼,tornado的源碼很清晰。 yuhen同學這裡有幾篇tornado源碼分析的文章不錯http://www.rainsts.net/article.asp?id=1045,當然其他文章也很精彩。
example可以看tornado自帶的幾個例子差不多了,另外tornadoio(mrjoes/tornadio · GitHub),Timan(gmr/Tinman · GitHub),Pika(pika/pika · GitHub)也都是基於tornado比較出名的項目,但都不是常規的web應用。推薦你可以看看飛龍在天寫的poweredsites(felinx / PoweredSites)。
42qu的zpage(zuroc / zpage / wiki / Home )介紹tornado的ioloop的slide:
http://www.scribd.com/doc/84967437/The-Tornado-IOLoop分析tornado內部結構的slide:http://www.slideshare.net/pgollakota/tornado-web-server-internals關於tornado的源代碼分析的,最近找到一系列非常不錯的文章。希望能有幫助。
1. 為什麼要閱讀Tornado的源碼?
2. 預備知識:我讀過的對epoll最好的講解
3. epoll與select/poll性能,CPU/內存開銷對比4. 開始Tornado的源碼分析之旅5. 鳥瞰Tornado框架的設計模型6. Tornado源碼必須要讀的幾個核心文件7. Tornado HTTP伺服器的基本流程8. Tornado RequestHandler和Application類9. Application對象的介面與起到的作用10. RequestHandler的分析11. Tornado的核心web框架tornado.web小結12. HTTP層:HTTPRequest,HTTPServer與HTTPConnection
13. Tornado在TCP層里的工作機制14. Tornado TCPServer類的設計解讀15. 從代碼分析TCPServer類的機制16. Tornado高性能的秘密:ioloop對象分析17. Tornado IOLoop instance()方法的講解18. Tornado IOLoop start()里的核心調度19. Tornado IOLoop與Configurable類20. 弄清楚HTTPServer與Request處理流程21. 對socket封裝的IOStream機制概覽22. IOStream實現讀寫的一些細節
23. 番外篇:Tornado的多進程管理分析為什麼要閱讀Tornado的源碼? -- 簡明現代魔法
另外,還有一些基本的demo,官方的呦,在官方教程裡面也有提及tornado/demos at master · tornadoweb/tornado · GitHub索引頁 - Introduction to Tornado 中文翻譯 別說偶沒有提醒你們哦。
官方文檔必須要看Tornado Web Server
中文文檔的話,現存得很多都是很久版本的翻譯了, 推薦看這個 Tornado Web Server 是4.3 版本的翻譯。這個 文檔的地址是目前為止最新也翻譯最多的了。推薦一個開源項目,基於tornado的應用框架:torngas,https://github.com/mqingyn/torngas
最容易入門的 tornado 實例教程:guideep &> Tornado 實例教程
我目前用的個人blog就是用tornado寫的,也是我自己寫的,放在GitHub上,可以給大家參考,也可以給我多提提意見。
blog:https://blog.52xtg.com/
GitHub:https://github.com/xtg20121013/blog_xtg
基於Tornado的一個開源社區 GitHub - shiyanhui/Young: A full-featured forum software built on Tornado and MongoDB
我最近也在學習tornado,主要是通過例子(自己google,之前最好了解一下py3中的asyncio)+官方文檔+源碼。我也正在寫一本電子書把我學習和使用tornado過程中的資料記錄下來,電子書地址: https://github.com/andyxning/tornado-explore
推薦閱讀:
※Python 官方的第三方軟體存儲庫——PyPI 上發現10個惡意庫
※VS Code + Anaconda打造舒適的Python環境
※python 中文亂碼出現,不知道是什麼原因?
※Scrapy之斷點續爬
※Python 中 Requests 庫的用法