0%

Book List

图书清单

操作系统

操作系统导论

现代操作系统

深入理解计算机操作系统

操作系统-精髓与设计原理

编译原理

系统之美

计算机程序设计艺术

计算机程序的构造和解释

计算机是怎么跑起来的

较为适合入门,鸟瞰全茂

计算机网络

计算机网络-谢希仁

该书全面系统地介绍了计算机网络的发展和原理体系结构

网络是怎样连接的

本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。

图解TCP/IP

图解http

对互联网HTTP基盘- HTTP协议进行全面系统的介绍。该书由HTTP协议发展史娓娓道来。严谨细致的剖析HTTP结构,在讲解的同是还辅以大量的生动通讯图。最后延伸到Web安全、最新技术动向等方面。

HTTP权威指南

本书是HTTP及相关核心web技术的核心之作。主要介绍了web应用程序是怎么工作的,核心的英特网协议如何与架构交互的

Wireshark网络分析就是这么简单

采用风趣幽默的手法,由浅入深的使用Wireshark分析常见的网络协议

Wireshark网络分析的艺术

采用实际的场景通俗易懂的纵横Wireshark网络分析

计算机网络-自顶向下方法

TCP/IP详解 卷1:协议

TCP/IP详解 卷2:实现

TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议

算法与数据结构

算法导论

算法

剑指offer

算法图解

算法之美

程序员代码面试指南:

labuladong的算法小抄: 构造刷题框架

相信以后的做为程序员的你一定会感谢曾经学过算法的自己,无论是在面试,coding、亦或者日常解决问题 都是如虎添翼

数学

程序员的数学

程序员的数学1

程序员的数学2

数学之美

Linux

Linux命令行大全 Linux系统命令及Shell脚本

精通Linux Linux程序设计 Raspberry Pi入门指南

高性能Linux服务器运维实战

数据库

关系型数据库:

My SQL

高性能的MySQL

mysql 领域的经典之作,拥有广泛的影响力。第三版不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql 和mysql相关工具等方面的内容。

高可用MySQL

SQL必知必会

与其他同类图书不同,它没有过多阐述数据库基础理论,而是专门针对一线软件开发人员,直接从SQL SELECT开始,讲述实际工作环境中最常用和最必需的SQL知识,实用性极强。通过本书,读者能够从没有多少SQL经验的新手,迅速编写出世界级的SQL!

本书是麻省理工学院、伊利诺伊大学等众多大学的参考教材。除了作为教程之外,独特的编排方式还使本书成为方便的快速查询手册。

SQL入门经典

详细介绍了SQL语言的基本语法、基本概念,说明了各种SQL实现与ANSI标准之间的差别。书中包含了大量的范例,直观地说明了如何使用SQL对数据进行处理。每章后面还有针对性很强的测验与练习,能够帮助读者更好地理解和掌握学习的内容。在最后的附录里还有关于安装MySQL的详细介绍、书中用到的关键SQL语句、测验和练习的答案。

前金良方:MySQL性能优化金字塔法则

一共分为3篇:基础篇、案例篇和工具篇。“基础篇”从理论基础和基本原理层面介绍了MySQL的安装与配置、升级和体系结构,information_schema、sys_schema、performance_schema和mysql_schema,MySQL复制,MySQL事务,SQL语句优化及架构设计基础知识。“案例篇”从硬件和系统、MySQL架构等方面给出了性能优化的十几个案例,包括:性能测试的基本优化思路和需要关注的性能指标解释、对日常SQL语句执行慢的基本定位、避免x86可用性的一般性方法、节能模式会怎样影响性能、I/O存储作为数据库重要的依赖是如何影响数据库性能的、主备复制不一致可能有哪些原因、字符集不一致会造成哪些性能问题、在实际场景中锁的争用是怎样的。“工具篇”介绍了在MySQL性能优化过程中需要用到的各种工具,包括:dmidecode、top、dstat等硬件和系统排查工具;FIO、sysbench、HammerDB等压力测试工具;mysqldump、XtraBackup等备份工具;Percona、innotop、Prometheus等监控工具

一本 《高性能的MySQL》足以争霸纵横

非关系性数据库:

MongoDB

MongoDB权威指南

此书可作为数据库开发人员的工作指南,也可作为系统管理人员的进阶指导,还可供项目中其他成员了解MongoDB使用。书中介绍了面向文档的存储方式及利用MongoDB的无模式数据模型处理文档、集合和多个数据库,讲述了如何执行基本的写操作以及各种复杂的条件查询,还介绍了索引、聚合工具以及其他高级查询技术,另外对监控、安全性和身份验证、备份和修复、水平扩展MongoDB数据库等内容也有所涉及。

深入学习MongoDB

