编程随想书单-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——内容寻址的版本化点对点文件系统
程序员应该知道的97件事 [图书] 豆瓣
编程人生 [图书] 豆瓣
Coders at Work他们的编程工作创造和改变了人类历史,在这一过程中都有哪些经验和教训?
他们对计算机软件行业的过去、现在和未来有什么独到的看法和见解?
他们对培养、发现、选拔、面试优秀的程序员有什么建议?
放下手头的工作,听听这些软件先驱们的故事和建议,眼界可以更开阔,思路可以更清晰,方向可以更明确,人生可以更精彩。
作者Peter Seibel采访了下面这15位世界级编程大师,本书是他在近80个小时的访谈录音基础上整理汇编而成的。
Jamie Zawinski:Lisp程序员,XEmacs开发者,Netscape浏览器和Mozilla核心开发者。
Brad Fitzpatrick:书中唯一的80后,LiveJournal和memcached开发者。现效力于Google。
Douglas Crockford:JavaScript权威,JSON之父。现任Yahoo架构师。
Brendan Eich:JavaScript之父。Mozilla公司CTO。
Joshua Bloch:如果说Gosling是Java之父,那Bloch就是使Java真正成熟的教父,Java 2到5的核心架构师。现为Google首席Java架构师。
Joe Armstrong:Erlang和OTP(开放电信平台)框架之父。
Simon Peyton Jones:Haskell先驱。ACM会士。现为微软剑桥研究院研究员。
Peter Norvig:Google研发总监。ACM会士。
Guy Steele:精通多门语言,Common Lisp和Scheme开发者之一,Java语言规范作者之一,Common Lisp、Fortran、C、ECMAScript和Scheme等语言标准化委员会成员。高性能科学计算的语言Fortress设计者。ACM会士,美国工程院院士。Sun公司院士。
Dan Ingalls:与Alan Kay合作开发了Smalltalk,是该语言的真正实现者。现为Sun公司杰出工程师。
L. Peter Deutsch:JIT(即时)编译技术发明者之一,PostScript文件浏览器GhostScript的作者。ACM会士。Sun公司院士。
Ken Thompson:图灵奖得主。Unix之父。UTF-8 Unicode编码设计者。
Fran Allen:图灵奖第一位女得主。编译技术公认权威。IEEE院士,ACM会士,美国工程院院士。IBM院士。
Bernie Cosell:Internet奠基人,ARPANET最早的路由计算机IMP设计者之一。
Donald Knuth:多卷本经典巨著《计算机程序设计艺术》的作者,排版软件TeX的作者,图灵奖得主。
代码阅读方法与实践 [图书] 豆瓣
Code Reading: The Open Source Perspective阅读代码是程序员的基本技能,同时也是软件开发、维护、演进、审查和重用过程中不可或缺的组成部分。本书首次将阅读代码作为一项独立课题,系统性地加以论述。本书引用的代码均取材于开放源码项目——所有程序员都应该珍视的宝库。本书围绕代码阅读,详细论述了相关的知识与技能。“他山之石、可以攻玉”,通过仔细阅读并学习本书,可以快速地提高读者代码阅读的技能与技巧,进而从现有的优秀代码、算法、构架、设计中汲取营养,提高自身的开发与设计能力。
本书适用于对程序设计的基本知识有一定了解,并想进一步提高自身开发能力的读者。
密码编码学与网络安全 [图书] 豆瓣
更新的第四版反映了该领域的最新发展趋势与进展,详尽讲述了密码编码学与网络安全的原理、技术与实践。首先,本书系统地解释了加密的概念与标准、密码、对称与公钥加密、数字签名等内容;接着探讨了网络安全的实践,为鉴别、电子邮件安全、IP安全以及Web安全引入了最新的应用;最后,本书回顾了系统安全的挑战,涉及到了主要的攻击与当今的最佳防范措施。像往常一样,本书提供了非常卓越的支持,包括大量的补充材料以及联机资源。
对学生、教师以及工程技术人员而言,本书仍是该领域的最佳资源。
本书系统地介绍了密码编码学与网络安全的基本原理和应用技术。全书主要包括下列四个部分:对称密码部分讨论了对称密码的算法和设计原理;公钥加密和散列函数部分讨论了公钥密码的算法和设计原理、报文认证码和散列函数的应用等;网络安全应用部分讨论了系统层的安全问题,包括电子邮件安全、IP安全以及Web安全等;系统安全部分讨论了入侵者和病毒造成的威胁及相应的对策、防火墙和可信系统的应用等。第四版与第三版相比,新增了Whirlpool,CMAC,DDoS以及CCITSE等内容,并对简化的AES,PKI等内容做了扩充。此外,对于基本内容的讲述方法也有许多变化和更新,并新增加了100多道习题。
本书可作为信息类专业高年级本科生与低年级研究生的教材,也可供从事信息安全、计算机、通信、电子工程等领域的科技人员参考。
黑客之道 [图书] 豆瓣
灰帽攻击安全手册 [图书] 豆瓣 Goodreads
本书由多位安全领域的著名专家编写,按部就班地描述了灰帽黑客适用的道德、法律、操作过程、使用的工具和方法,旨在使你成为一个合格、全面的正义黑客。
全书分为4大部分共15章。第1部分从道德规范和法律的角度介绍正义黑客,包括相关制度、工作步骤以及正确的漏洞发现过程,这些内容在同类书中极少涉及;第2部分介绍了渗透测试的过程与工具,包括建立测试团队和实验室、在工作中合法地保护自己、嗅探工具和渗透测试工具的合理使用;第3部分讲解各种攻击方法,有使用编程技巧对Linux系统的缓冲区、格式串和堆进行攻击,创建shellcode攻击,编写对Windows漏洞的攻击,并对代码逐行分析、点睛技巧,也是同类书难以寻觅;第4部分主要介绍各种漏洞分析方法和工具,包括被动分析,在源代码和二进制文件中识别漏洞并打补丁,对软件进行逆向工程、杂凑等。
本书涵盖了Linux和Windows系统,原理和技术并重,涉及面广,是信息安全管理人员、程序员以及对黑客技术感兴趣读者的必备工具书。
黑客攻防技术宝典 [图书] 豆瓣
The Shellcoder's Handbook《黑客攻防技术宝典:系统实战篇(第2版)》适用于所有计算机安全领域的技术人员和管理人员以及对计算机安全感兴趣的爱好者。
Shellcoder编程揭秘 [图书] 豆瓣
Shellcoder's Programming Uncovered内核漏洞的利用与防范 [图书] 豆瓣
A Guide to Kernel Exploitation: Attacking the Core本书内容详实,实例丰富,可操作性强,涉及主流操作系统内核漏洞利用的各个方面,适合软件开发人员、测试人员、安全工程师等阅读。
Metasploit渗透测试指南 [图书] 豆瓣
Metasploit The Penetration Tester's Guide《metasploit渗透测试指南》共有17章,覆盖了渗透测试的情报搜集、威胁建模、漏洞分析、渗透攻击和后渗透攻击各个环节,并包含了免杀技术、客户端渗透攻击、社会工程学、自动化渗透测试、无线网络攻击等高级技术专题,以及如何扩展metasploit情报搜集、渗透攻击与后渗透攻击功能的实践方法,本书一步一个台阶地帮助初学者从零开始建立起作为渗透测试者的基本技能,也为职业的渗透测试工程师提供一本参考用书。本书获得了metasploit开发团队的一致好评,metasploit项目创始人hd moore评价本书为:“现今最好的metasploit框架软件参考指南”。
《metasploit渗透测试指南》适合网络与系统安全领域的技术爱好者与学生,以及渗透测试与漏洞分析研究方面的安全从业人员阅读。
恶意代码分析实战 [图书] 豆瓣
Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software本书分为21章,覆盖恶意代码行为、恶意代码静态分析方法、恶意代码动态分析方法、恶意代码对抗与反对抗方法等,并包含了shellcode 分析,C++恶意代码分析,以及64 位恶意代码分析方法的介绍。本书多个章节后面都配有实验并配有实验的详细讲解与分析。通过每章的介绍及章后的实验,本书一步一个台阶地帮助初学者从零开始建立起恶意代码分析的基本技能。
本书获得业界的一致好评,IDA Pro 的作者Ilfak Guilfanov 这样评价本书:“一本恶意代码分析的实践入门指南,我把这本书推荐给所有希望解剖Windows 恶意代码的读者”。
逆向工程权威指南 [图书] 豆瓣
Reverse Engineering for Beginners本书专注于软件的逆向工程,是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及X86/X64、ARM/ARM-64、MIPS、Java/JVM等重要话题,详细解析了Oracle RDBMS、Itanium、软件狗、LD_PRELOAD、栈溢出、ELF、Win32 PE文件格式、x86-64(第、critical sections、syscalls、线程本地存储TLS、地址无关代码(PIC)、以配置文件为导向的优化、C++ STL、OpenMP、SHE等众多技术话题,堪称是逆向工程技术百科全书。除了详细讲解,本书来给出了很多习题来帮助读者巩固所学的知识,附录部分给出了习题的解答。
本书适合对逆向工程技术、操作系统底层技术、程序分析技术感兴趣的读者阅读,也适合专业的程序开发人员参考。
IDA Pro权威指南 [图书] 豆瓣 Goodreads
The IDA Pro Book本书首先为初涉安全领域的读者描述反汇编与逆向工程的基本信息和IDA Pro的背景知识,然后系统地介绍IDA的基本布局和功能、复杂数据结构的处理、交叉引用与绘图功能,以及如何在非Windows平台上运行IDA。作者由浅入深地介绍了IDA的配置、FLIRT技术、IDA类型库的扩展以及一些IDA限制。书中还探讨了IDA的可扩展性,涉及IDA脚本、SDK、插件、加载器模块和处理器模块,最后阐述了IDA在逆向工程中的实际用法,讨论了各种编译器的区别、模糊代码分析和漏洞分析、IDA插件以及IDA调试器。
Python灰帽子 [图书] 豆瓣
Gray Hat Python: Python Programming for Hackers and Reverse Engineerspython黑帽子 [图书] 豆瓣 Goodreads
Blackhat Pythonpython绝技:运用python成为顶级黑客 [图书] 豆瓣
Violent Python《Python绝技:运用Python成为顶级黑客》适合计算机安全管理人员、计算机犯罪调查和电子取证人员、渗透测试人员,以及所有对计算机 安全感兴趣的爱好者阅读。同时也可供计算机、信息安全及相关专业的本/专科院校师生学习参考。