程序设计
面向对象分析与设计 豆瓣
Object-Oriented Analysis and Design with Applications
作者: Grady Booch / Robert A. Maksimchuk 译者: 王海鹏 / 潘加宇 出版社: 人民邮电出版社 2009 - 8
《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中的表示法采用最新的UML 2.0,因此《面向对象分析与设计(第3版)》是学习UML 2.0不可多得的参考书。《面向对象分析与设计(第3版)》作者基于长期丰富的经验,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题,非常适合实际系统和软件的开发者、系统分析师或构架师、项目经理阅读。《面向对象分析与设计(第3版)》主要阐述了软件开发的方法,也可以作为高等院校软件工程和高级编程课程的教材使用。
算法设计手册 豆瓣
The Algorithm Design Manual (2nd Ed.)
作者: 斯基恩纳 出版社: 清华大学出版社 2009 - 9
《算法设计手册(第2版)》是算法设计畅销书的最新版本,是设计实用且高效算法的最全面指导书。《算法设计手册(第2版)》揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析,全书包括两大部分,“技术”部分介绍了设计和分析计算机算法的各种方法,“资源”部分给出了大量的参考资源,以及算法实现的各种资源,此外,在作者的个人网址http://www.CS.sunysb.edu/~algorith/I-还提供了各种教学资源和参考材料,这些资源对读者很有参考价值。
《算法设计手册(第2版)》可以作为算法设计课程的主教材,也是程序人员、研究人员和学生的常备参考书。
图解服务器端网络架构 豆瓣
インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門
作者: [日] 宫田宽士 译者: 曾薇薇 出版社: 人民邮电出版社 2015 - 4
本书以图配文,详细说明了服务器端网络架构的基础技术和设计要点。基础设计是服务器端网络架构最重要的一个阶段。本书就立足于基础设计的设计细分项目,详细介绍各细分项目的相关技术和设计要点。全书共分为5章,分别讲述进行物理设计、逻辑设计、安全设计和负载均衡设计、高可用性设计以及管理设计时所必需的技术和设计要点。
精通正则表达式 豆瓣 Goodreads
Mastering regular expressions
作者: [美] Jeffrey E·F·Friedl 译者: 余晟 出版社: 电子工业出版社 2007
随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。
本书自第1 版开始着力于教会读者“以正则表达式来思考”,来让读者真正“精通”正则表达式。该版对PHP的相关内容、Java1.5和Java1.6的新特性作了可观的扩充讲解。任何有机会使用正则表达式的读者都会从中获益匪浅。
Python爬虫开发 从入门到实战(微课版) 豆瓣
作者: 谢乾坤 出版社: 人民邮电出版社 2018 - 9
本书较为全面地介绍了定向爬虫的开发过程、各种反爬虫机制的破解方法和爬虫开发的相关技巧。全书共13章,包括绪论、Python基础、正则表达式与文件操作、简单的网页爬虫开发、高性能HTML内容解析、Python与数据库、异步加载与请求头、模拟登录与验证码、抓包与中间人爬虫、Android原生App爬虫、Scrapy、Scrapy高级应用、爬虫开发中的法律和道德问题等。除第1、12、13章外的其他章末尾都有动手实践,以帮助读者巩固本章和前面章节所学的内容。针对书中的疑难内容,还配有视频讲解,以便更好地演示相关操作。
Python Cookbook 豆瓣 Goodreads
作者: David Beazley / Brian K. Jones 出版社: O'Reilly Media 2013 - 5
Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Completely updated for Python 3, the recipes in this book include: Data structures and algorithms Strings and text Dates and times Metaprogramming Testing With scores of practical examples and pertinent background information, the Python Cookbook, 3rd Edition is the one source you need if you're looking to build efficient, flexible, scalable, and well-integrated systems.
流畅的Python 豆瓣
Fluent Python
9.6 (17 个评分) 作者: [巴西] Luciano Ramalho 译者: 安道 / 吴珂 出版社: 人民邮电出版社 2017 - 5
【技术大咖推荐】
“很荣幸担任这本优秀图书的技术审校。这本书能帮助很多中级Python程序员掌握这门语言,我也从中学到了相当多的知识!”——Alex Martelli,Python软件基金会成员
“对于想要扩充知识的中级和高级Python程序员来说,这本书是充满了实用编程技巧的宝藏。”——Daniel Greenfeld和Audrey Roy Greenfeld,Two Scoops of Django作者
【本书特色】
本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。
● Python数据模型:理解为什么特殊方法是对象行为一致的关键。
● 数据结构:充分利用内置类型,理解Unicode文本和字节二象性。
● 把函数视作对象:把Python函数视作一等对象,并了解这一点对流行的设计模式的影响。
● 面向对象习惯用法:通过构建类学习引用、可变性、接口、运算符重载和多重继承。
● 控制流程:学习使用上下文管理器、生成器、协程,以及通过concurrent.futures和asyncio包实现的并发。
● 元编程:理解特性、描述符、类装饰器和元类的工作原理。
【主要内容】
本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。本书尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。
本书适合中高级Python软件开发人员阅读参考。
【译者简介】
安道
专注于现代计算机技术的自由翻译,译有《Flask Web 开发》《Python 网络编程攻略》《Ruby on Rails 教程》等书。
个人网站:http://about.ac/。
吴珂
现为Airbnb公司软件工程师,所在团队主要负责开发和维护各类可伸缩、高性能服务,并在Airbnb内推广面向服务的系统架构。在分布式系统、云存储服务和跨平台SDK开发,以及大规模数据处理等方面有多年经验。
Java解惑 豆瓣
Java Puzzlers: Traps, Pitfalls, and Corner Cases
作者: (美)布洛克·加夫特 译者: 陈昊鹏 出版社: 人民邮电出版社 2010 - 11
你认为自己了解Java多少?你是个爱琢磨的代码侦探吗?你是否曾经花费数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?本书正好适合你!
Bloch和Gafter继承了Effective Java一书的传统,深入研究了Java编程语言及其核心类库的细微之处。本书特写了95个噩梦般的谜题,中间穿插着许多有趣的视觉幻象,寓教于乐。任何具备Java知识的人都可以理解这些谜题,但甚至是最老练的程序员也会觉得它们具有挑战性。
多数的谜题都是些小程序,其行为诡秘,不可貌相。你能指出它们会做什么吗?根据这些谜题用到的特性以及各题的详细解惑方案,我们把它们松散地分成了几个部分。这些解惑方案超越了对程序行为的简单解释,向你展示下如何一劳永逸地避免底层的陷阱与缺陷。在本书的后面,有一个方便的陷阱和缺陷目录,可供以后参考。
一旦你解决了这些谜题,那些曾经愚弄过最具经验的Java程序员的隐晦且有违直觉的语言行为,将再也无法把你骗过。
计算机程序设计艺术・卷1 豆瓣
The Art of Computer Programming, Vol 1: Fundamental Algorithms
作者: Donald E. Knuth 译者: 李伯民 / 范明 出版社: 人民邮电出版社 2016 - 1
《计算机程序设计艺术》系列是公认的计算机科学领域经典之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第 1 卷,讲解基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。
交互式计算机图形学 豆瓣
Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL
作者: Edward Angel / Dave Shreiner 出版社: 电子工业出版社 2012 - 5
《交互式计算机图形学:基于OpenGL着色器的自顶向下方法(第6版)》采用自顶向下的方法并辅以面向编程的方式,基于现代可编程GPU的着色器编程,使用C++语言、OpenGL着色语言(GLSL)并结合OpenGL系统地介绍了现代计算机图形学的核心概念、原理和方法。《交互式计算机图形学:基于OpenGL着色器的自顶向下方法(第6版)》是作者多年来教学与科研工作的总结,涵盖了基于OpenGL着色器的交互式图形编程、三维可编程绘制流水线、变换与观察、光照与明暗绘制、曲线曲面建模等基本的计算机图形学内容以及离散技术、层级建模、过程建模、光线跟踪、并行绘制和体绘制等高级内容,并为读者进一步深入学习和研究,在每章后面提供了相关的建议阅读资料。《交互式计算机图形学:基于OpenGL着色器的自顶向下方法(第6版)》第六版进一步反映了计算机图形学的最新发展现状,面向图形应用开发并辅以大量的示例和完整的源代码,是一本“基础性与先进性、理论性与应用性、科学性与通俗性”相结合的内容全面而又系统的国外经典计算机图形学教材。
Java编程思想 (第4版) 豆瓣 Goodreads
Thinking in Java
8.9 (18 个评分) 作者: [美] Bruce Eckel 译者: 陈昊鹏 出版社: 机械工业出版社 2007 - 6
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。
第4版特点:
适合初学者与专业人员的经典的面向对象叙述方式,为更新的Java SE5/6增加了新的示例和章节。
 测验框架显示程序输出。