第一部分全面讲解了有关建立和使用集群的内容,不仅从应用开发人员的角度讲解了MongoDB的使用,而且从运维方面介绍了集群的管理。其中内容包括通过分片设置MongoDB集群,分片的工作原理,查询和更新数据,操作、监控和备份集群,错误处理。第二部分依次从应用设计、实现、优化、数据安全和管理方面介绍了使用MongoDB构建应用的技巧,内容包括范式化与反范式化的利弊权衡,复制组的故障恢复等。

大数据存储 MongoDB实战指南

什么是MongoDB及其核心进程; MongoDB的查询语言系统; MongoDB的索引与查询优化; 增、删、改语句; Journaling日志功能; 聚集分析框架与MapReduce的编程模型; 复制集的功能与工作机制; 分片集群; 分布式文件系统; MongoDB的管理与监控; 权限控制; MongoDB的PHP驱动接口; 一个完整的电商平台实例。 本书适合有海量数据存储需求的人员、数据库管理开发人员、数据挖掘与分析人员以及各类基于数据库的应用开发人员。读者将从书中获得诸多实用的知识和开发技巧

Redis

Redis开发与运维

本书全面讲解Redis基本功能及其应用,并结合线上开发与运维监控中的实际使用案例,深入分析并总结了实际开发运维中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化、复制、高可用、内存、哨兵、集群、缓存设计等,Redis高可用集群解决方案,Redis设计和使用中的问题,最后提供了一个开源工具:Redis监控运维云平台CacheCloud。

Redis设计与实现

本书全面而完整地讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,图示丰富,描述清晰,并给出大量参考信息。通过阅读本书,读者可以快速、有效地了解Redis的内部构造以及运作机制,更好、更高效地使用Redis。

本书主要分为四大部分。第一部分“数据结构与对象”介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分“单机数据库的实现”对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分“多机数据库的实现”对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分“独立功能的实现”对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。

Redis 深度历险核心原理与应用实践

分为基础和应用篇、原理篇、集群篇、拓展篇、源码篇共 5 大块内容。基础和应用篇讲解对读者来说最有价值的内容,可以直接应用到实际工作中;原理篇、集群篇让开发者透过简单的技术表面看到精致的底层世界;拓展篇帮助读者拓展技术视野和夯实基础,便于进阶学习;源码篇让高阶的读者能够读懂源码,掌握核心技术实力

垃圾回收算法

垃圾回收算法手册:自动内存管理的艺术

本书汇集了自动内存管理研究者和开发者们在过去50年间的丰富经验,在本书中,作者在一个统一的易于接受的框架内比较了当下最重要的回收策略以及最先进的回收技术。

本书从近年来硬件与软件的发展给垃圾回收所带来的新挑战出发,探讨了这些挑战给高性能垃圾回收器的设计者与实现者所带来的影响。在简单的传统回收算法之外,本书还涵盖了并行垃圾回收、增量式垃圾回收、并发垃圾回收以及实时垃圾回收。书中配备了丰富的伪代码与插图,以描述各种算法与概念。

垃圾回收的算法与实现

本书前半介绍基本GC算法,包括标记-清除GC、引用计数、复制算法的GC、串行GC的算法、并发GC的算法等。后半介绍V8、Rubinius、Dalvik、CPython等几种具体GC的实现

深入浅出理解 垃圾回收 与实现

深入分析gcc

结合GCC4.4.0源代码,围绕GCC编译过程,详细介绍了GCC的设计框架和实现过程,包括从源代码到AST、从AST到GIMPLE、从GIMPLE到RTL,以及从RTL到终的目标机器代码的详细过程,涉及各个阶段中间表示的详细分析、生成过程,使读者在了解编译原理的基础上进一步掌握其实现的总体流程和实现细节

编码

Head First设计模式

重构

Refactoring: Improving the Design of Existing Code

重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。

本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。

Effeactivate Debugging:软件和系统调试的66个有效方法

本书所要讲解的调试知识,包括与调试有关的策略、工具及方法。当我们在开发并运作一款复杂的计算系统时,可能会遇到各种问题,而这些调试知识,则使大家能够应对这些问题。

过去我们所说的调试,主要是指检测并修复程序错误,而当前却很少有哪个程序会孤立地运作,即便是一个很小的程序,也会与外部的程序库相链接(通常是动态链接)。更为复杂的程序会运行在应用程序服务器中,会调用 Web 服务,会使用关系型数据库及 NoSQL 数据库,会从目录服务器上获取数据,会运行外部的程序,会利用其他的中间件,也会纳入很多第三方的软件包。于是,要想令整个系统及服务正常地运作,就必须确保其中的组件不会发生故障,这些组件可能是由公司内部人员所开发的,也可能是由第三方所提供的,它们所在的主机或许分布在全球各地。

