20180228_164356.jpg

讀書心得 - 一次搞定:所有Python Web框架開發百科全書

書名:一次搞定:所有Python Web框架開發百科全書 最完整Python Web框架,包括Django、Flask、Tornado、Twisted等

原文書名:Python高效開發實戰:Django、Tornado、Flask、Twisted

作者:劉長龍

ISBN:978-986-379-493-6

出版社:佳魁資訊

出版日期:2017/03/28

 

雜談:

  接下來幾次的讀書心得應該都是沒接到的外包那篇文章裡面提到的,為了在短時間了解Django而讀的幾本書籍,由於這本書也不是很適合新手閱讀,所以先說明一下我當初讀這本書的背景,在公司裡一些小型的內網服務用過Flask,Django我只有在半年前看過一點官方教學,沒有實戰經驗,不過webMVC ( Model2 ) 倒是摸過不少框架,HTTP協定略懂。因為公司的工程人員只有三個,所以內網我通常直接用內建的測試server導致不太熟WSGI。

 

心得:

  首先我認為本書最簡顯易見的缺點就是繁體版書名太過自大,書中提及的四個框架都不是能夠輕易就喊出搞定的,講的誇張一點如果讀者原本就有辦法搞定其中一兩個,那他的等級大概也不會是這本書的客群了,不過繁體技術書本來就常見用誇飾書名來吸引目光的書籍,這邊就不太多談了。

  最大優點則是他很清楚的說明了四個框架的差異,看完之後會很了解他們的差異,也會知道他們之間是不太能比較的,使用的背景、提供的功能也不相同,尤其是給一個框架都有實作這點讓我相當享受。我當初也是想從Flask跳到Django才買這本書,而他也確實給了我不少幫助,但最終收穫最大的部分反而是Tornado,不過目前我還沒有機會在實戰中使用到他。還有其他優點像是有單獨章節講解WSGI、部屬。

  本書除了書名中的四個框架之外還包含了基礎python、HTTP、WSGI、ORM、jQuery等知識,他有跟深入淺出Python後半段一樣一次塞入很多技術的特點,又因為四個框架的應用都偏實戰,讓他的廣度對於新手有點太高了。雖然從書中可以感受到作者有努力的解釋他每一步使用的技術,但是太多的解釋反而讓我讀的不太順,思緒會一直跳來跳去。

  額外補充一下當初我看完WSGI章節後,一直搞不懂WSGI的運作,一直想把他跟CGI、FAST-CGI硬做比較,但是上網查了很多資料之後我目前認為通常討論CGI、FAST-CGI主要是在工作方式不同,CGI為每個請求建立一個新的process,FastCGI使用持續的process來處理一連串的請求。但是WSGI在維基百科上的說明是

在處理一個WSGI請求時,伺服器會為應用程式提供環境資訊及一個回呼函式(Callback Function)。當應用程式完成處理請求後,透過前述的回呼函式,將結果回傳給伺服器。

WSGI強調的是依照規定接口實作的部分,因為接口固定所以也有Middleware可以串起來玩,不過在運作方面並沒有強制規範 ( 我的理解是這樣,如果有錯誤歡迎指教 ),我也觀察了Gunicorn如何跟app溝通

下載 (1).png

他是直接把app import近來再eval他的接口。當然這個部分我還不是真的很清楚,我有打算日後詳讀再自己實作一個小WSGI server來釐清這些事情。若是有很了解這個部分的朋友願意分享,歡迎直接留言或是mail我,謝謝。

 

總結:

  我看完後覺得本書廣度太高對於新手不友善,認為這是一本工程師導向的書,若是你在上述提到的技術裡有略懂一半左右,那你就在這本書的客群裡了,一半的落懂可以讓你有跟著本書擴展廣度的本錢,並且在短時間內接觸另外一半不擅長的領域,增廣見聞。像是有關系統跟部屬的章節我的系統程度太弱一開始看的似懂非懂,但是靠著略懂前後端知識搭配上網查資料硬是把整本看完,再回去重看一遍時就有種豁然開朗的感受。本次的讀書心得就到此為止,謝謝正在觀看的你。

arrow
arrow

    迷宮兔 發表在 痞客邦 留言(0) 人氣()