Python Conference 初心者的 CCR by popcorny | CodeData
top

Python Conference 初心者的 CCR

分享:

這次有幸報名了Python Conference,其實我是一個python的初心者,感覺有點像劉姥姥逛大觀園一樣,看到很多東西都覺得很有趣。來提一些我覺得我之後會用的。

1. IPython / IPython notebook

IPython的I是interactive,提供比傳統的shell更高階的interactive framework,例如可以把輸出結果用圖形化頁面呈現。而ipython notebook是web版的,讓你只需要瀏覽器就可以用。這個Tool對資料分析資料查詢數據呈現都非常有幫助,應該是我之後一定會用的東西。
http://ipython.org/

2. Pandas

這次Keynote Speaker的講者的作品,也是python資料處理的重要套件,底層也整合了很多耳熟能詳的NumPy,SciPy,matplotlib等套件。我覺得有點很強大的是根IPython Notebook的結合,可以很快地把結果呈現成GUI,不管是表單,圖示,或是pivot table,根本就是把data processing,data analysis,data visualization全部的一步到位。
http://pandas.pydata.org/

3. fabric

當你一次管很多台電腦的時候,常常想要一鍵讓你所有機器執行數個command。例如想要一次看所有機器的時間是否同步,看看所有電腦上的剩餘空間,或是一鍵deploy,一鍵rsync等等… 這個工具讓你輕鬆寫些python script就可以達到此目的。
http://www.fabfile.org/

4. docker

這個應該不是python限定的,但是因為有場專門介紹覺得很有興趣。現在大家已經對VM很熟悉了,但是Docker算是lightweight的VM,他們有host/guest兩層OS,而是在host之上有個docker層,可以load各種distribution到你的機器之上。所以你很容易開一個乾淨的環境,並且把你想要的檔案透過API放進此sandbox,expose你想要的port ,這樣就可以跑起一個乾淨的環境。這對於測試,或是staging都非常有幫助。另外他有版本控制的功能,也有各種 distribution的ecosystem,成熟了以後應該會是個趨勢。
https://www.docker.io/

5. thumbor

其實這是個小但是很可能會用到的工具。我們網頁常常需要切圖,但是不知道要切多大。而thumbor是個gateway,只要描述:

http://<thumbor-server>/300×200/smart/{your-host-of-image}/{your-path-to-image}

他就會動態的產生thumbnail,此工具搭配CDN可以解決很多的問題。
https://github.com/thumbor/thumbor

當然有很多東西是覺得不錯的,但是因為我大概沒機會用到,就不列出來了。我覺得我喜歡python這個Language,就像keynote speaker說的python is the best secondary language。當然我相信python在很多地方是可以當primary language啦 XD,但是我想說的是他的萬用。

在web世界裡有django,所以可以很快的build up一個web系統,而且有強大的ecosystem,這點絕對不輸ROR。在科學計算機器學習資料分析部分,我想這邊絕對是python的強項,但是當到了大資料大計算的時候,可能還是要傾向Hadoop這個ecosystem。

在shell script這部分,我覺得python很簡單且功能強大,很多東西就pip install幾個package,再幾行的code就搞定了,java表示有點麻煩。而python本身是個語言特色走的很前面的語言,而也兼具了imperative, object-oriented, functional三種風格都很棒的語言。

對我比較常寫java來講,我會用java因為是強形態,ecosystem大,效能好等優點。而python部分的弱形態,簡單易用,語言優美等特點算是一種互補。看來python也算是我的best secondary language吧!

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

Mosky Liu05/23

Python is *strongly*, dynamically typed.

popcorny05/23

感謝指正!! 應該要修正成Java是靜態語言(Statically typed language),而Python是動態語言(dynamically typed language)。

關於作者

學生時代熱愛 Java 技術,然而為五斗米閃到腰跑去 IC Design House 去寫 C。這幾年重新拾起 Java 技術,並且也同時開發 Web, iOS 以及Android App,繼續另外一個閃到腰的旅程 ...

熱門論壇文章

熱門技術文章