架构

企业IT架构转型之道

微服务架构设计模式

架构简洁之道

大型网站技术架构

高可用架构

大型网站技术架构演进与性能优化

京东基础架构建设之路

中间件

Kafka

Kafka:The Definitive Guide: Real-Time Data and Stream Processing at Scale

Kafka权威指南

本书由出身于LinkedIn的Kafka核心作者和一线技术人员共同执笔,详细介绍了如何部署Kafka集群、开发可靠的基于事件驱动的微服务,以及基于Kafka平台构建可伸缩的流式应用程序。通过详尽示例,你将会了解到Kafka的设计原则、可靠性保证、关键API,以及复制协议、控制器和存储层等架构细节

深入理解Kafka:核心设计与实践原理

从Kafka的基础概念切入,循序渐进地转入对其内部原理的剖析。主要阐述了Kafka中生产者客户端、消费者客户端、主题与分区、日志存储、原理解析、监控管理、应用扩展及流式计算等内容。

虽然Kafka的内核使用Scala语言编写,但基本以Java语言作为主要的示例语言,方便大多数读者的理解。

总体上可以划分为三个部分:基础篇、原理篇和扩展篇,前4章为基础篇,包括基础概念、生产者、消费者,以及主题与分区,学习完这4章的内容完全可以应对绝大多数的开发场景。第5章至第8章为原理篇,包括对日志存储、协议设计、控制器、组协调器、事务、一致性、可靠性等内容的探究,学习完这4章的内容可以让读者对Kafka有一个深刻的认知。最后4章从应用扩展层面来做讲解,可以归类为扩展篇,主要内容包括监控、应用工具、应用扩展(延时队列、重试队列、死信队列、消息轨迹等)、与Spark的集成等,让读者可以对Kafka的生态有一个更加全面的认知。

Elasticsearch

Elasticsearch: The Definitive Guide A distributed real-time search and analytics engine

Elasticsearch in Action

本书主要展示如何使用Elasticsearch构建可扩展的搜索应用程序。书中覆盖了Elasticsearch的主要特性,从使用不同的分析器和查询类型进行相关性调优,到使用聚集功能进行实时性分析,还有地理空间搜索和文档过滤等更多吸引人的特性。

全书共分两个部分,第一部分解释了核心特性,内容主要涉及Elasticsearch的介绍,数据的索引、更新和删除,数据的搜索,数据的分析,使用相关性进行搜索,使用聚集来探索数据,文档间的关系等;第二部分介绍每个特性工作的更多细节及其对性能和可扩展性的影响,以便对核心功能进行产品化,内容主要涉及水平扩展和性能提升等。

Python

Python编程:从入门到实战

Python学习手册

Think Python

Think Python: How to Think Like a Computer Scientist

本书从基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰的定义,引领读者循序渐进地学习变量、表达式、语句、函数和数据结构。书中还探讨了如何处理文件和数据库,如何理解对象、方法和面向对象编程,如何使用调试技巧来修正语法错误、运行时错误和语义错误。每一章都配有术语表和练习题,方便读者巩固所学的知识和技巧。此外,每一章都抽出一节来讲解如何调试程序。

Head First Python

Learn Python The Hard Way

Python Cookbook

本书介绍了Python应用在各个领域中的一些使用技巧和方法,从最基本的字符、文件序列、字典和排序,到进阶的面向对象编程、数据库和数据持久化、 XML处理和Web编程,再到比较高级和抽象的描述符、装饰器、元类、迭代器和生成器,均有涉及。书中还介绍了一些第三方包和库的使用,包括 Twisted、GIL、PyWin32等。本书覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。书中的代码和方法具有很强的实用性,可以方便地应用到实际的项目中,并产生立竿见影的效果。尤为难得的是,本书的各位作者都具有丰富的业界实践经验,因此,本书不仅给出了对各种问题的解决方案,同时还体现了很多专家的思维方式和良好的编程习惯,与具体的细节性知识相比,这部分内容无疑是本书的精华。

Python源码剖析

为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值

流畅的Python

本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。本书尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。

Python高性能编程

围绕如何进行代码优化和加快实际应用的运行速度进行详细讲解。本书主要包含以下主题:计算机内部结构的背景知识、列表和元组、字典和集合、迭代器和生成器、矩阵和矢量计算、并发、集群和工作队列等。最后,通过一系列真实案例展现了在应用场景中需要注意的问题

编写高质量代码:改善Python程序的91个建议

Effective Python: 90 Specific Ways to Write Better Python, Second Edition

本书可以帮你掌握真正的 Pythonic 编程方式,令你能够完全发挥出 Python 语言的强大功能,并写出健壮而高效的代码。汇聚了 90 条实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。

