大家好,我是小金!

前段時間看到阮一峰老師在推特上的一個分享,非常不錯!

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

SQLite 大家應該都知道吧?SQLite 是一款輕型的資料庫,是遵守 ACID 的關係型資料庫管理系統,它包含在一個相對小的 C 庫中。它的設計目標是嵌入式的,而且已經在很多嵌入式產品中使用了它,它佔用資源非常的低。

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

SQLite 是在 2000 年釋出的,到目前為止已經有 21 年了。

像大家現在使用的微信,它本地就是透過 SQLite 來儲存的資料。

注意:微信本身的伺服器就不能使用 SQLite,畢竟,併發量太大,SQLite 沒辦法滿足。

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

SQLite 的作者是 D。 Richard Hipp(理查德希普),作者非常的有個性,用到的軟體工具都是自己寫,他寫了不少工具,比如 SQLite、Bug 追蹤系統 CVSTrac、版本管理系統 Fossil。

今天要推薦的就是理查德希普最新開源的 Web 伺服器 althttpd,我們可以先來看下這個專案的時間線。

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

可以看出來開源工作是最近才開始的,但是實際上 althttpd 從 2004 年開始就在支撐

https://

sqlite。org/

網站的執行,althttpd 的設計目標就是為了簡單、安全同時低資源消耗。

在 2018 年,

http://

sqlite。org

每天要響應 50 萬的 HTTP 請求,而只用了價值 40 美金的伺服器,而且伺服器處於很低的負載(0。1 或者 0。2),可以看出其效能還是不錯的。

我們來看下 althttpd 的程式碼,專案實際只有一個 c 檔案,整體行數也不多,是一個非常不錯的學習專案。

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

而且專案中有一個介紹檔案

althttpd。md

,詳細介紹了 althttpd 的設計哲學、專案使用說明等。

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

從 althttpd 的設計哲學可以看出來,作者是一個很剋制的人,並不是希望去做一個功能非常豐富的 Web 伺服器,而是希望 althttpd 在滿足功能要求的前提下,能夠儘量保持程式碼的簡潔,這是非常值得我們學習的。

更多專案詳情請檢視如下連結。

專案地址:

https://

sqlite。org/althttpd/doc

/trunk/althttpd。md

還等什麼?學起來吧!

我在準備面試的時候,整理了一系列非常全面的圖解計算機基礎的PDF,分享給需要的小夥伴,沒有任何套路!

獲取方式:圖解計算機基礎!(整理不易,有幫助的話歡迎點贊!)。

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

另外,國內現在的校招面試開始越來越重視演算法了,尤其是像位元組跳動、騰訊這類大公司。絕大部分公司的校招筆試是有演算法題的,如果 AC 率比較低的話,基本就掛掉了。

一定要多多刷Leetcode,這是我整理的一些 Leetcode 相關的資料:阿里ACM大佬開源的學習筆記!TQL!(整理不易,有幫助的話歡迎點贊!)。享給需要的小夥伴,沒有任何套路!

SQLite 作者最新開源力作!只有一個C檔案的 Web 伺服器!!

Github掘金計劃由3位志同道合熱愛開源的小夥伴維護,我們想讓 Github 和 Gitee 上優質的開源專案被更多人看到

如果有幫助的話點個在看或者贊就是對我們最大的鼓勵!

歡迎關注 @Github掘金計劃,持續分享優質開源專案!