Python Conference 初心者的 CCR
這次有幸報名了Python Conference,其實我是一個python的初心者,感覺有點像劉姥姥逛大觀園一樣,看到很多東西都覺得很有趣。來提一些我覺得我之後會用的。 1. IPython / IPython notebook IPython的I是interactive,提供比傳統的shell更高階的interactive framework,例如可以把輸出結果用圖形化頁面呈現。而ipython notebook是web版的,讓你只需要瀏覽器就可以用。這個Tool對資料分析資料查詢數據呈現都非常有幫助,應該是我之後一定會用的東西。 2. Pandas 這次Keynote Speaker的講者的作品,也是python資料處理的重要套件,底層也整合了很多耳熟能詳的NumPy,SciPy,matplotlib等套件。我覺得有點很強大的是根IPython Notebook的結合,可以很快地把結果呈現成GUI,不管是表單,圖示,或是pivot table,根本就是把data processing,data analysis,data visualization全部的一步到位。 3. fabric 當你一次管很多台電腦的時候,常常想要一鍵讓你所有機器執行數個command。例如想要一次看所有機器的時間是否同步,看看所有電腦上的剩餘空間,或是一鍵deploy,一鍵rsync等等… 這個工具讓你輕鬆寫些python script就可以達到此目的。 4. docker 這個應該不是python限定的,但是因為有場專門介紹覺得很有興趣。現在大家已經對VM很熟悉了,但是Docker算是lightweight的VM,他們有host/guest兩層OS,而是在host之上有個docker層,可以load各種distribution到你的機器之上。所以你很容易開一個乾淨的環境,並且把你想要的檔案透過API放進此sandbox,expose你想要的port ,這樣就可以跑起一個乾淨的環境。這對於測試,或是staging都非常有幫助。另外他有版本控制的功能,也有各種 distribution的ecosystem,成熟了以後應該會是個趨勢。 5. thumbor 其實這是個小但是很可能會用到的工具。我們網頁常常需要切圖,但是不知道要切多大。而thumbor是個gateway,只要描述: http://<thumbor-server>/300×200/smart/{your-host-of-image}/{your-path-to-image} 他就會動態的產生thumbnail,此工具搭配CDN可以解決很多的問題。 當然有很多東西是覺得不錯的,但是因為我大概沒機會用到,就不列出來了。我覺得我喜歡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吧! |
Mosky Liu
05/23
Python is *strongly*, dynamically typed.
popcorny
05/23
感謝指正!! 應該要修正成Java是靜態語言(Statically typed language),而Python是動態語言(dynamically typed language)。