華文網

每個程式師書櫃必備的程式設計書籍

演算法、資料結構、複雜性

為什麼要關心演算法、資料結構和複雜性? 好吧,有一個實用的結論:在工作中,即使你從來沒有用到這些東西,但是,大多數一流的支付公司在面試中會測試這些內容。

我決不瞎扯,演算法真的很有用,就像我發現數學很有用一樣。任何特定演算法適用於任何特定問題的概率很低,但從總體上說明什麼類型的問題如何解決,什麼樣的問題難以處理,通常當近似有效時就有用了。

《Cracking the Coding Interview》

《C程式設計語言》

《C程式設計語言》(第2版新版)原著即為C語言的設計者之一Dennis M.Ritchie和著名的電腦科學家Brian W.Kernighan合著的 一本介紹C語言的權威經典著作。 我們現在見到的大量論述C語言程式設計的教材和專著均以此書為藍本。

原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標準C的基礎。

人們熟知的“hello,world”程式就是由本書首次引入的,現在,這一程式已經成為所有程式設計語言入門的第一課。

設計模式之禪(第2版)

本書是設計模式領域公認的3本經典著作之一,“極具趣味,容易理解,但講解又極為嚴謹和透徹”是本書的寫作風格和方法的最大特點。

第1版2010年出版,暢銷至今,廣受好評,是該領域的里程碑著作。深刻解讀6大設計原則和28種設計模式的準確定義、應用方法和最佳實踐,全方位比較各種同類模式之間的異同,詳細講解將不同的模式組合使用的方法。第2版在第1版的基礎上有兩方面的改進,一方面結合讀者的意見和建議對原有內容中的瑕疵進行了修正和完善,另一方面增加了4種新的設計模式,
希望這一版能為廣大程式師們奉上一場更加完美的設計模式盛宴!

Head First 設計模式

Head First設計模式又是一部Head First系列的書籍。作者為Kathy Sierra及其團隊。當我在2006年開始讀這本書的時候,我對設計模式並不是很瞭解。設計模式解決什麼問題,怎麼解決問題,如何使用設計模式,

設計模式有什麼好處,這些問題我幾乎都無法回答出來。但是當我讀完這本書的時候,一切都豁然開朗。在本書介紹繼承和組合一章,使用簡單有趣的例子,一步一步提出問題並解決問題,最終得出最優解。本書中會有很多要點總結,幽默對話,練習題還有有名的單詞接龍等幫助你更好地瞭解設計模式。如果你想瞭解Java中的設計模式,請帶走這本書。

《程式設計珠璣》

多年以來,當程式師們推選出最心愛的電腦圖書時,《程式設計珠璣》總是位列前列。 正如自然界裡珍珠出自細沙對牡蠣的磨礪,電腦科學大師Jon Bentley以其獨有的洞察力和創造力, 從磨礪程式師的實際問題中凝結出一篇篇不朽的程式設計“珠璣”, 成為世界電腦界名刊《ACM通訊》歷史上最受歡迎的專欄, 最終結集為兩部不朽的電腦科學經典名著,影響和激勵著一代又一代程式師和電腦科學工作者。

本書為第一卷,主要討論電腦科學中最本質的問題:如何正確選擇和高效地實現演算法。

 代碼整潔之道

這是我最喜歡的一本書,不止一次我將它推薦給我的同事,讀者還有學生。我認為它可以稱得上軟體發展與編碼方便最好的一本書。Bob大叔我想無需做介紹,他寫過一個關於敏捷開發的系列書籍,我的書架上就有他的《代碼整潔之道》,《程式師的職業素養》, 《敏捷軟體發展(原則模式與實踐)》,《敏捷軟體發展(原則模式與實踐)》,《UML for Java For Programmers》, 《Extreme Programming in Practice》等這些書籍。雖然他的這些書有點老舊,但是這些書仍然很有價值,縱使數十年之後,這些書依舊受用,尤其是在物件導向程式設計方面。 本書不僅僅是告訴你要做什麼,還教會你什麼不能做。書中有關於代碼味道的一個章節,全面列舉了大多數程式師遇到的各種錯誤,其後的章節則詳細描述如何糾正這些錯誤。比如如何將過長的switch聲明轉換成遵循開放閉合原則的模型,如何利用集成和多態。再次囉嗦一下,這本書確實值得每個程式師擁有。和上本書一樣,書中的例子使用Java語言,但依然適合使用其他物件導向程式設計語言的開發者閱讀。想要擼的一手好碼,這本書必不可少。

 鳥哥的Linux私房菜