操作系统设计与实现(上册) 豆瓣
Operating Systems:Design and Implementation
作者: Andrew S. Tanenbaum / Albert S. Woodhull 译者: 陈渝 / 谌卫军 出版社: 电子工业出版社 2007 - 3
本书是关于操作系统的权威教材。大多数关于操作系统的图书均重理论而轻实践,而本书则在这两者之间进行了较好的折中。本册详细探讨了操作系统的基本原理,包括进程、进程间通信、信号量、管程、消息传递、调度算法、输入、输出、死锁、设备驱动程序、存储管理、调页算法、文件系统设计、安全和保护机制等;此外,还详细讨论了一个特殊的操作系统MINIX 3(一个与UNIX兼容的操作系统),并提供了该系统的源代码(见本书下册),以便于读者仔细研究。这种安排不仅可让读者了解操作系统的基本原理,而且可让读者了解到这些基本原理是如何应用到真实的操作系统中去的。
本书适用于高校计算机专业的学生,也可供程序设计人员、工程技术人员、系统架构师等相关人员参考。
网络是怎样连接的 豆瓣
ネットワークはなぜつながるのか 第2版
8.6 (32 个评分) 作者: [日] 户根勤 译者: 周自恒 出版社: 人民邮电出版社 2017 - 1
本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。
本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从业人员阅读。
Programming Language Pragmatics, Third Edition 豆瓣
作者: Michael L. Scott 出版社: Morgan Kaufmann 2009 - 4
Programming Language Pragmatics is the most comprehensive programming language textbook available today. Taking the perspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation, this critically acclaimed and bestselling book has been thoroughly updated to cover the most recent developments in programming language design. With a new chapter on run-time program management and expanded coverage of concurrency, this new edition provides both students and professionals alike with a solid understanding of the most important issues driving software development today.

