编程随想书单-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——内容寻址的版本化点对点文件系统

软件调试修炼之道 [图书] 豆瓣
Debug It!: Find, Repair, and Prevent Bugs in Your Code
作者: Paul Butcher 译者: 曹玉琳 人民邮电出版社 2011 - 6
本书主要讲述如何运用方法和调试工具在客户投诉之前自动检测程序中的bug,紧紧围绕问题重现、问题诊断、缺陷修复、反思四个中心环节,并将调试置于软件开发与运行的大环境中,为我们道出了软件调试修炼之道。
本书适用软件开发、调试一线人员及一切热爱软件调试之道的有志者。
软件调试的艺术 [图书] 豆瓣
The Art of Debugging with GDB, DDD, and Eclipse
作者: Norman Matloff / Peter Jay Salzman 译者: 张云 人民邮电出版社 2009 - 11
调试对于软件的成败至关重要,正确使用恰当的调试工具可以提高发现和改正错误的效率。《软件调试的艺术》详细介绍了3种调试器,GDB用于逐行跟踪程序、设置断点、检查变量以及查看特定时间程序的执行情况,DDD是流行的GDB的GUI前端,而Eclipse提供完整的集成开发环境。书中不但配合实例讨论了如何管理内存、理解转储内存、跟踪程序找出错误等内容,更涵盖了其他同类书忽略的主题,例如线程、客户/服务器、GUI和并行程序,以及如何躲开常见的调试陷阱。
《软件调试的艺术》适合各层次软件开发人员、管理人员和测试人员阅读。
UNIX编程艺术 [图书] 豆瓣
9.4 (17 个评分) 作者: [美国] Eric S·Raymond 译者: 姜宏 / 何源 电子工业出版社 2006 - 2
本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。
Linux/Unix设计思想 [图书] 豆瓣
Linux and the Unix Philosophy
8.3 (7 个评分) 作者: 甘卡兹 译者: 漆犇 人民邮电出版社 2012 - 3
《Linux\Unix设计思想/图灵程序设计丛书》内容简介:将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中的设计原则。《Linux\Unix设计思想/图灵程序设计丛书》前8章分别介绍了Linux与Unix中9条基本的哲学准则和10条次要准则。第9章和第10章将Unix系统的设计思想与其他系统的设计思想进行了对比。最后介绍了Unix哲学准则在其他领域中的应用。
UNIX环境高级编程 [图书] 豆瓣
作者: W.Richard Stevens / Stephen A.Rago 译者: 尤晋元 / 张亚英 人民邮电出版社 2006
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。
本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。
Linux/UNIX系统编程手册 [图书] 豆瓣
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
作者: Michael Kerrisk 译者: 孙剑 许从年 董健 / 孙余强 郭光伟 陈舸 人民邮电出版社 2014 - 1
《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。
《linux/unix系统编程手册(上、下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用posix线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字api编写网络应用等内容。
《linux/unix系统编程手册(上、下册)》在汇聚大批 linux专有特性(epoll、inotify、/proc)的同时,还特意强化了对unix标准(posix、sus)的论述,彻底达到了“鱼与熊掌,二者得兼”的效果,这也堪称本书的最大亮点。
《linux/unix系统编程手册(上、下册)》布局合理,论述清晰,说理透彻,尤其是作者对示例代码的构思巧妙,独具匠心,仔细研读定会受益良多。本书适合从事linux/unix系统开发、运维工作的技术人员阅读,同时也可作为高校计算机专业学生的参考研习资料。
UNIX系统编程 [图书] 豆瓣
UNIX Systems Programming: Communication, Concurrency and Threads
作者: [美] 罗宾斯 译者: 陈涓 机械工业出版社 2005 - 5
本书深入阐述了能使UNIX操作系统发挥出量大功效的软件设计方法,对UNIX编程的精髓进行了清晰易懂的介绍。两位作者具有多年教学与科研经验,匠心独运,精耕细做,以一些用来说明如何使用系统调用的短小代码段开始,巧妙地过渡到实际项目中,逐渐在拓展了读者的技术水平。本书对通信、并发和多线程问题进行了透彻的研究;对复杂的概念,比如信号和并发,进行了全面、明晰的解释,并以此闻名。本书的特色还在于它提供了大量实例、练习、可重用的代码以及有和于网络通信程序的简化了的库。
本书同时也是一本基于最新的UNIX标准的完备的参考书,它完全覆盖了与文件、信号、信号量、POSIX线程和客户机-服务器通信相关的内容。此外,本版本中新增拉在于Web、UDP和服务器性能的章节也为本书增色不少。书中包含大量有趣的项目设计及其参考答案,例如命令解释程序、WWW重定向、因特网音频广播、服务器性能等,这些项目设计稍加完善就可以成为可用的程序,可供软件开发人员参考。
本书的Web站点http://usp.cs,utsa,edu/usp为读者提供了大量的资料,内容包括所有可下载的程序,这些程序可以免费使用。此外,这个站点中还包含到模拟器、测试工具、作者准备的课程资料以及勘误表的链接。
本书是UNIX系统编程的经典教材,并基于最新的UNIX标准进行了更新,其内容完全覆盖文件、信号、POSIX线程、UDP、Web和客户机-服务器等相关内容,并对通信、并发和多线程问题进行了透彻的研究,对复杂的概念进行了全面、完善以及明晰的解释,并以此而闻名。本书不仅提供了大量实例和练习,还专门设计了有针对性的项目,并给出了参考答案,帮助读者理解相关的概念,增强应用能力。本书适合作为高等院校计算机专业教材,也可供软件开发人员参考。
精通Linux设备驱动程序开发 [图书] 豆瓣
Essential Linux Device Drivers
作者: Sreekrishnan Venkateswaran 译者: 宋宝华 / 吴国成 人民邮电出版社 2010 - 5
《精通Linux设备驱动程序开发》是Linux设备驱动程序开发领域的权威著作。全书基于2.6内核,不仅透彻讲解了基本概念和技术,更深人探讨了其他书没有涵盖或浅尝辄止的许多重要主题和关键难点,如PCMCIA、I2C和USB等外部总线以及视频、音频、无线连网和闪存等驱动程序的开发,并讲解了相关的内核源码文件,给出了完整的开发实例。
《精通Linux设备驱动程序开发》适合中高级Linux开发人员阅读。
Windows核心编程 [图书] 豆瓣
作者: 理查德 译者: 黄陇 / 李虎 机械工业出版社 2008 - 5
《经典重读•Windows核心编程(原书第4版)》是讲解Windows操作系统内部机制的一本专著。作者从基本概念入手,全面系统地介绍了Windows底层实现机制、Windows应用程序的基本构件(包括进程、线程、内存管理、动态链接库、线程本地存储和Unicode)以及各类Windows API等,并列举了大量应用程序示例,精辟地分析了Windows编程的各个难点和要点,为掌握windows编程技巧提供了一条有效的捷径。《经典重读•Windows核心编程(原书第4版)》适合Windows编程人员参考。
Windows程序设计 [图书] 豆瓣
作者: 佩措尔德 译者: 方敏 / 张胜 北京大学出版社 2010 - 9
《Windows程序设计(第5版 珍藏版)》是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。
作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。
《Windows程序设计(第5版 珍藏版)》适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。
点击链接进入英文版:
Programming Windows 5th Edition Book/CD Package
UNIX网络编程 [图书] 豆瓣
Unix Network Programming
作者: 史蒂文斯 / 芬纳 译者: 杨继张 清华大学出版社 2006 - 1
《UNIX网络编程》(第1卷)(套接口API第3版)第1版和第2版由已故UNIX网络专家W. Richard Stevens博士独自编写。《UNIX网络编程》(第1卷)(套接口API第3版)是3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,根据近几年网络技术的发展,对上一版进行全面修订,增添了IPv6的更新过的信息、SCTP协议和密钥管理套接口的内容,删除了X/Open传输接口的内容。
《UNIX网络编程》(第1卷)(套接口API第3版)内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材,《UNIX网络编程》(第1卷)(套接口API第3版)也可作为网络研究和开发人员的自学教材和参考书。
C++网络编程(卷1) [图书] 豆瓣
C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns
作者: [美]Douglas C.Schmidt,Stephen D.Huston 著,於春景 译 华中科技大学出版社 2004 - 6
Java网络编程 [图书] 豆瓣
Java Network Programming
作者: 哈诺德 (Elliotte Rusty Harold) 译者: 李帅 / 荆涛 中国电力出版社 2014 - 9
《Java网络编程(第四版)》实用指南全面介绍了如何使用Java开发网络程序。你将学习如何使用Java的网络类库既快速又轻松地完成常见的网络编程任务,如编写多线程服务器、加密通信、广播到本地网络,以及向服务器端程序提交数据。作者提供了真正可实用的程序来讲解他介绍的方法和类。第4版经过全面修订,已经涵盖REST、SPDY、异步I/O和很多其他高级技术。本书主要内容有:研究Internet底层协议,如TCP/IP和UDP/IP;了解Java的核心I/O API如何处理网络输入和输出;发现InetAddress类如何帮助Java程序与DNS交互;用Java的URI和URL类定位、识别和下载网络资源;深入研究HTTP协议,包括REST、HTTP首部和cookie;使用Java的底层Socket类编写服务器和网络客户端;利用非阻塞I/O同时管理多个连接。
ZeroMQ [图书] 豆瓣
作者: Pieter Hintjens O'Reilly Media 2013 - 3
Dive into ØMQ (aka ZeroMQ), the smart socket library that gives you fast, easy, message-based concurrency for your applications. With this quick-paced guide, you’ll learn hands-on how to use this scalable, lightweight, and highly flexible networking tool for exchanging messages among clusters, the cloud, and other multi-system environments.
ØMQ maintainer Pieter Hintjens takes you on a tour of real-world applications, using extended examples in C to help you work with ØMQ’s API, sockets, and patterns. Learn how to use specific ØMQ programming techniques, build multithreaded applications, and create your own messaging architectures. You’ll discover how ØMQ works with several programming languages and most operating systems—with little or no cost.
Learn ØMQ’s main patterns: request-reply, publish-subscribe, and pipeline
Work with ØMQ sockets and patterns by building several small applications
Explore advanced uses of ØMQ’s request-reply pattern through working examples
Build reliable request-reply patterns that keep working when code or hardware fails
Extend ØMQ’s core pub-sub patterns for performance, reliability, state distribution, and monitoring
Learn techniques for building a distributed architecture with ØMQ
Discover what’s required to build a general-purpose framework for distributed applications
RESTful Web Services [图书] 豆瓣
作者: Leonard Richardson / Sam Ruby O'Reilly Media 2007 - 5
You've built web sites that can be used by humans. But can you also build web sites that are usable by machines? That's where the future lies, and that's what RESTful Web Services shows you how to do. The World Wide Web is the most popular distributed application in history, and Web services and mashups have turned it into a powerful distributed computing platform. But today's web service technologies have lost sight of the simplicity that made the Web successful. They don't work like the Web, and they're missing out on its advantages.
This book puts the "Web" back into web services. It shows how you can connect to the programmable web with the technologies you already use every day. The key is REST, the architectural style that drives the Web. This book:
* Emphasizes the power of basic Web technologies -- the HTTP application protocol, the URI naming standard, and the XML markup language
* Introduces the Resource-Oriented Architecture (ROA), a common-sense set of rules for designing RESTful web services
* Shows how a RESTful design is simpler, more versatile, and more scalable than a design based on Remote Procedure Calls (RPC)
* Includes real-world examples of RESTful web services, like Amazon's Simple Storage Service and the Atom Publishing Protocol
* Discusses web service clients for popular programming languages
* Shows how to implement RESTful services in three popular frameworks -- Ruby on Rails, Restlet (for Java), and Django (for Python)
* Focuses on practical issues: how to design and implement RESTful web services and clients
This is the first book that applies the REST design philosophy to real web services. It sets down the best practices you need to make your design a success, and the techniques you need to turn your design into working code. You can harness the power of the Web for programmable applications: you just have to work with the Web instead of against it. This book shows you how.
Ruby on Rails 3 Tutorial [图书] 豆瓣
作者: Michael Hartl Addison-Wesley Professional 2010
“Ruby on Rails™ 3 Tutorial: Learn Rails by Example by Michael Hartl has become a must read for developers learning how to build Rails apps.”
—Peter Cooper, Editor of Ruby Inside
Using Rails 3, developers can build web applications of exceptional elegance and power. Although its remarkable capabilities have made Ruby on Rails one of the world’s most popular web development frameworks, it can be challenging to learn and use. Ruby on Rails™ 3 Tutorial is the solution. Leading Rails developer Michael Hartl teaches Rails 3 by guiding you through the development of your own complete sample application using the latest techniques in Rails web development.
Drawing on his experience building RailsSpace, Insoshi, and other sophisticated Rails applications, Hartl illuminates all facets of design and implementation—including powerful new techniques that simplify and accelerate development.
You’ll find integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, JavaScript, and SQL skills you’ll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and he demonstrates this with bite-sized code that’s simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery.
This book will help you
Install and set up your Rails development environment
Go beyond generated code to truly understand how to build Rails applications from scratch
Learn Test Driven Development (TDD) with RSpec
Effectively use the Model-View-Controller (MVC) pattern
Structure applications using the REST architecture
Build static pages and transform them into dynamic ones
Master the Ruby programming skills all Rails developers need
Define high-quality site layouts and data models
Implement registration and authentication systems, including validation and secure passwords
Update, display, and delete users
Add social features and microblogging, including an introduction to Ajax
Record version changes with Git and share code at GitHub
Simplify application deployment with Heroku
编码 [图书] 豆瓣 Goodreads
Code: The Hidden Language of Computer Hardware and Software
9.1 (46 个评分) 作者: [美] Charles Petzold 译者: 左飞 / 薛佟佟 电子工业出版社 2010
本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。
程序员修炼之道(第2版) [图书] 豆瓣 Goodreads
The Pragmatic Programmer: From Journeyman to Master
9.4 (19 个评分) 作者: [美] David Thomas / [美] Andrew Hunt 译者: 云风 电子工业出版社 2020 - 4
本书之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。时隔20年的新版,经过全面的重新选材、组织和编写,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。本书极具洞察力与趣味性,适合从初学者到架构师的各阶层读者潜心研读或增广见闻。
約耳趣談軟體 [图书] 豆瓣
Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers
作者: [美国] Joel Spolsky 译者: 梅普華 悅知 2010 - 4
出版至今,全球已有超過30種語言譯本,全書45篇文章,廣受程式開發人員的喜愛,是一本集結關於軟體開發、人才遴選及培訓、創業經營,以及企業管理的實錄。
如果你正深陷於公司決策的迂腐、管理高層的無能、固執的做事信仰等無限迴圈中,那麼,約耳將是引領你走出暗黑的明燈。
歷任過軟體開發人員、管理者、經營者的約耳,所經手的專案比你吃的鹽還多;從開發人員關注的程式問題、硬體分享、產品管理,甚至是經濟學探討,無一不談,廣泛涉略只為你全盤掌握軟體專案的整體面貌。
網友狂推!不可錯過的章節:
約耳測試─邁向高品質程式碼的12個步驟:檢視團隊的分數,找到成為高品質團隊的方法。
五個世界:一再提醒你軟體開發具備各種不同的領域或世界,而不同的領域適用不同的規則,正視此規則才能在專案中悠遊自得。
面試人員教戰守則:人是軟體專案的重要部分,對的人讓專案進行更順利。此篇是面試官的精神食糧,更是徵試者的求生寶典。
抽象滲漏法則:揭開TCP的神祕本質,探討將一切抽象化的風險。
別讓架構太空人嚇到你:別讓自己也成為只會用抽象的名詞來解決事物的太空人。
大麥克對上原味主廚:別讓規則手冊取代了才能,因為規則手冊永遠無法適應新時代。
邊開火邊移動:作戰理論也能成為開發專案的密招?只要每天前進一點,成功的專案就在不遠之處。
创建日期: 2026年1月24日