编写更好的软件: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
《经典原版书库》系列丛书是响应*提出的使用原版国外教材的号召,为国内高校的计算机教学度身打造的。在广泛地征求并听取丛书的“专家指导委员会”的意见后,终选定了30多种篇幅内容适度、讲解鞭辟入里的教材,其中的大部分已经被M.I.T、Stanford、U.C.Berkley、C.M.U.等世界名牌大学采用。丛书不仅涵盖了程序设计、数据结构、操作系统、计算机体系结构、数据库、编译原理、软件工程、图形学、通信与网络、离散数学等国内大学计算机专业普遍开设的核心课程,而且各具特色——有的出自语言设计者之手、有的历三十年而不衰,有的已被全世界的几百所高校采用。在这些圆熟通博的名师大作的指引之下,读者必将在计算机科学的宫殿中由登堂而入室。 本书是其中一册。
本书由计算机理论领域的知名权威Michaael Sipser所撰写。他以独特的视角,系统地介绍了计算机理论的三个主要内容:自动机与语言、可计算性理论和计算复杂性理论。约大部分内容是基本的,同时对可计算性和计算复杂性理论中的某些高级内容进行了重点介绍。作者以清新的笔触、生动的语言给出了宽泛的数学原理,而没有拘泥于某些低层次的细节。在证明之前,均有“证明思路”,帮助读者理解数学形式下涵的概念。同样,对于算法描述,均以直观的文字而非伪代码给出,从而将注意力集中于算法本身,而不是某些模型。新版根据多年来使用本书的教师和学生的建议进行了改进,并对课堂测试题进行了全面的更新,每章末均有样例解答。 本书可作为计算机专业高年级本科生和研究生的教材,也可作为教师和研究人员的参考书。
这是一本介绍C语言编程的经典教科书。作者从不同的角度出发,全面介绍了C编程中涉及到的数据类型、算术运算、逻辑运算、变量、条件语句、函数、数组、指针、字符串、结构、文件操作、位操作、宏、库函数等基本内容,使读者在学习之后就能很快掌握C编程的精髓。本书还专门介绍了C++的一些重要特性,如抽象数据类型、类和类的继承等。本书还介绍了Visual C++ 6.0和C++ Builder的使用方法,并且每章都附有大量习题,附录还列出了主要习题的答案。 本书条块清晰,章节设置合理,适合用做高等学校本科或专科教材,也适合于初学编程的瞬息自学者。
是否有兴趣开发嵌入式系统?这些系统无法容忍低下的效率,它们需要遵循严格的方式进行编程。《嵌入式系统开发(影印版)》这本易于阅读的指南通过经典的软件设计模式和嵌入式编程的全新模式来帮助你培养许多良好的开发习惯。你会学习到如何为处理器而不是操作系统来搭建系统架构,并且了解到处理硬件问题和制造工艺所需的特殊技术。这本书的作者创建过各种各样的嵌入式系统,从城市监控和DNA扫描仪到儿童玩具。本书适合于中等和有经验的编程人员,无论你使用的是什么平台。本书由怀特(White,E.)著。
新一波产品浪潮专注于帮助人们改变其行为和日 常生活,无论是 更多的锻炼(Jawbone Up)、管理财务(Hellowallet) 还是组织邮 件(Mailbox)。温德尔编著的《行为变化设计(影印版 )》这本实用指南将为你展示如何为那些力图采取行 动并达成目标的用户设计这些类型的产品。 Stephen wendel是HelloWallet的首席研究员, 他将带领你一步步地 把行为经济学和心理学应用到产品设计和开发的实际 问题中去。 你将学习到一种简单的迭代方法来确定目标用户及其 行为、构建 产品和评估效果。同时你也会了解到如何创建易用的 产品来帮助 人们作出积极的改变。
如果你想使用JavaScript来利用当今强大的浏览器,《学习JavaScript》为这个Web开发中奇妙且不可缺少的语言提供了完整而实际的指导。你将会学习从原始数据类型到复杂特性的所有内容,包括与Ajax和动态页面效果有关的JavaScript元素。学完这本书,你将能够使用复杂的程序库和Web应用程序。 第二版中包括了许多JavaScript运用中的*实践和范例,展示了如何将语言和浏览器环境整合,以及如何为符合标准的Web站点实践准确的编码技术。 有了这本书,你将能够: 学习JavaScript应用程序结构,包括基本语句和控制结构; 识别JavaScript对象:String、Number、Boolean、Function等; 使用浏览器调试工具和故障检测技术; 理解事件处理、表单事件和带有表单的JavaScript应用程序; 使用浏览器对象模型(BOM)、文档对象模型(DOM)和自定义对象进行开发;
MongoDB如何帮你管理通过web应用收集的海量数据呢?《MongoDB权威指南(影印版第2版)》由项目的核心人员霍多罗夫(Kristina Chodorow)编写,为你展示了使用基于文档的数据库的诸多优势,并且演示了这种可靠的、高性能的系统是如何允许接近无限的水平扩展性。 《MongoDB权威指南(影印版第2版)》为数据库开发人员提供了指南,为系统管理员提供了高级配置向导,也为你的项目中的其他人员提供了概念和用例的概览。这本指南适合于NoSQL的初学者和有经验的MongoDB 用户,它提供了多种现实世界的模式设计样例。
本书的目的是让学生在进入大学校门的时候,就对计算机有一个深入理解,为以后的课程打下坚实的基础。 本书包括两方面的内容:计算机底层结构;高级语言编程及编程方法学。书中阐述了LC-3 体系结构的设计,并配套开发了LC-3模拟器供学生使用。为加深学生对编程及其方法学的理解,本书选用了C语言来进行讲解。本书采用了“驱动式”的自底向上方法,即先给学生一个整体结构,然后自底向上地建立起相关的知识。同样,在每个单元中,也采用相同的驱动式教学方法。在每个学习阶段,都基于之前已学的知识介绍新的概念。经验告诉我们,这种学习方法更多地强调理解而不是记忆。通过本书的学习,学生的理解能力将获得很大的提高,因为他们循序渐进地了解了构建计算机的全部过程。 本书特色: 自底向上的组织:从底层的MOS晶体管开关器件开始,
图论在计算科学、社会科学和自然科学等各个领域都有广泛应用。本书是本科生或研究生一学期或两学期的图论课程教材。全书力求保持按证明的难度和算法的复杂性循序渐进的风格,使学生能够深入理解书中的内容。书中包括对证明技巧的讨论、1200多道习题、400多幅插图以及许多例题,而且对所有定理都给出了详细完整的证明。虽然本书包括许多算法和应用,但是重点在于理解图论结构和分析图论问题的技巧。
本书以丰富的实例、完全图解的形式、详细而清晰的步骤介绍数码相片的美化、合成、艺术效果创作、个性作品设计以及相片拍摄和输出等内容,涵盖了数码相片处理的各个方面。为方便读者本书附带两张光盘,一张附带所有案例文件和素材模板,一张是多媒体教学光盘。 本书案例典型、效果精美、讲解清楚,适合相片理的初学者。
Quality-of-Service (QoS) is normally used to describe thenon-functional characteristics of Web services and as a criterionfor evaluating different Web services. QoS Management of WebServices presents a new distributed QoS evaluation framework forthese services. Moreover, three QoS prediction methods and twomethods for creating fault-tolerant Web services are also proposedin this book. It not only provides the latest research results, butalso presents an excellent overview of QoS management of Websciences, making it a valuable resource for researchers andgraduate students in service computing. Zibin Zheng is an associateresearch fellow at the Shenzhen Research Institute, The ChineseUniversity of Hong Kong, China. Professor Michael R. Lyu also worksat the same institute.
密码学涉及解决通信保密问题的计算系统的概念、定义及构造。密码系统的设计必须基于坚实的基础。本书对这一基本问题给出了系统而严格的论述:用已有工具来定义密码的目标并解决新的密码学问题。全书集中讨论了基本的数学工具:计算困难性、伪*性以及零知识证明等。本书的重点是澄清基本概念及证明密码学问题解决方法的可行性。而不侧重于对特殊方法的描述。
让测试驱动开发(TDD)为你工作! 本书将使开发人员编写的软件更简单、更干净、更可靠……一句话:更优秀! 这本TDD的指南重点关注真实的项目、真实的开发人员、真实的实现问题以及真实的代码! 著名的敏感捷开发专家David Astels通过使用Java和JUnit测试框架从头开始创建了一个项目,向你展示了TDD的精妙之处。你将深刻理解什么是“测试为先”、它的工作机理、其中的困难以及如何将TDD的诺言付诸实践。 ·*实用性!书中遍布了可下载的示例代码、练习题以及网上资源链接 ·介绍强大的TDD工具和技术——包括关键的JUnit扩展,相关内容由它们的创建者(Scott Ambler、Time Bacon、Mike Bowler、Mike Clark、Bryan Dollery、James Newkirk、Bob Payne、Kay Pentacost和Jens Uwe Pipka)撰写
本书介绍操作系统的实践和应用。读者对象是使用(而非设计)计算机,操作系统和网络的人员。只要求读者有适当的计算机基本概念,不要求有高深的数学知识和编程经验。与以前几个版本相比,新版除在文字和内容上作了修改外,增加了不少新的内容,如:Windows 2000,Intel奔腾处理机体系结构,C/S网络结构,Novell Netware,Internet,UNIX/Linux等。因此全书内容更和富,更加实用。全书共分5个部分:I.复习基本计算机概念,起到填平补齐的作用;II.介绍操作系统的基本主要概念;III.用户和程序员与操作系统的通信,主要讨论用户接口、命令语言或作业控制语言,结合各种具体的操作系统讲解MS-DOS,Windows 200O,UNIX/Linux,IBM的MVS/JCL等;IV.结合机器内部,进一步讨论上述各种操作系统;V.讨论网络,网络操作系统,包括C/S网络操作系统,Novell Netware, Windows 2000服务
什么因素能够使得软件项目成功?光有一个好主意或者一组天才的程序员是远远不够的。一个项目经理需要知道如何带领团队完成整个软件项目。有一些普遍存在的陷阱对所有软件项目都造成了负面影响,而有些反复出现的低级错误有时竟然在同一个项目里一再发生。要避免这些错误并不难,也不必依靠因人而异的先天素质。幸运的是,的确存在一些历经检验的真实技巧能够帮助每一个项目经理。 在《实用软件项目管理》一书中,Andrew Stellman和Jennifer Greene提供了各种工具、技巧和实践方法,这些东西你都可以马上应用到项目中去。本书包含了用来检查你的团队现状的信息,并且提供了实用的建议来帮助你实现构建更好软件的目标。 书中的主题包括:制订软件项目计划,帮助团队预估工作量,设定项目进度表,搜集软件需求并创建用例,通过重构、单元测试
本书介绍了人工智能领域中重要的一个概念——智能代理。本书从基本的反应式代理入手,逐步向人们展示了现代人工智能不断增强的认知能力,同时也例证了该领域中重要且经久不衰的思维、思想。神经网络、遗传程序设计、计算机视觉、探视搜索、知识表示和推理、贝叶斯网络、规划和语言理解等有关人工智能的重要内容都通过本书所描述的各种代理的不断增长的能力得以展现。本书作者是人工智能领域的主要开创者和重要带头人,正是他提供给了广大读者一个耳目一新和富有生机的合成技术,该技术将领导人类把整个人工智能领域的研究引向一个新的境界。 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
本书的主要特点: *的特征生成技术,包括基于小波。小波包,分形的特征,还阐述了独立分量分析。 新增了关子支持向量机,变形模板匹配的章节,以及关于约束优化的附录。 特征选择技术。 线性以及非线性分类器的设计,包括贝叶斯分类器、多层感知器,决策树和RBF网络。 独立于上下文的分类,包括动态规划和隐马尔科夫建模技术。 不仅介绍了聚类算法的*发展,而且还介绍了一些经典方法,诸如模糊。基因、退火等算法技术。 各种应用,包括图像分析。字符识别,医学诊断。语音识别以及信道均衡。
本书遵照系统开发生命期(SDLC)的逻辑顺序,详细而清晰地介绍了系统分析与设计的概念、原理、技能和方法。全书有10章和两个附录,先后介绍了系统开发环境、信息项目管理、系统规划和选择、系统需求确定、系统需求结构化(过程建模和概念数据建模)、选择*设计策略、人机界面设计、数据库设计、系统实现和运行、面向对象分析设计、快速应用开发等。 本书可作为系统分析与设计课程的入门教材,供计算机和信息专业本科生使用,也可供IS从业人员参考。
本书是国际知名软件开发专家Alistair Cockburn通过采访项目开发组和总结自己20多年的开发和管理经验,撰写的一本介绍软件开发新思想——敏捷软件开发方法学的著作。 本书从更新软件开发就是“创造和沟通的合作博弈”这一强大的模型开始。在这些新观念之中,Cockburn引入了:利用竞争产生动力而不破坏合作,从精益制造中学习教训以及为了沟通而平衡战略。作者还解释了如何在业务和工程项目上而不仅仅是在软件开发上进行合作博弈。 作者系统地演示了敏捷模型,展示了敏捷模型的演进,并且回答了开发人员和项目经理常提出的问题,其中包括: ■ 哪些地方适合敏捷开发? ■ 如何将敏捷观念与其他观念融合在一起? ■ 如何对敏捷观念进行扩展? 书中呈现了造成很多敏捷项目失败的至关重要的错误概念。例如,将项目管理策略
有关数据结构的教材很多,而本书是一本非常有特点的教材,每章先简要介绍本章的主要内容,给出基本的知识背景,然后使用大量的示例、表格、插图和流程图来阐述各种概念和知识,方便了读者的理解,同时给出了大量的源代码,帮助读者实现实际的数据结构,每章后面提供了复习题、多项选择题和编程练习题,有助于读者巩固所学知识的理解,是一本非常理想的数据结构教材。 每章先简要介绍本章的主要内容,给出基本的知识背景。 使用了大量的已求解示例、表格、插图和流程图,大大方便了读者的理解。 给出了大量的源代码,帮助读者实现实际的数据结构,从而提供程序的可靠性。 每章后面提供了复习题、多项选择题和编程练习题,有助于巩固所学知识的理解。 通过概念和编程示例来阐述每种数据结构的应用。
如果你选择r语言用于统计计算和数据可视化,那么《r语言技术手册(第2版)(影印版)》将可以为你提供开源r语言及其软件环境的快速实用指南。你将学习如何编写r函数和使用r包来帮助你准备、可视化和分析数据。本书作者joseph adler讲解了来自医药、商业和体育方面大量实例的处理过程。 本次第二版更新基于r语言2.14和2.15版本,包括了这样一些新的扩展章节:r性能、ggplot2数据可视化包和基于hadoop的并行r计算。 通过r教程和数以百计的实例来快速上手 探讨r语法、对象和其他语言细节 查找数以千计的由用户贡献的在线r包,包括bioconductor 学习如何使用r语言来为分析准备数据 使用r语言的graphics,lattice和ggplot2包可视化你的数据 使用r语言来计算统计汇总、拟合模型和计算概率 通过编写基于hadoop的并行r程序来加速集约计算 获
《更快速网站(影印版)》内容简介:对于任何成功的网站来说,性能是至关重要的。但伴随着不断增长的丰富内容和Ajax的过度使用,如今的Web应用已经将浏览器推至性能极限。在《更快速网站(影印版)》中,Google的Web性能专家和前任雅虎首席网站性能官Steve Souders提供了宝贵的技术,来帮助你优化网站性能。 作者的上一《更快速网站(影印版)》是非常畅销的《High Performance Web Sites》,它透露了80%的网页加载时间是花在客户端,使网络开发世界为之震惊。在《更快速网站(影印版)》中,Souders和8位专家撰稿人提供了*实践和实用建议,用于在三个范畴提高网站的性能: JavaScript——获取用于了解Ajax性能的建议,编写有效的JavaScript,创建响应程序,加载脚本时不阻止其他组件等等。 Network——学习穿过多个域共享资源,减小图片尺寸而不损失质量,以及使用分块编码(chunked e
本书对计算机科学这一学科进行了全面的介绍,内容包含广泛,并具有清晰的解释、是“计算机科学导论”课的*教材。本书的特点之处在于,它对每个主题的讨论都不只是针对具体的编程语言。而且,通过对计算机科学过去的发展、现状以及研究方向的讨论,来展示计算机科学的各种知识。本书还给出了有关编程语言、操作系统、算法、软件工程、网络互连、数据库设计、人工智能以及计算机体系结构的大量真实图片。
本书反映了Java技术的*发展,针对Java2SDK 1.3平台进行了更新,同时也适用于以前的1.2和1.1版本。书中清晰地解释了对象、类以及数据结构等基本概念,介绍了面向对象编程、applet构造。用户界面设计、异常、I/O和线程等主题。为帮助初学者避免许多常见错误,附录A给出了编程问题及其解决方案。每章后面的“小结”是本版新增的。另外,还新增了“问题与练习”小节,有助于读者实践所学内容。