Classic programming foundations text now updated to familiarize students with the languages they are most likely to encounter in the workforce, including including Java 7, C++, C# 3.0, F#, Fortran 2008, Ada 2005, Scheme R6RS, and Perl 6.
New and expanded coverage of concurrency and run-time systems ensures students and professionals understand the most important advances driving software today.
Includes over 800 numbered examples to help the reader quickly cross-reference and access content.
C Interfaces and Implementations 豆瓣
作者: David R. Hanson 出版社: Addison-Wesley Professional 1996 - 8
Every programmer and software project manager must master the art of creating reusable software modules; they are the building blocks of large, reliable applications. Unlike some modern object-oriented languages, C provides little linguistic support or motivation for creating reusable application programming interfaces (APIs). While most C programmers use APIs and the libraries that implement them in almost every application they write, relatively few programmers create and disseminate new, widely applicable APIs. C Interfaces and Implementations shows how to create reusable APIs using interface-based design, a language-independent methodology that separates interfaces from their implementations. This methodology is explained by example. The author describes in detail 24 interfaces and their implementations, providing the reader with a thorough understanding of this design approach.
系统架构 豆瓣
System Architecture: Strategy and Product Development for Complex Systems
作者: 爱德华·克劳利(Edward Crawley) / 布鲁斯·卡梅隆(Bruce Cameron) 译者: 爱飞翔 出版社: 机械工业出版社 2017 - 1
本书由系统架构领域3位领军人物亲笔撰写,该领域资深专家Norman R. Augustine作序推荐,Amazon全五星评价。
全书共分四部分。
第一部分(第1~3章)的重点是引出系统架构。第1章通过一些范例来展示架构理念,指出良好的架构,并给出本书的概要;第2章列出进行系统分析必备的思路;第3章给出分析系统架构所用的思维模式。
第二部分(第4~8章)着重对架构进行分析。第4章讨论系统的形式;第5章讨论系统的功能;第6章讲解形式与功能之间的映射,并以此给出系统架构的定义;第7章研究如何从独立于解决方案的功能陈述中衍生出系统;第8章演示怎样把这些概念汇聚成一套架构。
第三部分(第9~13章)讲解如何为复杂的系统定义架构。第9章从任务和可交付成果这两方面来概述架构师的职责;第10章探讨如何把组织机构方面的接口当成在架构中减少歧义的契机;第11章讲述如何用系统化的方式来捕获利益相关者的需求,并把它们转换成系统目标;第12章提出一些能够帮助架构师更有创意地构思并选择概念的手段;第13章讲述在开发系统时管理复杂度的一些办法。
第四部分(第14~16章)探寻帮助架构师做决策的各种计算方法及工具所具备的潜力。第14章把系统架构的过程当成一种决策制定的过程来进行讲解;第15章讲解如何对架构权衡空间中的信息进行综合;第16章演示怎样把架构决策编码成一套模型,使计算机可以根据该模型自动生成权衡空间并对其进行探索。
Quantum Computing since Democritus Goodreads 豆瓣
作者: Scott Aaronson 出版社: Cambridge University Press 2013 - 4
Written by noted quantum computing theorist Scott Aaronson, this book takes readers on a tour through some of the deepest ideas of maths, computer science and physics. Full of insights, arguments and philosophical perspectives, the book covers an amazing array of topics. Beginning in antiquity with Democritus, it progresses through logic and set theory, computability and complexity theory, quantum computing, cryptography, the information content of quantum states and the interpretation of quantum mechanics. There are also extended discussions about time travel, Newcomb's Paradox, the anthropic principle and the views of Roger Penrose. Aaronson's informal style makes this fascinating book accessible to readers with scientific backgrounds, as well as students and researchers working in physics, computer science, mathematics and philosophy.
支撑处理器的技术 豆瓣
作者: (日) Hisa Ando 译者: 李剑 出版社: 电子工业出版社 2012 - 10
《支撑处理器的技术:永无止境地追求速度的世界》用通俗易懂的语言和大量的插图,介绍了处理器的历史、基本结构、实现原理等,还对时下流行的虚拟化技术、多任务、多核心、GPGPU等进行了全面的讲解,并介绍了有效利用处理器的各种功能来提高应用程序性能的方法。《支撑处理器的技术:永无止境地追求速度的世界》最后还介绍了处理器在移动设备、汽车、家电等方面的应用,并展望处理器的未来发展趋势,希望能对相关软硬件的开发者有所帮助。