我一直以來讀書是獲取知識最好的方式,很長時間以來,我都在博客維護了一個 推薦書單,最近又作了一些整理,爲每本書都添加了簡評,但願能對你們有幫助,固然若是能用個人推廣連接購書就再好不過了。javascript
深刻理解計算機系統前端
這本書從一個程序員角度描述了計算機底層的工做原理,例如信息的儲存、算數計算、彙編和連接、處理器、編譯優化、存儲器、輸入輸出、併發編程等話題。對於 C 等系統編程語言的使用者來說,這是一本必讀的書,這本書會讓你對你的寫下的每一行代碼的執行過程有一個比較系統的瞭解。對於應用級編程來說,這本書也有很大價值,由於瞭解底層實現會有助於你更深入地理解高抽象層次的編程語言是如何實現的。java
計算機程序的構造和解釋程序員
這本書以 Lisp 爲例系統性地介紹了用於在構建大型軟件時控制代碼的複雜度的技巧 —— 將複雜的事物,經過隱藏細節的方式不斷地進行組合和抽象。這本書將會讓你認真地思考編程的核心過程 —— 抽象,幫助你設計出結構良好、可維護的代碼。算法
計算機網絡:自頂向下方法數據庫
這本書以自頂向下 —— 從應用到實現的方式介紹了計算機網絡各層次的設計和實現。這本書會幫助你對計算機網絡各個層次所扮演的角色有一個概覽性的瞭解,對於應用層編程來說,瞭解 TCP 和 HTTP 的實現也是很是有幫助的。編程
計算的本質:深刻剖析程序和計算機後端
這本書同時介紹了「狀態機」和「Lambda 驗算」這兩種計算模型,深刻地介紹了高層次的編譯型語言如何被編譯到上述的計算模型,但本書並無太多理論性的介紹,而是用比較易於接受的例子來進行講解。這本書會讓你瞭解到計算機是如何擁有計算能力的,以及平時所使用的高級語言如何映射到基本的計算模型,也會教會你如何本身實現一個簡單的編譯器。瀏覽器
代碼大全性能優化
這本書經過上百個例子來介紹在具體編碼工做中的「最佳實踐」,這是一本當之無愧的「代碼大全」,由於每一節都是相對獨立的話題,所以本書很適合碎片時間閱讀。這本書可能須要你有必定軟件工程的實踐才能理解其巧妙之處,所以建議每隔一段時間就重溫一遍。
程序員修煉之道:從小工到專家
這本書經過幾十個較爲零散的話題介紹了一個優秀的程序員在工做的過程當中會遇到的問題 —— 如何挑選工具、如何協做、如何保證質量、如何管理需求和任務。這本書適合有必定工做經驗的程序員閱讀,並思考本身的工做中還有哪些改進空間。
編寫可讀代碼的藝術
這本書經過大量的代碼示例和講解,從標識符、註釋、變量、流程控制、排版、組織代碼、自動測試的角度細緻地討論了什麼纔是「優雅」的代碼風格。這本書會讓你從新注意起代碼中不起眼的小細節,適合全部但願寫出優雅的代碼的人。
這本書介紹了世界上最大的互聯網公司如何在規模逐漸增加的過程當中保證可用性的,從如何看待風險、部署監控、發佈新版本、緊急故障處理、設計分佈式系統、如何培養運維工程師等角度全面地介紹了站點可靠性工程師(SRE)所面臨的挑戰,推薦全部服務器端開發者閱讀這本書。
編程珠璣
這本書經過十幾個例子介紹瞭如何寫出正確的代碼,並一步步優化使其短小精悍並擁有較高的性能,應用了排序、搜索、集合和字符串運算等最基本的算法。這本書會讓你思考如何寫出正確的、簡短的、高性能的代碼,畢竟只有在這樣的代碼的基礎之上,纔有應用其餘軟件工程方法的意義。
集體智慧編程
這本書結合有趣的例子介紹了在數據分析、搜索引擎、文本過濾、預測和決策領域的一些算法,它們並不複雜,而且頗有可能會在你的工做的某個部分中發揮做用。
JavaScript 權威指南
這本書事無鉅細地介紹了 JasvaScript 語言核心、標準庫以及瀏覽器提供的 DOM 和 BOM. 本書並無由淺入深的結構,而是通篇平鋪直敘地介紹,所以適合有必定 JavaScript 基礎的人從頭到尾閱讀來掌握一些相對細節的 JavaScript 知識,或遇到具體問題時查閱相關章節。
JavaScript 語言精粹
這本書用相對簡短的篇幅介紹瞭如何使用 JavaScript 中最精華的部分編寫優雅的代碼。這本書適合對 JavaScript 僅有些許瞭解的人快速上手 JavaScript, 避免陷入 JavaScript 語法中的那些糟粕。
JavaScript Web Applications 中文版
這本書經過從零設計一個 MVC 架構的 JavaScript Web 應用框架來介紹瞭如何控制大型 Web 應用的複雜度,也介紹了幾個常見的開源 Web 框架。這本書適合 Web 前端開發者瞭解常見的 Web 框架的基本設計思路和工做原理。
JavaScript 異步編程
這本書介紹了 JavaScript 中事件模型、Promise、async.js 等異步抽象的設計和實現,同時也介紹了 Web Woerk 等在瀏覽器中優化性能的技巧。這本書適合全部 JavaScript 程序員增長對 Promise 等異步模型的理解,並在實踐中挑選合適的異步模型。
SQL 必知必會
這本書由淺入深,概覽式地介紹了 SQL 中和具體實現無關的那些語法,很是適合快速入門,瞭解 SQL 所提供的功能。
Redis 入門指南
這本書從 Redis 的各類數據類型入手,介紹了常見的命令,其間穿插着數據結構設計的實例,後半部分也介紹了事務、腳本和持久化等高級話題。這本書很是時候新手入門 Redis 或有必定 Redis 使用經驗的人瞭解一些細節知識。
高性能 MySQL
這本書側重於性能和可用性方面,先介紹了性能測試的基本原則,而後分別討論了索引、查詢對性能的影響,還介紹瞭如何配置分區和複製、如何配置高可用的數據庫。適合已在工做中大量使用數據庫,但願深刻了解 MySQL 的工做原理來進行性能優化的開發者。
對於 Web 開發者而言,HTTP 是溝通前端於後端的橋樑,HTTP 自己提供了極其豐富的功能,就像其餘的權威指南同樣,這本書面面俱到地介紹了 HTTP 主要特性,有助於你在前端或後端開發中選擇恰當的特性,在出現問題時進行更有針對性的排錯。
Modern PHP 中文版
PHP 的用戶既有 Facebook 這樣頂尖的互聯網公司,也有一些連版本控制和依賴管理都不瞭解的業餘開發者。這本書會介紹如何使用 PHP 中的新特性、常見的需求有哪些最佳實踐、有哪些風格標準能夠參考、如何進行測試、如何進行部署,以現代化的方式來進行 PHP 開發。
這本書很是適合已有必定的開發經驗,但願快速瞭解 Python 的語法,並用 Python 完成一些簡單的項目。這本書先是簡略地快速介紹了 Python 的語法,而後介紹它在腳本、網絡、數據處理等領域的應用,其間還介紹了不少相關的工具和第三方包。