原创 nginx源碼分析(2)- 概覽

源碼分析是一個逐步取精的過程,最開始是一個大概瞭解的過程,各種認識不會太深刻,但是把這些真實的感受也記錄下來,覺得挺有意思的,可能有些認識是片面或者是不正確的,但可以通過後面更深入細緻的分析過程,不斷的糾正錯誤和深化理解。源碼分析是一個過

原创 nginx源碼分析(1)- 緣起

nginx是一個開源的高性能web服務器系統,事件驅動的請求處理方式和極其苛刻的資源使用方式,使得nginx成爲名副其實的高性能服務器。nginx的源碼質量也相當高,作者“家釀”了許多代碼,自造了不少輪子,諸如內存池、緩衝區、字符串、鏈表

原创 簡與美(7)

腦中的數學是抽象的,手中的數學是簡單的。   我們已經介紹了隱馬模型,並且用動態規劃思想解決了隱馬模型提出的兩個問題。尤其是第二個問題,和我們接下來要討論的詞性標註有直接關係。   在NPL領域,有一個稱爲N元模型的語言統計模型,它對應N

原创 簡與美(5)

當我搞明白了要把隱馬模型說清楚至少再需要3篇的時候,我覺得這是一個陷阱了。不過既然已經決定去做,也有着美好的願望,就勇往直前吧。 有同學反映寫的太難理解了,涉及太多的算法。我已經是很努力的寫清晰了,那些算法的內裏是很美妙的感覺,希望有興趣

原创 簡與美(1)

最近在做項目的時候經常使用數學,把很多複雜的問題化簡成很簡單的模型,而這使得實現相當美觀,爲了激勵自己繼續鑽研下去,也希望總結一些得失,我打算從今天開始陸續寫一個《簡與美》系列。   腦中的數學是抽象的,手中的數學是簡單的。   上週做一

原创 簡與美(4)

腦中的數學是抽象的,手中的數學是簡單的。   前面已經討論了中文分詞三個階段的第一個階段:字串粗分。經過字串粗分得到一個候選集合,我們也討論了通過N-最短路徑構造一個詞圖來減少這個候選集合的結果數目。理想情況下,如果這些候選結果包含了正確

原创 簡與美(6)

在繼續之前,先說些別的。 有人問我最近在忙些什麼,爲什麼會研究起NLP(自然語言處理)。這和工作有一定關係,但也不全是。 總結一下我這三年來做的事情,圍繞着三個技術核心,一個是如何寫好代碼,一個是存儲技術,一個是數據挖掘。 在寫代碼方面,

原创 簡與美(3)

腦中的數學是抽象的,手中的數學是簡單的。   接着談字串粗分的N-最短路徑方法。   所謂N-最短路徑就是最少路徑和全路徑的折中,保留前N長度的路徑。N-最短路徑方法的基本思想是根據詞典,找出字串中所有可能的詞構造詞圖(一種有向無環圖),

原创 簡與美(2)

腦中的數學是抽象的,手中的數學是簡單的。   接着談中文分詞。   我們已經討論了詞典的一種快速查詢結構:雙數組trie樹。這種結構只需要通過簡單的幾次數學計算就可以完成查詢,不需要做任何的拷貝和字符串比較。這種結構比較適合於詞典不用經常

原创 nginx源碼分析(3)- 自動腳本

nginx的自動腳本指的是configure腳本程序和auto子目錄下面的腳本程序。自動腳本完成兩件事情,其一是檢查環境,其二是生成文件。生成的文件有兩類,一類是編譯代碼需要的Makefile文件,一類是根據環境檢查結果生成的c代碼。生成

原创 nginx源碼分析(15)-模塊分析(1)

nginx的內部實現上用四個模塊上下文結構把所有模塊從實現上分開爲四種,不同的模塊上下文支持不同的模塊鉤子。如果拋開實現方式,僅僅從功能邏輯上來 區分,大致可以把所有模塊分爲三類,第一類是nginx的內核模塊;第二類是http模塊;第三類

原创 nginx源碼分析(13)-運維與配置(1)

nginx現在已經支持很多功能,系統內已經實現的模塊多達72個,這些模塊提供了若干配置指令來設置和控制nginx的相關處理過程。   爲了能夠更深入的進行接下來的源碼分析,利用一些篇幅討論一下nginx的運維和配置相關的內容,主要參考了n

原创 停止維護此技術博客

最近把所有技術博客遷往新浪:http://blog.sina.com.cn/kenbinzhang   主要是因爲新浪博客在訂閱的時候可以全文拉取,very good,並且在文章發表方面的體驗也是很棒的。   給大家帶來不便敬請諒解:)

原创 nginx源碼分析(19)-方法(3)

  nginx的三個部分:核心、事件模型/併發模型、應用模塊,之前已經詳細了分析了核心和事件模型/併發模型兩個部分,也詳細解釋了nginx的模塊化設計。 之 前的分析採用了平鋪直敘的方式,對源碼中主要函數進

原创 nginx源碼分析(16)-模塊分析(2)

 對一個高性能服務器來說,一般都要求處理速度快和資源佔用小,尤其是當服務器遇到C10K問題的時候。要做到處理速度足夠快,其併發模型的設計相當關鍵;而要做到資源尤其是內存資源的佔用少,就要依賴於其資源分配和資源管理的方案設計。 網 上有一些