编程随想书单-IT

桦

@crazzzy

142 本书  

来源 https://github.com/programthink/books

这个系列书籍很多,总体通用性较强的书靠前排,专业性较强的书靠后排。

缺失书籍:深入 Python3、深入 Python、Lisp 之根源、Lisp 的演化、Ruby 程序设计、Rust 程序设计语言、Programming in Prolog、Logic Programming with Prolog、An Introduction to Logic Programming through Prolog、设计模式——可复用面向对象软件的基础、如何编写动态库、Twisted 网络编程精髓、Django 基础教程、每个程序员都应该了解的内存知识、各大操作系统安全手册(官网可找)、Shellcoder 手册——发现和利用安全漏洞、C 语言安全编程规范、C++ 语言安全编程规范、高级 Bash 脚本编程指南、设计分布式系统、Distributed Systems for Fun and Profit、分布式计算的八大误区、CAP 定理、CAP 理论十二年回顾、面对软件错误,如何构建可靠的分布式系统、拜占庭将军问题、Chord——用于互联网应用的可扩展 P2P 查询服务、Kademlia——基于异或运算的 P2P 信息系统、DHT 安全技术纵览、比特币——一种点对点式的电子现金系统、Google 文件系统、IPFS——内容寻址的版本化点对点文件系统

