书籍是人们获取知识的主要途径。然而,如今的社会太浮躁,不少人不愿意花时间静下心来仔细读书,很多开发人员也是如此。殊不知,书籍沉淀了前人的经验和思考。
写书不易,创作好的作品更是需要耗费很大心力,Doocs 鼓励各位同学购买正版书籍以支持原书作者,只要在书籍名称上点击即可跳转到购买页。好书推荐请到 Discussions 讨论区,也可以直接提交 PR。
- Gitee Pages: https://doocs.gitee.io/technical-books
- GitHub Pages: https://doocs.github.io/technical-books
Core | Network | Frontend | Backend | Database | Architecture | Big Data | Tool |
---|
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | 编码:隐匿在计算机软硬件背后的语言[2012] | [美] Charles Petzold 著 左飞 薛佟佟 译 |
讲述计算机工作原理,却并不晦涩难懂。不管你是计算机高手,还是对这个神奇的机器充满敬畏之心的菜鸟,读一读大师的经典作品,必然有所收获。 |
2 | 码农翻身:用故事给技术加点料[2018] | 刘欣 | 用故事方式讲述软件编程的若干重要领域,侧重于基础性、原理性的知识。 |
3 | 领域驱动设计:软件核心复杂性应对之道(修订版)[2016] | [美] Eric Evans 著 赵俐 盛海艳 刘霞 等 译 |
领域驱动设计方面的经典之作,围绕设计和开发实践,结合真实项目案例,阐述如何在真实的软件项目开发中应用领域驱动设计。 |
4 | 深入理解计算机系统(原书第 2 版)[2011] | [美] Randal E.Bryant 等著 龚奕利,雷迎春译 |
本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容涵盖计算机导论、体系结构和处理器设计等多门课程。 |
5 | 算法(第 4 版) | [美] Robert Sedgewick,[美] Kevin Wayne 著 谢路云 译 |
更为实用易读的算法教学类书籍,结合多步骤图及可运行的 Java 代码进行算法讲解,非常适合算法初学者。 |
6 | 操作系统导论 | [美] Remzi H.Arpaci-Dusseau, [美] Andrea C.Arpaci-Dusseau 著 王海鹏 译 |
操作系统经典之作,紧紧围绕虚拟化、并发和持久性这三个主要概念展开,介绍了所有现代系统的主要组件。行文诙谐幽默却又鞭辟入里。 |
7 | 编译原理 第 2 版 龙书 | [美] Alfred V.Aho, Monica S.Lam, Ravi Sethi 等著 赵建华 郑滔 戴新宇 译 |
又称“龙书”,全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术。 适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的很好参考读物。 |
8 | 现代编译原理 C 语言描述 修订版 | [美] Andrew W.Appel, Maia Ginsburg 著 赵克佳 黄春 沈志宇 译 |
又称“虎书”,全面讲述了现代编译器的各个组成部分,包括词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。书中专门为学生提供了一个用 C 语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建功能完整的编译器。 |
9 | 算法导论 | [美] Thomas H. Cormen, CharlesE. Leiserson, Charles E.Leiserson, Ronald L. Rivest 著 潘金贵 顾铁成 译 |
本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | 图解 HTTP[2014] | [日] 上野宣 著 于均良译 |
对 HTTP 协议进行了全面系统的介绍,讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解 HTTP 通信过程中客户端与服务器之间的交互情况。 |
2 | TCP/IP 详解 卷 1:协议 | [美] Kevin R.Fall, W.Richard Stevens 著 吴英,张玉,许昱玮 译 |
主要讲述 TCP/IP 协议,不仅仅讲述 RFC 的标准协议,而且结合大量实例讲述了 TCP/IP 协议族的定义原因,以及在各种不同的操作系统中的应用及工作方式,使读者可以轻松掌握 TCP/IP 的知识。 |
3 | 计算机网络:自顶向下方法 | [美] James F. Kurose, Keith W. Ross 著 陈鸣 译 |
计算机网络经典教材。采用了自顶向下方法来讲授计算机网络的原理及其协议,注重原理和实践。 |
4 | 计算机网络教程 | [中]谢钧,谢希仁 著 | 本书的适用对象非常广泛。由于本书的重点立足于计算机网络的基本原理,同时兼顾了 Internet 体系结构与 TCP/IP 协议等内容,因此对于学习计算机网络课程的本科生和研究生,本书都是绝佳的教材或教学参考书。 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | Effective Java 原书第 3 版[2019] | [美] Joshua Bloch 著 俞黎敏 译 |
Java 经典书籍,内容涵盖 Java 9 及以下版本。 |
2 | 码出高效:Java 开发手册[2018] | 杨冠宝(花名:孤尽) 高海慧(花名:鸣莎) |
结合阿里巴巴实践经验与故障案例,与 Java 底层源码解析融会贯通。 |
3 | 互联网轻量级 SSM 框架解密:Spring、Spring MVC、MyBatis 源码深度剖析[2019.3] | 李艳鹏 等 | SSM 框架源码深度剖析。 |
4 | Java 8 In Action 中文版[2016] | [英] Raoul-Gabriel Urma, [意] Mario Fusco, [英]Alan Mycroft 著 陆明刚 劳佳 译 |
全面介绍 Java8 这个里程碑版本的新特性,包括 Lambdas、流和函数式编程。 |
5 | 实战 Java 高并发程序设计[2015] | 葛一鸣 郭超 | 主要介绍基于 Java 的并行程序设计基础、思路、方法和实战。 |
6 | Java 设计模式[2018] | 刘伟 | 内容涵盖了七个面向对象设计原则和 24 个设计模式(23 个 GoF 设计模式+简单工厂模式)。 |
7 | Python 参考手册第 4 版[2016] | [美] David M.Beazley 著 谢俊 等译 |
Python 程序员案头必备,涵盖 Python2 和 Python3 共有特性)。 |
8 | Python3 网络爬虫开发实战[2018] | 崔庆才 | 全面介绍利用 Python3 开发网络爬虫的知识,包括数据采集、数据存储、动态网站爬取、App 爬取、验证码破解、模拟登录、代理使用、爬虫框架、分布式爬取等。 |
9 | Go Web 编程 | 谢孟军 | Go 入门书籍。 |
10 | 流畅的 Python[2018] | [巴西] Luciano Ramalho 著,安道,吴珂 译 | Python 进阶必读, 全面的讲解了序列、数据结构、装饰器、类、生成器、迭代器、协程、并发等重要知识点的原理以及实现。 |
11 | 重构 改善既有代码的设计 Java 语言版 | [美] 马丁·福勒(Martin Fowler) 著,熊节 译 | 重构,一言以蔽之,是在不改变外部行为的前提下,有条不紊地改善代码,普通程序员进阶到编程高手必须修炼的秘笈 |
12 | 深入浅出 Node.js | 朴灵 著 | 深入讲解 Node 的图书。讲述基于 JavaScript 运行时所建立的平台原理,与 mongodb 结合操作的具体案例,响应式设计别具匠心。 |
13 | Java 网络编程(第四版) | [美] Elliotte Rusty Harold(哈诺德 R.E.) 著 李帅,荆涛 等 译 |
《Java 网络编程(第四版)》实用指南全面介绍了如何使用 Java 开发网络程序,如编写多线程服务器、加密通信、广播到本地网络,以及向服务器端程序提交数据。 本书可作为 Java 初学者步入框架学习前的铺垫数据,通过学习基础的 Java 网络编程知识,形成对 Web 后台的基本认知。 |
14 | Head First 设计模式 | [美] Eric Freeman 著 O'Reilly Taiwan 公司 译 |
在提供 23 个设计模式专业知识的同时,仍具有相当高的可读性。内容权威,阅读轻松 |
15 | Spring 实战 (第 4 版) | [美] Craig Walls 著 张卫滨 译 |
经典的 Spring 学习和实践指南。配合官方文档食用,风味极佳 |
16 | Linux 多线程服务端编程:使用 muduo C++ 网络库 | 陈硕 著 | muduo 是一个基于 Reactor 模式的现代 C++ 网络库,它采用非阻塞 IO 模型,基于事件驱动和回调,原生支持多核多线程,适合编写 Linux 服务端多线程网络应用程序。 |
17 | Linux 高性能服务器编程 | 游双 著 | Linux 服务器编程领域的经典著作,由资深 Linux 软件开发工程师撰写,从网络协议、服务器编程核心要素、原理机制、工具框架等多角度全面阐释了编写高性能 Linux 服务器应用的方法、技巧和思想。不仅理论全面、深入,抓住了重点和难点,还包含两个综合性案例,极具实战意义。 |
18 | Effective C++:改善程序与设计的 55 个具体做法(第三版)中文版 | [美] Scott Meyers 著 侯捷 译 |
Effective C++是世界顶级 C++ 大师 Scott Meyers 的成名之作,初版于 1991 年。在国际上,这本书所引起的反响之大,波及整个计算机技术出版领域,余音至今未绝。几乎在所有 C++ 书籍的推荐名单上,这部专著都会位于前三名。作者高超的技术把握力,独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。 |
19 | 软件框架设计的艺术(Practical API Design Confessions of a Java Framework Architect) | [[捷] Jaroslav Tulach 著 王磊/朱兴 译 |
本书作者是 NetBeans 的创始人,也是 NetBeans 项目最初的架构师。对 API 与框架设计提供深刻见解。强调实践与源码分析,适合有一定经验的 Java 开发者。 |
20 | Java 编程的逻辑 | 马俊昌 著 | 作者按照由浅入深、由易到难的顺序组织内容,使读者能够循序渐进地掌握 Java 编程的知识和技能,适合 1-3 年的 Java 开发。 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | Redis 设计与实现[2014] | 黄健宏 | 基于 Redis 3.0,内容通俗易懂,可以深入了解 Redis 底层。 |
2 | 高性能 MySQL 第三版[2013] | [美] Baron Schwartz 等著 宁海元 等译 |
MySQL 领域极佳之作。 |
3 | Redis 开发与运维[2017] | 付磊 张益军 | 从开发、运维两个角度总结了 Redis 实战经验,深入浅出地剖析底层实现,包含大规模集群开发与运维的实际案例、应用技巧。 |
4 | MySQL 技术内幕:InnoDB 存储引擎[2013] | 姜承尧 | 详细讲解了 InnoDB 存储引擎内部的各个功能模块的实现原理,包括 InnoDB 存储引擎的体系结构、内存中的数据结构、基于 InnoDB 存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及 InnoDB 的性能调优等重要的知识。 |
5 | Redis 深度历险:核心原理和应用实践[2018] | 钱文品 | 从 Redis 的基础使用出发,结合实际项目中遇到的诸多应用场景,最后详细讲解集群环境,图文并茂地对 Redis 的特性做了全面解析。 |
6 | Redis 实战 | [美] 约西亚 L.卡尔森(Josiah),L.,Carlson 著,黄健宏 译 | 本书深入浅出地介绍了 Redis 的 5 种数据类型,并通过多个实用示例展示了 Redis 的用法。这本书侧重 Redis 应用,每个情景都配备完整的 Python 代码示例及逐行注释详解,非常适合初学者学习并上手 Redis。 |
7 | SQL 进阶教程 第二版 | [日] MICK 著,吴炎昌,侯振龙 译 | 本书是作者志在向中级进阶的数据库工程师编写的一本 SQL 技能提升指南。 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | 你不知道的 JavaScript(上卷) | [美] Kyle Simpson 著 赵望野,梁杰 译 |
JavaScript 开发经典入门图书,打通 JavaScript 的任督二脉,领略语言内部的绝美风光。 |
2 | 你不知道的 JavaScript(中卷) | [美] Kyle Simpson 著 单业,姜南 译 |
深入挖掘 JavaScript 语言本质,简练形象地解释抽象概念,打通 JavaScript 的任督二脉。 |
3 | 你不知道的 JavaScript(下卷) | [美] Kyle Simpson 著 单业 译 |
探索 JavaScript 语言核心概念 深入了解 ES6,展望 JavaScript 发展方向。 |
4 | Three.js 开发指南 | [美] Jos Dirksen 著 杨芬 译 |
全面讲解 Three.js 开发的实用指南,涵盖 Three.js 的各种功能;通过大量交互式示例,深入探索使用开源的 Three.js 库创建绚丽三维图形的实用方法和技巧。 |
5 | JavaScript 忍者秘籍(第 2 版) | [美] John Resig, Bear Bibeault, Josip Maras 著 | 从界面构建、事件循环、函数、闭包、正则表达式等都有探索,唯一的不足就是翻译不够完美,有能力可以看原版。 |
6 | JavaScript 设计模式与开发实践 | 曾探 著 | 介绍了 JavaScript 中常用的一些设计模式,并结合了具体的例子,对如何优化和改进自己的代码有很好的启发。 |
7 | JavaScript 高级程序设计(第 4 版) | [美] 马特·弗里斯比(Matt Frisbie) 著,李松峰 译 | 红宝书第四版,全面、深入地介绍了 JavaScript 开发者必须掌握的前端开发技术,涉及 JavaScript 的基础特性和高级特性。 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | 企业 IT 架构转型之道:阿里巴巴中台战略思想与架构实战[2017] | 钟华(花名:古谦) | 分享阿里巴巴建设共享服务体系的经验和实践。 |
2 | 大型网站系统与 Java 中间件实践[2014] | 曾宪杰(花名:华黎) | 围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。 |
3 | 大型网站技术架构:核心原理与案例分析[2013] | 李智慧 | 梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理。 |
4 | 亿级流量网站架构核心技术:跟开涛学搭建高可用高并发系统[2017] | 张开涛 | 总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。 |
5 | 逆流而上:阿里巴巴技术成长之路[2018] | 阿里巴巴集团成长集编委会 | 总结阿里巴巴技术团队在基础架构、中间件、数据库、业务开发等领域的经典实践以及对未来的思考。 |
6 | 数据密集型应用系统设计 (Designing Data-Intensive Applications)[2018] | [美] Martin Kleppmann 著 赵军平 吕云松 耿煜 李三平 译 |
从底层数据结构到顶层架构设计,将当今互联网领域最常见的数据密集型应用的秘密娓娓道来。 |
7 | awesome-fenix | 周志明 | 讨论如何构建一套可靠的大型分布式系统 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | HBase 不睡觉书[2018] | 杨曦 | 一本让读者看了不会睡着的 HBase 技术书。 |
2 | Hadoop 技术内幕:深入解析 Hadoop Common 和 HDFS 架构设计与实现原理[2013] | 蔡斌, 陈湘萍著 | 对 Common 和 HDFS 的源代码进行了分析, 从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法。 |
3 | Hadoop 技术内幕:深入解析 MapReduce 架构设计与实现原理[2013] | 董西成著 | 虽然计算框架从 MR 到 Spark 再到 Flink,但 MR 的设计思想还是有很大参考价值的, 这本书对 MapReduce 计算框架的细节解释得很系统。 |
4 | Spark 快速大数据分析[2015] | [美] Holden Karau, [美] Andy Konwinski, [美] Patrick Wendell, [加] Matei Zaharia 著 王道远 译 |
Spark 入门书籍, 让初学者对 Spark 有一个基本全面的了解。 |
5 | Elasticsearch 权威指南 | clinton gormley,zachary tong 著,Gavin Foo 译 | 讲解结构化搜索、统计、查询过滤、地理定位、提升 Elasticsearch 的性能。 |
6 | Spark SQL 内核解剖 | 朱锋 张韶全 黄明 著 | Spark 高阶玩家晋级宝典 腾讯 T4 亲传大规模分布式系统实践。 |
# | Title | Author(s) | Abstract |
---|---|---|---|
1 | Vim 实用技巧 第 2 版 | [英] Drew Neil 著 杨源,车文隆 译 |
从 Vim 的一些逻辑理念入手,而不是死记硬背命令,讲解了各种 Vim 中的模式、文件、跳转、寄存器、查找、替换等,结合给出一个个技巧,针对性解决各类问题 ,对新手很友好,也适合进阶。可以先练习一遍 vimtutor 再看这本书,看完后推荐 https://vimawesome.com/ 可以选择自己需要的插件开始打造属于自己独一无二编辑器。 |
2 | Git 权威指南 | 蒋鑫 著 | 深入讲解了 Git 底层的一些原理,知其然知其所以然,看完会深深感受到 Git 的强大。 |
This project exists thanks to all the people who contribute.