异步社区推荐书单1.1 代码整洁之道本书是世界级软件开发大师 Bob 大叔的经典之作,本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。在实际的软件开发过程中,我们也常会遇到这样的现象:当你一次两次不好好写代码,坑的是一两周后的自己。当你次次都不好好写代码,坑的是未来接手你系统的别人,而你自己,有可能还要去接手别人的老旧系统。1.2 代码整洁之道:程序员的职业素养本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。在这个日益混沌的职场环境下,坚守程序员的职业素养,做好每一行代码的交付,是值得每一个人都深刻思考的事情。1.3 鸟哥的 Linux 私房菜 基础学习篇(第四版)可能是最具知名度的 Linux 入门书,全书分为五个部分,非常值得学习:第一部分着重说明计算机的基础知识、Linux 的学习方法,如何规划和安装 Linux 主机以及 CentOS 7.x 的安装、登录与求助方法;第二部分介绍 Linux 的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口 shell 和管理系统的好帮手 shell 脚本,另外还介绍了文字编辑器 vi 和 vim 的使用方法;第四部分介绍了对于系统安全非常重要的 Linux 账号的管理、磁盘配额、高级文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。1.4 深度学习
机械工业出版社推荐书单2.1 深入理解计算机系统(原书第3版)本书的中文译名叫《深入理解计算机系统》,但实际上原意更符合“系统开发者的视角”看计算机系统,这是本操作系统入门书,不是所谓读一本就精通 os 的万灵药。无论是北大上交还是 CMU,这本书都是作为大一大二的 ICS 计算机系统导论课进行教学。这本书在国内计算机领域的地位非常稳健,无论是本科阶段的教学还是考研阶段的进阶,都会大量运用到本书作为学习工具。对国内的计算机专业学生而言,这本书更像是一种启蒙,而非30天精通的毕业之作。尽管如此,它仍旧值得每个没有接触过类似书籍的人去认真阅读。2.2 算法导论(原书第3版)《算法导论》是又一本经典的计算机科学教材,这本书以其全面性和严谨性著称,深入讨论了各类算法,并着重于使这些算法的设计和分析能够为不同层次的读者所理解。本书涵盖了算法基础、排序和顺序统计量、数据结构、动态规划、贪心算法、图算法等核心技术知识点。本书不仅详细介绍了算法设计和分析的基本原理,而且提供了广泛实用的算法应用,并具有高度的可读性。2.3 计算机文化(原书第20版)又一本计算机领域的经典教科书著作,涵盖从计算机基础知识到最新技术趋势的各个方面,各章配有大量图表和插图,帮助读者更好地理解和掌握知识。不仅是一本计算机科学的基础教材,也是一本紧跟技术发展趋势的实用指南。2.4 计算机网络:自顶向下方法(原书第8版)同样作为计算机领域的经典教科书,本书采用自顶向下的教学方法,从应用层协议开始,逐层向下讲解,帮助读者理解计算机网络的工作原理和机制。内容上以因特网体系结构的5层模型组织,涵盖网络各层知识,包括网络应用原理、网络层、数据链路层、传输层等。2.5 编程智慧:编程鬼才的经验和思考本书是ACM Queue杂志和Communications of the ACM上“Kode Vicious”专栏系列文章的一个合集,主题涉及编程风格、软件工程、系统设计、网络通信及项目管理五大方面,每章都由针对软件开发人员所面临的日常问题的信件、回复和建议组成,旨在解决这些与每位软件专业人员相关的问题,适合有一定经验的软件开发人员阅读。2.6 整洁架构之道“Bob 大叔”新作,一本介绍如何设计更整洁、更高效的软件架构的全面、实用性指南。这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为 Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。2.7 函数式设计:原则、模式与实践同样是一本“Bob 大叔”新作,一本介绍用函数式编程方式编写更好、更整洁代码的实用指南。在本书中,著名软件工程师 Bob 大叔解释了为何使用函数式编程,以及如何做才能为客户构建更好的系统。Bob 大叔将 Java 中传统的面向对象的编程结构与函数式语言所支持的编程结构进行了对比,确定了每种结构的作用,并展示了如何明智地在合理上下文中使用两者来构建更好的系统。2.8 演说之禅:幻灯片设计与呈现的艺术(原书第3版)在程序员的日常工作中,常常头疼 PPT 怎么写——晋升时的述职 PPT 如何组织?面对客户路演时 PPT 如何展示重点?这是一本教你如何从思想上、方法上来思考幻灯片演示的秘籍,本书深入探讨了如何融合传统演讲方式与现代技术,打造出既简洁又深刻的演讲,帮助读者在每一次演讲中脱颖而出。
03
博文视点 Broadview 推荐书单3.1 C++之旅(第3版)本文是 C++之父最新大作,全面覆盖现代C++的基本语法、标准库、面相对象、泛型编程等关键特性。本书一共19章,以 C++20 为标准,讲述了最新的现代 C++ 所提供的编程特性。提纲挈领,让读者快速把握现代 C++ 全貌。3.2 Effective C++:改善程序与设计的55个具体做法(第3版 中文版)本书是世界知名 C++ 大师 Scott Meyers 的开山之作,几乎在所有 C++ 书籍的推荐名单上,这本书都会位于前三名。它是开发实践中的实用经验总结,最好的 C++ 程序设计指南,也是一本避坑指南,解决手边易错问题的参考手册。3.3 More Effective C++:35个改善编程与设计的有效方法(中文版)本书是 Effective C++的进阶之作,主题更加"高级”一些,Effective 多从反面阐述使用 C++ 时应注意的陷阱、误区和戒律 (pitfalls and rules),而 More 着重从正面建设性地告诉你如何优雅地建立 C++ 构造单元 (how to construct building block)。3.4 C++之美:代码整洁、安全又跑得快的30个要诀世界级开源项目 C++ Core Guidelines 的精华版,如果说 EffectiveC++ 总结了许多微观层面的“避坑”建议,那么本书则提供了一份宏观层面的“避坑”指南,特别适合在学习完语法,完成一两个玩具项目之后,真正开始做一些严肃项目时阅读。内容涵盖 C++ 语言最主要的方面,如类型系统、面向对象、模板和元编程、错误处理、程序性能、常量性等,其间又恰如其分地穿插了编码风格、设计模式等主题。3.5 Essential C++中文版这是一本 C++入门神书,本书以四个面向来表现 C++ 的本质:procedural(面向过程的)、generic(泛型的)、object-based(基于对象的)、objectoriented(面向对象的)。全书围绕一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性来组织。循此方式,你将不只学到 C++ 的功能和结构,也可学到它们的设计目的和基本原理。3.6 编码一本畅销 20 年的经典传奇神作,本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。3.7 思维整洁之道:编写与头脑合拍的卓越代码本书既详细讲解了 API 设计、红绿重构等常用技术,也演示了如何撰写提交说明、如何修改单元测试,同时对故障定位、代码阅读、团队合作等传统上被认为“难以说清”的话题,也给出了实用而且精当的建议。难能可贵的是,与其他图书提供的示例代码库不同,本书的示例代码库包含了完整的 Git 提交记录。也就是说,读者可以按照作者的路径,一步一个脚印地重温整个开发过程。3.8 亿级流量系统架构设计与实战