Shell脚本学习指南 [图书] 豆瓣
Classic Shell Scripting
7.0 (6 个评分) 作者: Arnold Robbins / Nelson H.F.Beebe 译者: O Reilly Taiwan公司 机械工业出版社 2009 - 4
《Shell脚本学习指南》将告诉你这些有关UNIX主流工具的知识。除此之外,《Shell脚本学习指南》还会帮助你解决UNIX命令与标准的差异。
作者熟知UNIx程序使用的基本技巧与操作上细微的差异。他们不但会告诉你如何构建一个绝佳的脚本,还会教你如何避免落入让你功亏一篑的陷阱。有了《Shell脚本学习指南》,你可以节省很多力气。
我们要学习的不只是如何写出有用的Shell脚本,你还得了解如何迅速、确实地定制Shell,让程序的可移植性达到最佳状态,脱离对特定系统的依赖。这些技巧对任何操作与维护UNIX及Linux系统的人而言都很重要。《Shell脚本学习指南》所提供的知识,将可以帮助你掌握基本的Shell脚本编写技巧。Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对uNIx的用户与系统管理者而言,编写shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell脚本,你可以结合基本的UNIX文本与文件处理命令来消化数据,以及自动化重复的工作。一旦你对Shell脚本的编写掌控自如,在接下来的几年,这些技巧将对你相当有帮助。
编写shell脚本所需要的不只是对shell语言的认识,还必须熟知单个的uNIx程序:你必须知道每个程序为什么会放在那儿,以及如何使用该程序或如何将其与其他程序结合。
LINUX与UNIX Shell编程指南 [图书] 豆瓣
Linux and UNIX Shell Programming
作者: David Tansley 译者: 徐炎 / 张春萌 机械工业出版社 2000 - 6
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。
Linux命令行大全 [图书] 豆瓣
The Linux Command Line: A Complete Introduction
8.0 (9 个评分) 作者: 绍茨 (William E.Shotts) 译者: 郭光伟 / 郝记生 人民邮电出版社 2013 - 3
《Linux命令行大全》主要介绍Linux命令行的使用,循序渐进,深入浅出,引导读者全面掌握命令行的使用方法。
《Linux命令行大全》分为四部分。第一部分开始了对命令行基本语言的学习之旅,包括命令结构、文件系统的导引、命令行的编辑以及关于命令的帮助系统和使用手册。第二部分主要讲述配置文件的编辑,用于计算机操作的命令行控制。第三部分讲述了从命令行开始执行的常规任务。类UNIX操作系统,比如Linux,包含了很多“经典的”命令行程序,这些程序可以高效地对数据进行操作。第四部分介绍了shell编程,这是一个公认的初级技术,并且容易学习,它可以使很多常见的系统任务自动运行。通过学习shell编程,读者也可以熟悉其他编程语言的使用。
《Linux命令行大全》适合从其他平台过渡到Linux的新用户和初级Linux服务器管理员阅读。没有任何Linux基础和Linux编程经验的读者,也可以通过本书掌握Linux命令行的使用方法。
鸟哥的Linux私房菜 [图书] 豆瓣
8.6 (31 个评分) 作者: 鸟哥 人民邮电出版社 2010 - 6
本书是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口 shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。
本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。本书是初学者学习Linux不可多得的一本入门好书。
Linux从入门到精通 [图书] 豆瓣
作者: 刘忆智 / 2010 - 1
linux是目前增长最迅速的操作系统。本书由浅入深、循序渐进地向读者介绍linux的基本使用和系统管理。全书内容包括linux概述、linux安装、linux基本配置、桌面环境基本操作、shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程登录、多媒体应用、图像浏览和处理、打印机配置、办公软件的使用、linux编程工具、shell编程、服务器基础知识、apache服务器、vsftpd服务器、samba服务器、nfs服务器、任务计划、防火墙和网络安全、病毒和木马防范。
现代操作系统(第3版) [图书] 豆瓣
Modern Operating Systems
作者: [美国] Andrew S·Tanenbaum 译者: 陈向群 / 马洪兵 机械工业出版社 2009 - 7
本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握。
本书适合作为高等院校计算机专业操作系统课程教材,也是设计、开发操作系统的重要参考书。
Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。
在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。
本书特色:
● 涉及Windows Vista以及最新的Linux/UNIX操作系统。
● 用一整章(第12章)的篇幅对用于移动设备的Symbian操作系统进行分析。
● 涵盖更多、更新的安全方面的内容。
● 重新组织内容,尽早论述关键抽象概念。
● 给出与未来操作系统发展有关的新研究成果。
● 更新和增加了编程练习。
● 在线操作系统练习(http://www.prenhall.com/tanenbaum/details.html)采用主流Windows操作系统以及开源工具。
● 包括操作系统模拟练习。
操作系统设计与实现(上册) [图书] 豆瓣
Operating Systems:Design and Implementation
作者: Andrew S. Tanenbaum / Albert S. Woodhull 译者: 陈渝 / 谌卫军 电子工业出版社 2007 - 3
本书是关于操作系统的权威教材。大多数关于操作系统的图书均重理论而轻实践,而本书则在这两者之间进行了较好的折中。本册详细探讨了操作系统的基本原理,包括进程、进程间通信、信号量、管程、消息传递、调度算法、输入、输出、死锁、设备驱动程序、存储管理、调页算法、文件系统设计、安全和保护机制等;此外,还详细讨论了一个特殊的操作系统MINIX 3(一个与UNIX兼容的操作系统),并提供了该系统的源代码(见本书下册),以便于读者仔细研究。这种安排不仅可让读者了解操作系统的基本原理,而且可让读者了解到这些基本原理是如何应用到真实的操作系统中去的。
本书适用于高校计算机专业的学生,也可供程序设计人员、工程技术人员、系统架构师等相关人员参考。
UNIX操作系统设计 [图书] 豆瓣
The Design of the UNIX Operating System
作者: Maurice J.Bach 译者: 陈葆珏 机械工业出版社 2000 - 4
本书内容包括
UNIX内核体系结构
磁盘高速缓冲机制
文件系统内部数据结构与算法
控制进程上下文的系统调用与进程调度
存储管理,包括对换和请求调页系统
通用驱动程序接口,包括磁盘驱动程序和终端驱动程序
进程间通信与网络,包括系统V消息、共享存储和信号量
紧密耦合的多处理机UNIX系统和松散耦合的分布式UNIX系统
本书可作为大学计算机科学系高年级学生和研究生的教材或参考书,也为从事UNIX系统研究与实用程序开发人员提供了一本极有价值的参考资料。
莱昂氏UNIX源代码分析 [图书] 豆瓣
Lion's Commentary on UNIX with Source Code
作者: [澳] John Lions 译者: 尤晋元 机械工业出版社 2000 - 7
本书由上、下两篇组成。上篇为UNIX版本6的源代码,下篇是莱昂先生对UNIX操作系统版本6源代码的详细分析。本书语言简洁、透彻,曾作为未公开出版物广泛流传了二十多年,是一部杰出经典之作。本书适合UNIX操作系统编程人员、大专院校师生学习参考使用。
Linux内核设计与实现 [图书] 豆瓣
Linux Kernel Development
作者: 拉芙 译者: 陈莉君 / 唐华 机械工业出版社 2006 - 1
《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。
本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
深入理解LINUX内核 [图书] 豆瓣 Goodreads
Understanding the Linux Kernel
作者: Daniel P.Bovet / Marco Cesati 东南大学出版社 2006 - 4
为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。
《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。
本书将使你了解Linux的所有内部工作,它不仅仅是一个理论上的练习。你将学习到哪些情况下Linux性能最佳,并且你将看到,在大量的不同环境里进行进程调度、文件存取和内存管理时,它如何满足提供良好的系统响应的需要。这本书将帮助你充分利用Linux系统。
计算机网络 [图书] 豆瓣
8.0 (7 个评分) 作者: [美国] Andrew S·Tanenbaum 译者: 潘爱民 清华大学出版社 2004 - 8
《计算机网络(第4版)》全书按照网络协议模型(物理层、数据链路层、介质访问控制子层、网络层、传输层和应用层),自下而上系统地介绍了计算机网络的基本原理,并给出了大量实例。在讲述各网络层的同时,还融合进了近年来迅速发展起来的各种网络技术,如Internet、SONET、A DSL、CDMA、WLAN和蓝牙等。另外,针对当前计算机网络的发展现状以及计算机安全的重要性,本书用了一整章的篇幅对计算机安全进行了深入讨论。
HTTP权威指南 [图书] 豆瓣
HTTP: The Definitive Guide
8.7 (20 个评分) 作者: David Gourley / Brian Totty 译者: 陈涓 / 赵振平 人民邮电出版社 2012 - 9
超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。
HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的是却一本两磅重 的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。
本书中,我们尝试着将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对HTTP各方面的特性进行了介绍。纵观全书,我们对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还对很多HTTP应用程序正常工作所必须的、重要的非HTTP技术进行了介绍。在组织得便于使用的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的HTTP文本的基础)。我们希望这种概念性的设计有助于读者对HTTP的使用。
本书是为所有希望理解HTTP以及Web底层结构的人编写的。软硬件工程师也可以将本书作为HTTP及相关web技术的条理清楚的参考书使用。系统架构师和网络管理员可以通过本书更好地了解如何设计、实现并管理复杂的网络架构。性能工程师和分析人员可以从高速缓存和性能优化的相关章节中获益。市场营销和咨询专家可以通过概念的介绍更好地理解web技术的前景。
本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。
本书是很多对因特网技术充满热情的人经过大量工作写成的。希望对你有所帮助。
TCP/IP详解 卷1:协议 [图书] 豆瓣 Goodreads 开放图书馆
TCP/IP ILLustrated Volume 1: The Protocols
8.6 (14 个评分) 作者: [美国] W·Richard Stevens 译者: 范建华 机械工业出版社 2000 - 4 其它标题: TCP/IP详解 卷1:协议
《TCP/IP详解卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者W.Richard Stevens用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 《TCP/IP详解卷1:协议》适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。
分布式系统 [图书] 豆瓣
Distributed Systems: Concepts and Design, Fifth Edition
作者: (英)George Coulouris / Jean Dollimore 译者: 金蓓弘 / 马应龙 机械工业出版社 2013 - 3
从移动电话到互联网,我们的生活越来越依赖于以无缝和透明的方式将计算机和其他设备链接在一起的分布式系统。本书全面介绍分布式系统的设计原理和实践及其最新进展,并使用大量最新的实例研究来阐明分布式系统的设计与开发方法。
本书前几版已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等众多名校选用为教材。第5版在上一版的基础上,新增了三章内容,分别介绍间接通信、分布式对象和组件、分布式系统设计(以Google为例)。
本书网站www.cdk5.net为学生和教师提供了丰富的学习资源和教学资源(源代码、参考文献、教学幻灯片、勘误等)。
区块链启示录 [图书] 豆瓣
作者: 菲尔·尚帕涅 机械工业出版社 2018 - 1
本书整理了中本聪所发表的比特币白皮书、在几个网络论坛的对话精选以及部分相关的私人往来邮件,翔实地记录了比特币和区块链的孕育、创立和发展过程,以及围绕着理念、逻辑、原理、实施、安全、设计和普及所进行的深入讨论,并按照不同的主题组织起来呈现给广大的读者。
数据库系统概念 [图书] 豆瓣
Database System Concepts, 6E
8.0 (6 个评分) 作者: (美)Abraham Silberschatz / (美)Henry F.Korth 译者: 杨冬青 / 李红燕 机械工业出版社 2012 - 3
【编辑推荐】
数据库领域的殿堂级作品
夯实数据库理论基础,增强数据库技术内功的必备之选
对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!
【内容简介】
本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。
第6版保持了前5版的总体风格,同时对内容进行了扩充,对结构进行了调整,以更好地符合数据库教学的需求和反映数据库设计、管理与使用方式的发展和变化。具体更新内容如下:
调整了内容组织结构,将SQL内容提前,并集中进行介绍。
采用一个新的模式(基于大学的数据)作为贯穿全书的运行实例。
修订和更新了对数据存储、索引和查询优化以及分布式数据库的涵盖。
修订了E-R模型、关系设计和事务管理等内容。
扩充了关于应用开发和安全性的素材。
本书配套网站(http://www.db-book.com)提供的教辅资源包括:
· 书中各章的教学课件。
· 实践练习的答案。
· 未放入纸版书中的四个附录(高级关系数据库设计、其他关系查询语言、网状模型、层次模型)。
· 实验素材(包括大学模式和习题中用到的其他关系的SQL DDL和样例数据,以及关于建立和使用各种数据库系统和工具的说明书)。
· 最新勘误表。
SQL学习指南 [图书] 豆瓣
Learning SQL
8.3 (6 个评分) 作者: [美] Alan Beaulieu 译者: 张伟超 / 林青松 人民邮电 2010 - 6
《SQL学习指南(第2版)》全面系统地介绍了SQL语言各方面的基础知识以及一些高级特性,包括SQL数据语言、SQL方案语言、数据集操作、子查询以及内建函数与条件逻辑等内容。书中每个章节讲述一个相对独立的主题,并提供了相关示例和练习。《SQL学习指南(第2版)》内容以SQL92标准为蓝本,涵盖了市场上常用数据库的最新版本(MySQI。6.0、Oracle 11 g及Microsoft SQL Server 2008)。《SQL学习指南(第2版)》适合数据库应用开发者、数据库管理员和高级用户阅读。针对开发基于数据库的应用程序,以及日常的数据库系统管理,《SQL学习指南(第2版)》都展现了大量经过实践检验的方法和技巧。读者可以通过对《SQL学习指南(第2版)》循序渐进地学习快速掌握SQL语言,也可以在实际工作中遇到问题时直接翻阅《SQL学习指南(第2版)》中的相关章节以获取解决方案。
创建日期: 2026年1月24日