本書是最具知名度的Linux入門書《鳥哥的Linux私房菜基礎學習篇》的最新版,全面而詳細地介紹了Linux作業系統。全書分為5個部分:第一部分著重說明Linux的起源及功能,如何規劃和安裝Linux主機;第二部分介紹Linux的檔案系統、檔、目錄與磁片的管理;第三部分介紹文字模式介面 shell和管理系統的好幫手shell腳本,另外還介紹了文字編輯器vi和vim的使用方法;第四部分介紹了對於系統安全非常重要的Linux帳號的管理,以及主機系統與程式的管理,如查看進程、任務分配和作業管理;第五部分介紹了系統管理員(root)的管理事項,如瞭解系統運行狀況、系統服務,針對登錄檔進行解析,對系統進行備份以及核心的管理等。

另外還有一點可以通過自身的學習來獲取一大進步。

分享給超過5萬的程式師朋友下載,這次我把所有資料重新梳理精簡,免費分享給大家 。

究竟有哪些乾貨呢?先給你們一個目錄:

免費領取資料途徑:公眾平臺 “程式師程式設計"

多年以來,當程式師們推選出最心愛的電腦圖書時,《程式設計珠璣》總是位列前列。 正如自然界裡珍珠出自細沙對牡蠣的磨礪,電腦科學大師Jon Bentley以其獨有的洞察力和創造力, 從磨礪程式師的實際問題中凝結出一篇篇不朽的程式設計“珠璣”, 成為世界電腦界名刊《ACM通訊》歷史上最受歡迎的專欄, 最終結集為兩部不朽的電腦科學經典名著,影響和激勵著一代又一代程式師和電腦科學工作者。

本書為第一卷,主要討論電腦科學中最本質的問題:如何正確選擇和高效地實現演算法。

 代碼整潔之道

這是我最喜歡的一本書,不止一次我將它推薦給我的同事,讀者還有學生。我認為它可以稱得上軟體發展與編碼方便最好的一本書。Bob大叔我想無需做介紹,他寫過一個關於敏捷開發的系列書籍,我的書架上就有他的《代碼整潔之道》,《程式師的職業素養》, 《敏捷軟體發展(原則模式與實踐)》,《敏捷軟體發展(原則模式與實踐)》,《UML for Java For Programmers》, 《Extreme Programming in Practice》等這些書籍。雖然他的這些書有點老舊,但是這些書仍然很有價值,縱使數十年之後,這些書依舊受用,尤其是在物件導向程式設計方面。 本書不僅僅是告訴你要做什麼,還教會你什麼不能做。書中有關於代碼味道的一個章節,全面列舉了大多數程式師遇到的各種錯誤,其後的章節則詳細描述如何糾正這些錯誤。比如如何將過長的switch聲明轉換成遵循開放閉合原則的模型,如何利用集成和多態。再次囉嗦一下,這本書確實值得每個程式師擁有。和上本書一樣,書中的例子使用Java語言,但依然適合使用其他物件導向程式設計語言的開發者閱讀。想要擼的一手好碼,這本書必不可少。

 鳥哥的Linux私房菜

本書是最具知名度的Linux入門書《鳥哥的Linux私房菜基礎學習篇》的最新版,全面而詳細地介紹了Linux作業系統。全書分為5個部分:第一部分著重說明Linux的起源及功能,如何規劃和安裝Linux主機;第二部分介紹Linux的檔案系統、檔、目錄與磁片的管理;第三部分介紹文字模式介面 shell和管理系統的好幫手shell腳本,另外還介紹了文字編輯器vi和vim的使用方法;第四部分介紹了對於系統安全非常重要的Linux帳號的管理,以及主機系統與程式的管理,如查看進程、任務分配和作業管理;第五部分介紹了系統管理員(root)的管理事項,如瞭解系統運行狀況、系統服務,針對登錄檔進行解析,對系統進行備份以及核心的管理等。

另外還有一點可以通過自身的學習來獲取一大進步。

分享給超過5萬的程式師朋友下載,這次我把所有資料重新梳理精簡,免費分享給大家 。

究竟有哪些乾貨呢?先給你們一個目錄:

免費領取資料途徑:公眾平臺 “程式師程式設計"