以下這十本在豆瓣上備受矚目、收藏數居高不下的計算機圖書,不僅代表了當前計算機科學領域的頂尖水平,更凝聚了作者們的智慧結晶與無數讀者的共同認可。它們將引領你穿越技術的迷霧,領略計算機科學的無限魅力與廣闊前景。
1、代碼整潔之道
本書提出一種觀念:代碼質量與其整潔度成正比。乾淨的代碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱“啓示”),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。
本書閲讀對象為一切有志於改善代碼質量的程序員及技術經理。書中介紹的規則均來自作者多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖為一“家”之言,然誠有可資借鑑的價值。
2、深度學習
《深度學習》由全球知名的三位專家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰寫,是深度學習領域奠基性的經典教材。全書的內容包括3個部分:第1部分介紹基本的數學工具和機器學習的概念,它們是深度學習的預備知識;第2部分系統深入地講解現今已成熟的深度學習方法和技術;第3部分討論某些具有前瞻性的方向和想法,它們被公認為是深度學習未來的研究重點。
《深度學習》適合各類讀者閲讀,包括相關專業的大學生或研究生,以及不具有機器學習或統計背景、但是想要快速補充深度學習知識,以便在實際產品或平台中應用的軟件工程師。
3、人工智能現代方法(第4版)
本書全面、深入地探討了人工智能(AI)領域的理論和實踐,以統一的風格將當今流行的人工智能思想和術語融合到引起廣泛關注的應用中,真正做到理論和實踐相結合。
全書分7個部分,共28章,理論部分介紹了人工智能研究的主要理論和方法並追溯了兩千多年前的相關思想,內容主要包括邏輯、概率和連續數學,感知、推理、學習和行動,公平、信任、社會公益和安全;實踐部分完美地踐行了“現代”理念,實際應用選擇當下熱度較高的微電子設備、機器人行星探測器、擁有幾十億用户的在線服務、AlphaZero、人形機器人、自動駕駛、人工智能輔助醫療等。
本書適合作為高等院校人工智能相關專業本科生和研究生的教材,也可以作為相關領域專業人員的參考書。
4、操作系統導論
這是一本關於現代操作系統的書。全書圍繞虛擬化、併發和持久性這3個主要概念展開,介紹了所有現代系統的主要組件(包括調度、虛擬內存管理、磁盤和I/O子系統、文件系統)。
本書共50章,分為3個部分,分別講述虛擬化、併發和持久性的相關內容。本書大部分章節均先提出特定的問題,然後通過書中介紹的技術、算法和思想來解決這些問題。筆者以對話形式引入所介紹的主題概念,行文詼諧幽默卻又鞭辟入裏,力求幫助讀者理解操作系統中虛擬化、併發和持久性的原理。
本書內容全面,並給出了真實可運行的代碼(而非偽代碼),還提供了相應的練習,適合高等院校相關專業教師教學和高校學生自學。
5、Python神經網絡編程
本書首先從簡單的思路着手,詳細介紹了理解神經網絡如何工作所必須的基礎知識。
第一部分介紹基本的思路,包括神經網絡底層的數學知識,第二部分是實踐,介紹了學習Python編程的流行和輕鬆的方法,從而逐漸使用該語言構建神經網絡,以能夠識別人類手寫的字母,特別是讓其像專家所開發的網絡那樣地工作。第三部分是擴展,介紹如何將神經網絡的性能提升到工業應用的層級,甚至讓其在 Raspberry Pi 上工作。
6、C Primer Plus(第6版)中文版
《C Primer Plus(第6版)中文版》詳細講解了C語言的基本概念和編程技巧。
《C Primer Plus(第6版)中文版》共17章。第1、2章介紹了C語言編程的預備知識。第3~15章詳細講解了C語言的相關知識,包括數據類型、格式化輸入/輸出、運算符、表達式、語句、循環、字符輸入和輸出、函數、數組和指針、字符和字符串函數、內存管理、文件輸入輸出、結構、位操作等。第16章、17章介紹C預處理器、C庫和高級數據表示。本書以完整的程序為例,講解C語言的知識要點和注意事項。每章末設計了大量複習題和編程練習,幫助讀者鞏固所學知識和提高實際編程能力。附錄給出了各章複習題的參考答案和豐富的參考資料。
《C Primer Plus(第6版)中文版》可作為C語言的教材,適用於需要系統學習C語言的初學者,也適用於鞏固C語言知識或希望進一步提高編程技術的程序員。
7、計算之魂
對計算機科學的掌握程度,決定了一個計算機行業從業者能走多遠。在本書中,作者將人文歷史與計算機科學相結合,通過一些具體的例題,分10個主題系統地講解了計算機科學的精髓。這些例題是作者面試求職者時用到的考題,或是頭部計算機公司和金融企業的面試題。
作者在書中結合自己對計算機工程師的五級分級標準,詳細講解了每類題目不同層次的解決方法、不同水平的人大約能思考到什麼樣的深度,深度闡述題目背後的計算機科學精髓。通過對比優化解題思路,讀者不僅可以衡量自己的水平,在職業的發展道路上走得更快,更可以深刻理解並掌握計算機科學和計算思維,逐漸把握計算機科學這門藝術,獲得重複性成功。
對於所有有志於瞭解或學習科技,特別是計算機科學的人來講,本書不僅有助於瞭解計算機科學,更有助於瞭解 IT 產業的技術特點、培養一些特殊的思維方式、掌握信息時代特殊的做事方法,通過具體的例子,從“術”的層面獲得“道”的層面的提升。
8、MySQL是怎樣運行的
《MySQL是怎樣運行的:從根兒上理解 MySQL》採用詼諧幽默的表達方式,對MySQL的底層運行原理進行了介紹,內容涵蓋了使用MySQL的同學在求職面試和工作中常見的一些核心概念。
《MySQL是怎樣運行的:從根兒上理解 MySQL》總計22 章,劃分為4個部分。第1部分介紹了MySQL入門的一些知識,比如MySQL的服務器程序和客户端程序有哪些、MySQL的啓動選項和系統變量,以及使用的字符集等。第2部分是本書後續章節的基礎,介紹了MySQL的一些基礎知識,比如記錄、頁面、索引、表空間的結構和用法等。第3部分則與大家在工作中經常遇到的查詢優化問題緊密相關,介紹了單表查詢、連接查詢的執行原理,MySQL基於成本和規則的優化具體指什麼,並詳細分析了Explain語句的執行結果。第4部分則是與MySQL中的事務和鎖相關,介紹了事務概念的來源,MySQL是如何實現事務的,包括redo日誌、undo日誌、MVCC、各種鎖的細節等。
儘管《MySQL是怎樣運行的:從根兒上理解 MySQL》在寫作時參考的MySQL源代碼版本是5.7.22,但是大部分內容與具體的版本號並沒有多大關係。無論是很早之前就已身居MySQL專家的人員,還是希望進一步提升技能的DBA,甚至是三五年後才會入行的“萌新”,本書都是他們徹底瞭解MySQL運行原理的優秀圖書。
9、UNIX傳奇
自1969年在貝爾實驗室的閣樓上誕生以來,Unix操作系統的發展遠遠超出其創造者們的想象。它帶動了許多創新軟件的開發,影響了無數程序員,改變了整個計算機技術的發展軌跡。
本書不但書寫Unix的歷史,而且記錄作者的回憶,一探Unix的起源,試圖解釋什麼是Unix,Unix是如何產生的,以及Unix為何如此重要。除此之外,本書以輕鬆的口吻講述了一羣在貝爾實驗室工作的發明天才的有趣往事,探秘他們如何從傳説中走出來,就地顯現極客真面目。本書中每一個精彩故事都是鮮為人知卻又值得傳播的寶貴資源。
本書是為對計算機或相關歷史感興趣的人編寫的,雖然它包括一部分技術相關的資料,但讀者不需要有太多的專業技術背景,就可以欣賞Unix背後的思想,瞭解它的重要性。
10、動手學深度學習(PyTorch版)
本書是《動手學深度學習》的重磅升級版本,選用經典的PyTorch深度學習框架,旨在向讀者交付更為便捷的有關深度學習的交互式學習體驗。
本書重新修訂《動手學深度學習》的所有內容,並針對技術的發展,新增注意力機制、預訓練等內容。本書包含15章,第一部分介紹深度學習的基礎知識和預備知識,並由線性模型引出最簡單的神經網絡——多層感知機;第二部分闡述深度學習計算的關鍵組件、卷積神經網絡、循環神經網絡、注意力機制等大多數現代深度學習應用背後的基本工具;第三部分討論深度學習中常用的優化算法和影響深度學習計算性能的重要因素,並分別列舉深度學習在計算機視覺和自然語言處理中的重要應用。