Python 2013 精彩回顧:新聞、好文和資源
沒想到2013年這么快就過去了,但是2013留給我們的卻是互聯網上很多優秀的文章、教程、經驗以及開源項目。現在,就讓我們來回顧一下2013年有關于Python的精彩的開發文章吧。趁著這些文章還沒有過時,Python開發者們趕緊看過來了。
下面是有關于Python新聞,好文以及資源的列表。
干貨十足,希望你喜歡!
好了廢話不多說了,讓我們趕緊切入正題…
新聞公告
讓我們首先來回顧一下Python社區在2013年的新聞公告。
1. Heroku now supports different Python runtimes.
Heroku現在支持不同版本的Python環境了。只需要在runtime.txt中加入你所需要的Python版本信息,就能實現這個功能了,非常簡單。默認的Python版本是64bit CPython 2.7.4。
(譯者注:Heroku是一個PaaS平臺,現在率屬于Salesforce,這貨現在支持Ruby,Java,Node.js,Python,Clojure,Scala。 譯者之前稍微玩過,不過感覺沒有Redhat的Openshift好用,功能也沒有Openshift強大,與其類似的概念是Google的Google App Engine,Redhat的Openshfit,新浪的Sina App Engine,百度的Baidu App Engine)
這本書是由Django愛好者Daniel Greenfeld和Audrey Roy共同編寫的。這本書對于中級的Django開發者來說十分有用,包含了許多Django 1.5的最佳實踐。
(譯者注:相信玩Python的人大都知道或者玩過Django,譯者覺得Django對于Web開發者來說的確足夠敏捷,許多網站應該具有的功能 Django都已經默認自帶了。目前基于Django搭建的有大名鼎鼎的Instagram還有云計算領域著名的OpenStack項目)
3. Codeq: Static Analysis for Python Projects
這是一個非常酷的工具,能夠對Python工程進行靜態代碼分析。還等什么,趕緊登陸GitHub來看看吧。目測該工程現在是以PEP8檢查作為標準。
(譯者注:該網站現在貌似不能訪問,好悲劇:-(。不過譯者可以推薦另一個靜態代碼分析工具叫SonarQube,譯者用下來感覺非常不錯。靜態代碼分析能夠幫助開發者找出項目里面十分弱智的錯誤,最好將靜態代碼分析引入項目構建的過程中去,持續地去分析項目中的代碼)
是不是錯過了PyCon US 2013?不要煩惱了,所有的演講都被錄了下來,現在都放到了網上,大家都可以看到。非常感謝視頻音頻組和PyCon US組織者的辛勤勞動。
5. PythonMonk
這是學習Python的一系列免費的交互式的教程。非常不錯!
6. Asyncio (Tulip) Merge Into Python 3.4
(譯者注:Asyncio是Python3.4引入的一個支持異步IO的模塊,Tulip是它的開發代號,該模塊幾乎是純python實現的。利用 python3.3+的 yield from 特性,可以輕松實現同步語法的異步IO,不必使用回調,譯者網上搜了下,該模塊的性能似乎比node.js還要好。)
精彩文章
1. Will Scientists ever move to Python 3?
科學家們會開始轉向支持Python 3了嗎?這篇文章里面作者討論了這個不可能的任務:將Python 3引入到整個科學屆社區。
(譯者注:Python 3已經發布了好幾年了,但是現在的事實就是Python 3還不足夠穩定,還有一坨package沒有完全遷移到Python 3上來)
2.A guide to Python frameworks for Hadoop
Hadoop上的Python框架指南。現在每個人都在討論大數據,而Hadoop就是處理大數據集的最常用的工具。這篇文章將會向你詳細介紹Hadoop上的流行的Python框架。
(譯者注:這篇文章是寫在cloudera的blog上的,cloudera目前來講應該是大數據領域做得比較成功的startup,值得一讀)
對pytest的介紹。目前Python的世界里面有許多測試框架,pytest就是其中比較出眾的一個。本文是介紹pytest的比較精彩的文章,值得一讀。
4. Realtime Django Using Node.js and Redis
使用Node.js和Redis構建實時的Django。本文將介紹如何使用Django,redis和node.js構建實時的應用。
5. Python shortcuts for the Python beginner
Python初學者快速入門。本文對于其他編程語言轉到Python的初學者來說非常實用。
本文討論如何用Python去實現延遲載入,在實現的同時卻并不復雜。
7. Better Typography for iPython Notebooks
非常實用的文章,教你怎樣使用一點點CSS提高iPython Notebook的可讀性和排版美觀。
(譯者注:譯者表示自己玩了好幾年Python竟然不知道這貨的存在!看了一篇介紹以后覺得這貨非常酷,如果能把iPython Notebook應用于計算機科學教學之中,應該會很受學生的歡迎)
8. Virtualenv’s bin/activate is Doing It Wrong
本文作者認為,盡管virtualenv是個不錯的工具,但是它包含的bin/active腳本的設計思路卻一點也不想unix風格,會導致許多問題。作者接著就給出了許多應該怎么做的建議。
本文介紹了如何在多線程系統中使用Python線程和隊列模塊,但是本文中沒有提到 GIL,在處理Python多線程時GIL這個模塊是個重要的考慮因素。
10. Python Is Not Just a Language — It’s a Development Platform
這是一篇非常精彩的文章,每一個Python開發者都應該讀一讀。Doug Hellmann這本文中給出對Python的很好的回顧。
11. Deploying Django with Salt Stack
部署工具Salt Stack非常棒。大家可以來看看這篇文章學習Salt Stack的基本知識以及如何使用Salt Stack部署Django應用。
12. Getting started with Python for Data Scientists
數據社區DC給立志成為數據科學家的人做了個很好的Python介紹。該社區詳細列出了入門以及數據分析所需要的所有的工具和資源。
13. Core Concepts of Django Forms
你是不是對Django表單還是有些不太清楚,或者你想更新一下你的Django表單核心概念的知識?本博客的作者能夠幫助你回答這個問題。趕緊來看看吧。
14. Approach: Building a toy template engine in Python
如果你對模板引擎到底是怎樣工作的感到困惑,那么就來看看這篇博文吧。本文的作者將引導你一步步建立起一個簡單的模板引擎。
Python魔術一般的self,有些人恨它,有些人不了解它,也有些人不在乎它。在這篇博文里面,作者會用實際的例子來解釋Python的self語句。
16. Python Descriptors Demystified
對于Python描述符不太了解,那么趕緊看過來吧!
17. Facts and Myths about Python names and values
Python的變量名和值機制到底是怎樣實現的?就讓Ned來解釋一下吧,本文中包含了大量的例子,非常不錯的文章。
18. setup.py vs. requirements.txt
對于setup.py和requirements.txt以及它們的角色總是有許多的誤解。許多人會認為它們兩個是重復的,并開發出了工具來處理這種“重復性”。
19. Functional linked lists in Python
本文將會告訴你怎么使用函數式編程風格在Python中實現一個鏈接表。
20. A Guide to Analyzing Python Performance
本文是一個很好的入門教程,教你在Python中如何去分析程序性能。
21. Of Solving the Rubik’s From Scratch
本文詳細介紹了如何使用Python去解決魔方問題,文中包含大量代碼實例,非常不錯。
22. Introduction to Pandas and Vincent
本視頻介紹了Pandas以及該項目中的Dataframe和Series對象。接著使用了Vincent這個工具生成了這些對象的可視化視圖。
(譯者注:Vincent這個項目非常不錯,幾行Python代碼就可以畫出很絢麗的圖表,媽媽再也不用擔心我不會畫圖了,值得mark)
項目分享
1.radon
你想知道你自己的代碼的復雜度是多少嗎?或者你想分析你的代碼的圈復雜度嗎?那么來看看這個項目吧,該項目能夠對Python代碼進行復雜度分析,趕緊來看看吧!運行一下該項目你就能看到結果了。
2. django-conch
這是一個非常簡潔的項目。Django-conch把django shell暴露了出來,可以通過ssh進行訪問。如果你想調試遠程服務器上的Django應用,你就會覺得該項目非常實用了。
3. pudb
pudb是一個控制臺上的Python調試器
(譯者注:懷舊風格,感覺回到了最早的Pascal和C編輯器的年代)
4. python-social-auth
Python Social Auth的目標是成為認證所有社交服務的利器。該項目目前支持Django、Flask以及Web.py,并且支持許多服務。如果你在應用里面需要用到這個功能的話推薦你看下。
5. motor
該項目是專為 Tornado應用編寫的MongoDB驅動,是以非阻塞方式實現的。
6. elephant
該項目是一個基于S3的key-value存儲,并且提供Elastic search檢索功能。
非常酷的工具。現在使用推ter的Bower工具的人可以通過包管理來安裝Sublime Text 2了。
8. Pony ORM
Pony ORM這個項目挺好玩的,它會把Python的代碼翻譯成SQL。并且還有一個圖形化的編輯器能夠把對象模型轉換成Python代碼。對于非商業用戶來說可以免費使用商業版。
(譯者注:該項目確實非常不錯,強烈推薦啊)
9. Falcon Framework
Falcon是個高性能的云API框架。Falcon號稱與Web框架相比,它能夠提供在相同的硬件上服務30倍的請求。有興趣嗎?試試看吧。
10. cherrymusic
該項目是一個用Python編寫的音樂流服務器。趕緊把你自己的音樂唱片集推送到你的設備上吧!
11. smiley
Smiley包含了一些命令,能夠運行Python程序并監控其執行的過程,能夠記錄運行過程并生成一個報告。
12. wssh
該項目是websockets橋接的ssh,能夠在瀏覽器中運行ssh shell。非常不錯。包含了一個Web界面以及一個服務器。
13. babel
Babel是個Python的國際化庫,提供了許多國際化方面的實用工具。
14. regexpbuilder
該項目能夠使得你的正則表達式可讀性變強,同時易于維護,。寫正則表達式時,該項目采用了鏈式方法以及變量。
15. flask-restful
該項目是一個簡單的框架,能夠在Flask項目中快速地搭建出REST API出來。
16. pulsar
如果你正在尋找一個Python的web框架,該框架能夠很好地支持異步操作的話,恭喜你找到了答案,pulsar是一個并發事件驅動的Python框架。
(譯者注:Tornado也是一個支持異步操作的非常著名的web框架,同樣也是Python系的)
17. quokka
這是一個基于Flask的內容管理系統,該系統還使用了MongoDB。
18. dejavu
你還在好奇Shazam到底是怎么實現的么?那么就來看看這個用Python實現的聲紋識別算法吧!
(譯者注:Shazam是一個手機App)
原文鏈接: PyPix.com 翻譯: 伯樂在線 - brightconan
譯文鏈接: http://blog.jobbole.com/59535/