量子计算正在改变我们对于计算机的思考方式。量子比特(quantum bits),又称qubits,可以解决当前计算技术难以解决的问题。 本书首先概述了量子计算与传统计算如此不同的原因,并讲述了可能会对量子计算产生重大影响的一些行业案例。对理解诸如叠加、纠缠和干涉等概念所必需的经典计算理论和数学基础进行了更全面的讲解。接下来是电路和算法。既有基础的,也有更复杂的。然后,对构建量子计算硬件背后的物理和工程思想娓娓道来。后,本书展望了未来前景并提供了指引,帮助读者了解日后的发展会如何影响到个人。 真正理解量子计算需要大量的数学知识,而本书也不会回避必要的数学概念。每个主题均以清晰的文字和有用的示例进行介绍和详尽解释。 你将从本书中学到: 量子计算的工作原理、与众不同之处及其如此强大的原因; 探索量子系统背后令
本书指导读者如何充分利用标准C和C++库,其涵盖容器、迭代器、算法、文本与文件处理、时间与日期处理以及内存管理等内容。同时本书提供了非常实用的有关抽象、模板、二进制处理、可见度、控制结构和异常处理的使用技巧。 本书还提供了C和C++的大量编程范例,对于进行实用开发的人员具有很大的借鉴和指导意义。各类读者均能从中获得裨益,提高C/C++的编程水平。
分布式算法20多年来一直是倍受关注的主流方向。本书第二版不仅给出了算法的*进展,还深入探讨了与之相关的理论知识。这本教材适合本科高年级和研究生使用,同时,本书所覆盖的广度和深度也十分适合从事实际工作的工程师和研究人员参考。书中重点讨论了点对点消息传递模型上的算法,也包括计算机通信网络的实现算法。其他重点讨论的内容包括分布式应用的控制算法(如波算法、广播算法、选举算法、终止检测算法、匿名网络的*算法、快照算法、死锁检测算法、同步系统算法等),还涉及了利用分布式算法实现容错计算。第二版新增的关于方向感和故障检测器的内容都代表了当今*技术发展水平,为在这些方向上从事研究的人员提供了很好的帮助。
UML是一种用于建立面向对象系统模型的标准标记法。本书首先概述了UML的历史、基本概念、目标及使用方法,然后按字母顺序列出了UML的所有术语及标准元素,从语意、表示法和用途等方面详尽地介绍了UML的构成和概念,本书的三位作者是面向对象方法早的倡导者,也是UML的原创人员。 本书可供广大软件开发人员、系统用户和工程技术人员查询和参考。
本书是专门为那些缺乏经验的企业应用开发人员编写的。本书的作者,著名的面向对象设计师Martin Fowler发现如果不考虑Smalltalk、CORBA、Java和.NET在技术上的差异的话,相同的基础设计理念是能够用来解决架构方面的常见问题的。在特约专家组的帮助下,Martin将40余种可重现解决方案提炼成为模式。因此,这本不可或缺的解决方案手册适用于任何企业应用平台。 本书实际上是将两本书合二为一了。本书的部分是开发企业应用的简短指南,你可以从中了解到本书所涵盖的内容。第二部分是本书的主体,是关于模式的详细讲解。每种模式都介绍了用法和实现信息,同时还附有相应的Java或C#代码范例。整本书中有大量的UML图,用以进一步解释有关概念。 有了本书的帮助,在确定构建企业应用的架构和实施阶段所用模式时,你将具备必要的知识。 本书要点: ·将企业
编写更好的软件:30年UNIX开发经验的结晶! 本书是作者封笔30年后历时5年创作而成,是一部难得的软件工程方面的佳作。作者首次将哲学、设计模式、工具、文化和传统结合在一起,使得UNIX成为世界上好且创新意义的软件,并展示了如何将其拓展到Linux和当今的开源(open-source)运动中。通过取自主要的开源项目中的示例,作者向UNIX和Linux编程人员展示了如何更巧妙地创建软件,使其更雅致、更灵巧、更具可重用性且具有更长的生命期。 Raymond借鉴了以下13位UNIX先锋人物的观点: Ken Thompson,UNIX的发明者 Ken Arnold,4BSD UNIX的创建者之一,也是《The Java Programming Language》的作者之一。 Steven M.Bellovin,Usenet的创始人之一,也是《Firewalls and Internel Security》的作者之一。 Stuart Feldman,贝尔实验室UNIX开发组成员,也是《make》和《f77》的作者。 Jim gettys和Keith Packar
由于Java编程语言已趋于成熟,许多开发者转而借助Java来满足他们对于企业级应用程序开发的需要。在大多数Java应用程序中,复杂事务管理、消息传递、XML和Web服务支持、命名及目录服务、数据库管理等不仅是其重要的组成部分,而且也是这些应用程序实现自身功能的基础。因此,Java开发人员一直在努力寻求能为企业级应用程序的开发提供上述服务的通用应用服务器,在众多竞争者中,BEA公司的WebLogic服务器处于领先地位。 《WebLogic权威指南》全面介绍了BEA WebLogic。无论你是一名开发人员、管理人员还是系统架构师,阅读此书你会发现,你能更深入地使用WebLogic,更快地进行优化,以及获得更好的性能。本书详细介绍了WebLogic对J2EE领域中标准API的支持以及对核心API的扩展;而对于众所周知的API,比如servlet,JSP以及EJB,本书没有花费过多的篇幅。 本书包含的内
网格计算(Grid Computing)是近几年一个新兴的研究领域。作为有望成为下一代信息社会的基础设施,网格计算不仅备受学术界的瞩目,也引起了IT业界浓厚的兴趣。在本书中,两位来自IBM的专家Joshy Joseph和Craig Fellenstein沿着“概念-发展-理论-实践”的主线,首先对网格计算析概念进行了阐明,对于网格计算由来和演变做了分析,然后介绍网格应用,接下来对相关的网格标准(OGSA,OGSI)做了十分翔实准确的叙述,后还对目前网格领域有影响力的Globus Toolkit 3做了非常细致的说明。本书具有准确全面,注重实践,详尽介绍*技术和标准,篇章结构组织严谨、线索突出等特点。 通过阅读该书,读者不仅可以迅速掌握网格计算和效用计算的基本概念、学习如何构建相关程序、理解现有技术和标准的*进展,更可以将网格技术用于组织现有IT资源,降低成本并让它们发挥出更大的价
本书以UNIX系统V为背景,全面、系统地介绍了UNIX操作系统内核的内部数据结构和算法。本书首先对系统内核结构做了简要介绍,然后分章节描述了文件系统、进程调度和存储管理,并在此基础上讨论了UNIX系统的高级问题,如驱动程序接口、进程间通信与网络等。在每章之后,还给出了大量富有启发性和实际意义的题目。本书可作为大学计算机科学系高年级学生和研究生的教材或参考书。本书也为从事UNIX系统研究与实用程序开发人员提供了一本极有价值的参考资料。
为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。 《深入理解Linux内核,第三版》指导你对内核中使用的重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。 本书新版涵盖2.6版本,其在内核的几乎每个子系
《卓有成效的程序员(影印版)》内容简介:任何一个以开发软件为生的人都需要掌握一种经过实践检验的方法,来使自己工作得更好、更快、更高效。《卓有成效的程序员》在“如何节省时间”方面提供了宝贵意见和实用工具,无论你使用何种平台,都能立刻应用于其中。大师级的开发者Neal Ford不仅提供了关于提高生产力的建议:如何更明智地工作,排除干扰,充分利用计算机,以及避免重复;同时他还详细介绍了许多有价值的实践经验,帮助你规避常见陷阱,改善代码,从而为团队创造更大的价值。 你将学习到如何: · 在写代码前先写测试 · 一丝不苟地管理你的对象的生命周期 · 只做你现在必须要做的,而非你将来可能要做的 · 将古老的哲学应用到软件开发当中 · 敢于质疑权威,而不是盲目遵从标准 · 利用元编程,将困难转为容易,化不可能为可能 ·
本书的目的是让学生在进入大学校门的时候,就对计算机有一个深入理解,为以后的课程打下坚实的基础。 本书包括两方面的内容:计算机底层结构;高级语言编程及编程方法学。书中阐述了LC-3 体系结构的设计,并配套开发了LC-3模拟器供学生使用。为加深学生对编程及其方法学的理解,本书选用了C语言来进行讲解。本书采用了“驱动式”的自底向上方法,即先给学生一个整体结构,然后自底向上地建立起相关的知识。同样,在每个单元中,也采用相同的驱动式教学方法。在每个学习阶段,都基于之前已学的知识介绍新的概念。经验告诉我们,这种学习方法更多地强调理解而不是记忆。通过本书的学习,学生的理解能力将获得很大的提高,因为他们循序渐进地了解了构建计算机的全部过程。 本书特色: 自底向上的组织:从底层的MOS晶体管开关器件开始,
本书介绍了人工智能领域中重要的一个概念——智能代理。本书从基本的反应式代理入手,逐步向人们展示了现代人工智能不断增强的认知能力,同时也例证了该领域中重要且经久不衰的思维、思想。神经网络、遗传程序设计、计算机视觉、探视搜索、知识表示和推理、贝叶斯网络、规划和语言理解等有关人工智能的重要内容都通过本书所描述的各种代理的不断增长的能力得以展现。本书作者是人工智能领域的主要开创者和重要带头人,正是他提供给了广大读者一个耳目一新和富有生机的合成技术,该技术将领导人类把整个人工智能领域的研究引向一个新的境界。 Nils J. Nilsson: Artificial Intelligence, A New Synthesis. Copyright @ 1998 by Morgan Kaufmann Publishers, Inc. Harcourt Asia Pte Ltd under special arrangement with Morgan Kaufmann authorizes China Machine Press to print and exclusively distribute this edition, whic
什么因素能够使得软件项目成功?光有一个好主意或者一组天才的程序员是远远不够的。一个项目经理需要知道如何带领团队完成整个软件项目。有一些普遍存在的陷阱对所有软件项目都造成了负面影响,而有些反复出现的低级错误有时竟然在同一个项目里一再发生。要避免这些错误并不难,也不必依靠因人而异的先天素质。幸运的是,的确存在一些历经检验的真实技巧能够帮助每一个项目经理。 在《实用软件项目管理》一书中,Andrew Stellman和Jennifer Greene提供了各种工具、技巧和实践方法,这些东西你都可以马上应用到项目中去。本书包含了用来检查你的团队现状的信息,并且提供了实用的建议来帮助你实现构建更好软件的目标。 书中的主题包括:制订软件项目计划,帮助团队预估工作量,设定项目进度表,搜集软件需求并创建用例,通过重构、单元测试
原版风暴系列。
本书是国际知名软件开发专家Alistair Cockburn通过采访项目开发组和总结自己20多年的开发和管理经验,撰写的一本介绍软件开发新思想——敏捷软件开发方法学的著作。 本书从更新软件开发就是“创造和沟通的合作博弈”这一强大的模型开始。在这些新观念之中,Cockburn引入了:利用竞争产生动力而不破坏合作,从精益制造中学习教训以及为了沟通而平衡战略。作者还解释了如何在业务和工程项目上而不仅仅是在软件开发上进行合作博弈。 作者系统地演示了敏捷模型,展示了敏捷模型的演进,并且回答了开发人员和项目经理常提出的问题,其中包括: ■ 哪些地方适合敏捷开发? ■ 如何将敏捷观念与其他观念融合在一起? ■ 如何对敏捷观念进行扩展? 书中呈现了造成很多敏捷项目失败的至关重要的错误概念。例如,将项目管理策略
本书是中国条码推进工程全国高校“条码技术与应用”课程的指定教材。 在前一版的基础上,参考了现行修订的国家标准,吸收了广大高校教师和学生的意见,做了调整和修改,除原有商品条码、EAN·UCC系统、二维条码、条码识读、条码符号生成与印制、条码检测以及条码应用系统设计等内容外,还增加了科码技术在中国的发展历史、我国具有自主知识产权的二维条码、条码应用案例等内容。同时每章后面增加了思考题,便于自学。 本书作为高校教材,适用于物流管理、物流工程、工商管理、企业管理、国际贸易等经济管理类专业,计算机、通信、物理、机械等技术类专业和电子商务、电子政务等综合类新建专业的本科生和研究生。本书也可作为在职人员的培训教材和工具书,适用于科研、开发、销售、应用、管理等不同层面人士的需要。
《Git版本控制(第2版影印版)》:快来使用Git吧,它可以帮助你跟踪、分支、合并和管理代码版本。通过一系列手把手的讲解,这本实用指南将让你快速了解Git的基础知识和高级技术,它还提供了友好但又严密的建议来帮助你探索这个开源版本控制系统的诸多功能。 这个彻底修订过的版本还包括了操纵版本树、reflog与stash扩展应用的技巧以及针对GitHub资源库的完整介绍。一旦你理解如何利用Git系统的灵活性,你就可以以近乎无限种的方式来管理代码开发。 《Git版本控制(第2版影印版)》的作者是罗力格、麦克库罗。
在实践中应该如何进行软件工程?如何开发现今的企业级应用?本书用大量实例给出了答案。 本书讨论了如何将理论与行业实践联系起来,即集中精力进行系统设计和实现以及着手解决重要的实践问题。书中以一个主要的案例研究和两个小型的案例研究 (经过改编以适应教学的需要) 为中心展开叙述,提供了针对大型系统开发的软件工程,全面论述了开发生命周期、建模语言、工程工具、项目规划以及过程管理。通过主要案例研究的三次迭代,说明了迭代和增量式开发的概念。 本书特点 ●强调面向对象的建模和程序设计。 ●针对需求分析和详细设计,广泛使用UML和模式。 ●认识到数据库和数据工程在软件工程中的重要性。 ●解释组件和业务对象。 ●覆盖多层解决方案 (包括GUI和Web客户) ,通过Web和应用服务器扩展到数据库。 ●
本书是计算机科学导论课程的一本经典教材,全书对计算机科学做了精彩的百科全书式的全面阐述,全景式地展现了计算机科学的发展历程、现状及其新的技术发展趋势。 本书首先介绍的是信息编码及计算机体系结构的基本原理(第1章和第2章);进而是操作系统(第3章)和计算机网络(第4章)的内容,接着探讨了算法、程序设计语言及软件开发(第5章~第7章),然后探索了数据结构和数据库(第8章和第9章)方面的问题,第10章通过图形讲述计算机技术的主要应用,第11章涉及人工智能,第12章阐述了计算机抽象理论。 本书在内容编排上遵循由具体到抽象推进这样一种很利于教学的顺序,每一个主题自然而然地引导出下一个主题。此外,书中还有大量的图、表和实例,增强了读者对知识的了解与把握。 本书既适合作为高等院校计算机以及相关
本书分为四部分: 章进行分类并且提供了概念性的总榄。在这部分中,讨论了成功的战略性信息管理的要求并且概术了重要的概念性设计——数据仓库、OLAP和平衡计分卡管理方法。 本书第二部分提供SAP BW的概述。 第二章基于一个SAP BW中获利能力分析应用的实施指南,提供了SAP BW的体系结构和功能的概述。 第三章考察了在SAP BW中建立一个应用所需的所有步骤:SAPR/3中的抽取,从SAP R/3中的抽取,从SAP R/3和接口文件中检索数据,数据建模和网页报表。第四章和第五章考察了数据建模和数据检索方面的问题。第四章展示了从列导向的信息源到以帐户导向的数据立方体的建模和转化。第五章阐述了SAP产品层次在数据建模、数据检索和报表中的合理映射。第六章到第八章阐述报表工具。第六章解释了业务浏览器—查询设计器(特别是其操作、基本功能和在SAP BW 3
本书覆盖面广、内容丰富,几乎囊括了基础工程的方方面面,从一般性原理到浅基础和深基础,从特殊土地基到支挡结构,不但前后逻辑严密,而且每一个问题的概念都讲得非常清晰又很有深度。 难能可贵的是,书中既充分考虑了基础工程设计过程中岩土、结构和施工各专业学科的特点,又充分讲解了它们之间的相关性。无论在第二部分的浅基础中,还是第三部分的深基础中,无不体现了岩土和结构有机的统一。 与国内相关教材不同的是,本教材应用了大量的例题,非常有助于学生对原理的理解,并且在每一章的末尾设计了大量的课后作业、思考题,很多思考题与工程实践密切相关。本书对深基础(桩基)的讲解很透彻,不少内容和分析方法在国内教材和专著中都是少见的。 总之,本教材具有良好的系统性、显著的先进性和较高的权威性,是一本典型
《学习Java(影印版上下第4版)》由尼麦耶、洛 伊克所著,如果你是Java新手,那么这本畅销指南的 第四版将可以为你提供关于Java 6和Java 7中语言特 性和API的贴心介绍。通过引人入胜、与实践结合并 且饶有趣味的示例,作者Patrick Niemeyer和 Daniel Leuck为你介绍了Java的基础内容包括它 的类库、编程技术和习惯用法并且始终以构建实 际应用的眼光来看待。如果你是Java熟手,那么《学 习Java(影印版上下第4版)》将让你快速上手新的并 发工具集以及适用于Web服务和XML的Java API,你将 学到新的强有力的方法来管理应用中的资源和异常。
2004年美国Jolt大奖入围作品。 如果你是个程序员的话,那么你就需要本书。可能导致我们阅读代码的原因是:我们不得不去修复它其中所包含的错误;或是对它进行遍查(inspect);或者是改善它。我们阅读代码的方式可能和工程师检查机械的方式一样——找出它的工作原理。或者我们阅读代码的目的是对代码进行清理——找出其中可以被重用的部分。阅读代码有着它自身的技巧,并需要我们能够在重要场合对采用何种技术有着判断能力。在这本不可或缺的书中,Diomidis Spinellis使用了超过600个来自现实世界中的例子来向我们展示如何鉴别好的(或坏的)代码:如何去阅读它,从中去找寻什么,以及如何利用这种技巧来提升我们自身编写的代码的品质。记住这个事实:如果我们养成了阅读好代码的习惯,我们就能写出更高品质的代码。
图论在计算科学、社会科学和自然科学等各个领域都有广泛应用。本书是本科生或研究生一学期或两学期的图论课程教材。全书力求保持按证明的难度和算法的复杂性循序渐进的风格,使学生能够深入理解书中的内容。书中包括对证明技巧的讨论、1200多道习题、400多幅插图以及许多例题,而且对所有定理都给出了详细完整的证明。虽然本书包括许多算法和应用,但是重点在于理解图论结构和分析图论问题的技巧。