Java

Java核心技术

Effective Java

重学Java设计模式

Java编程思想

深入理解Java虚拟机

揭秘Java虚拟机

Java并发编程实战

Java性能权威指南

深入分析Java Web技术内幕

代码简洁之道(clean code)

Clean Code: A Handbook of Agile Software Craftsmanship

软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。

本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。

Android

第一行代码:Android

打造高质量Android应用

Android进阶之光

Android 源码设计模式解析与实战

GoLang

go语言程序设计

Go语言趣学指南

Go语言并发之道

Go语言编程之旅:一起用go做项目

Go语言学习笔记

Go Web 编程

Go专家编程

Go语言实战(Go in Action)

Go语言高级编程

GO语言高并发与微服务实战

Web

Web性能实战

创建快速网站的指南,指导你如何以正确的方式创建高性能网站。书中介绍了如何加快向用户交付站点资源的速度、提高渲染速度、减少网站占用空间;探讨了HTTP/2等能够大幅提升网站速度的技术;阐述了如何构建一个自动化的工作流以完成常见的优化任务,同时提高开发效率。

Web性能权威指南

涵盖Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了HTTP 协议的底层细节,同时详细介绍了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC 和DataChannel 等现代浏览器新增的具有革命性的新能力。

前端架构设计

同构 JavaScript 应用开发

网络爬虫

Python 网络爬虫从入门到实践

Python3网络爬虫开发实战

Python3反爬虫原理与绕过实战

Android安全攻防权威指南

Android应用安全和逆向分析

IDA PRO 权威指南

数据分析

通识类

认识数据分析,构建数据分析思维,练就数据分析能力

深入浅出数据分析

精益数据分析

数学之美

统计学

统计学

深入浅出统计学

赤裸裸的统计学

统计学七支柱

统计学习方法-李航

实践类

what do? How do? Why do?

Excel

谁说菜鸟不会数据分析

Excel数据分析思维、技术、与实践

对比Excel轻松学习数据分析

Python

Python数据分析

利用Python进行数据分析

Python金融大数据分析

Python数据分析实战

可视化

用图表说话

Excel图表之道

数据分析技术的应用

Python数据分析与数据化运营

数据挖掘与数据化运营实战

社交网站的数据挖掘与分析

数据挖掘

数据挖掘-概念与技术

数据挖掘导论

深度学习

深度学习的数学

深度学习入门

Python深度学习

深度学习

动手学习深度学习

深度学习进阶

机器学习

机器学习(西瓜书)-周志华

统计学习方法-李航

Patten Recongnition and Machine Learning

统计自然语言处理

云原生

Docker

Docker从入门到实践

深入浅出docker

深入浅出的介绍了docker相关知识,清晰详细的操作步骤结合大量实际代码

Docker容器与容器云

从概念用法解析到核心原理分析,然后到高级实践,层层递进。全面介绍了docker以及围绕Docker构建的各类容器云平台,深入分析了Kubernetes背后的技术原理与设计思想

第一本Docker书

本书专注于指导读者完成Docker的安装、部署、管理和扩展,带领读者经历从测试到生产的整个开发生命周期,让读者了解Docker适用于什么场景。书中先介绍Docker及其组件的基础知识,然后介绍用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。

Kubernetes

每天五分钟玩转Kubernetes

内容简洁实用,核心观点点到即止。适合入门与碎片化学习

再也不踩坑的Kubernetes

各种环境搭建如Redis集群、RabbitMQ等。适合当工具书

Kubernetes权威指南

从架构师、开发人员和运维人员的角度,阐述了Kubernetes的基本概念、实践指南、核心原理、开发指导、运维指南、新特性演进等内容,图文并茂、内容丰富、由浅入深、讲解全面;并围绕在生产环境中可能出现的问题,给出了大量的典型案例,比如安全配置方案、网络方案、共享存储方案、高可用方案及Trouble Shooting技巧等,有很强的实战指导意义。

Kubernetes进阶实战

Kubernetes网络权威指南

Kubernetes生产化与实践之路

深入剖析Kubernetes

Kubernetes源码剖析

Kubernetes in Action

云原生服务网格istio

性能之巅:洞悉系统、企业与云计算洞悉系统、企业与云计算

BPF之巅洞悉Linux系统和应用性能

软技能

程序员的三门课:技术精进,架构修炼、管理探秘

代码之外的功夫:程序员精进之道

程序员修炼之道:从小工到专家

高效程序员的45个习惯:敏捷开发修炼之道

Google方法法

Google 工作整理术

程序的自我修养

软件随想录

程序员的职业素养

人月神话

决断力

金字塔原理

逻辑表达:高效沟通的金字塔思维

麦肯锡教我的思维武器

持续更新…