本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——Design Patterns:Elements of Reusable Object-Oriented Software,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及John Vlissides,这四人常被称为Gang of Four,即四人组,简称GoF)总结的23个设计模式。本书共分为29章。其中,、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。本书的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到
本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。本书适合大学计算机专业的学生、研究生及相关人员参考。 本书中涉及的设计模式并不描述新的或未经证实的设计,我们只收录那些在不同系统中多次使用过的成功设计。
《Cucumber:行为驱动开发指南》的两位作者是Matt Wynne和AslakHelles?y,前者是Cucumber最有经验的用户和贡献者之一,后者是Cucumber的创始人,因此,《Cucumber:行为驱动开发指南》是一本指南,它会提供使用Cucumber所需的知识,让你和你的团队自信地开启Cucumber之旅。尽管Cucumber诞生于Ruby社区,但你可以用它测试几乎所有系统,从简单的shell或Perl脚本,到使用PHP、Java或任何其他平台编写的Web应用。 书中将展示如何用一组清晰、可执行且团队中任何人都能读懂的规格说明来表达用户那些天马行空的想法。你将学会如何将这些示例提供给Cucumber,并让它指导你的开发过程。《Cucumber:行为驱动开发指南》的部分会提供Cucumber入门所需的知识,引导你从Cucumber的核心特性起步,通过Cucumber的GherkinDSL,使用自然语言来描述客户想要的系统行为,然后带你编写Ruby代码来解释这些自
对于近期新的Python 3.4和2.7而言,本指南是完美的实战快速参考。你从中将会学习有关Python类型和语句、特殊方法名、内建函数与异常、常用的标准库模块及其他很好的Pvthon工具。 由Mark Lutz(卢茨)这位认可为靠前的Python编写的《Python袖珍指南(第5版)》,是仍由Mark编写的经典Python教程(《Learning Python》和《Programming Python》,O'Reilly出版)的理想助手。 第五版涵盖内容:内建对象类型,包括数字、列表、字典等更多内容。创建和处理对象的语句和语法。结构化和重用代码所用的函数与模块。Python面向对象的编程工具。内建函数、异常和属性。专有运算符重载方法。广泛应用的标准库模块和扩展。命令行选项与开发工具。Python的习语与提示。Python的SQL数据库API。
Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。本书解释重构的原理(principles)和实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。本书所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口。
软件工程是软件研发与维护的工程方法学。本书较好地体现了软件工程的实用性,有较完整的软件工程知识体系,有对工程概念、规则的生动说明,有与工程实践相适应的基于软件生存周期的内容编排,有基于案例的工程方法应用。全书共三个部分16章内容。部分工程基础含两章内容,是对软件工程概念方法、软件工程项目管理的常识性介绍;第二部分工程过程含7章内容,涉及软件工程过程模式,并以软件生存周期为线索,对软件研发全过程进行了说明;第三部分工程方法含7章内容,有基于案例的工程方法说明,涉及主流的结构化工程方法、面向对象工程方法、数据库工程方法,并介绍了敏捷工程等一些非主流方法,第16章则是一个较完整的面向对象工程案例,基于UML建模,并已通过C++、java进行工程创建。本书语言精简、通俗易懂、便于自学,而且教学资源较
本书按照电气项目的设计流程和特点,讲述了EPLAN Electric P8电气CAE绘图及管理软件的主要功能和特点。内容上既描述了广大电气工程师所习惯的“面向图形的设计方法”,又强调了现代工程所推崇的“面向对象的设计方法”。本书从电气项目的规划入手,介绍了项目结构分析和定义,项目创建,原理图和其他类型图纸绘制,符号的插入和元器件的选型,自动化系统常用的PLC设计,项目逻辑错误的检查,自动生成项目所需的各类工程报表,以及便于主数据和标准化管理的宏项目。这些内容的介绍能引导读者清晰地理解EPLAN Electric P8软件的设计思想,数据结构,功能和特性;能教会读者应用先进的电气工程设计理念和方法,快速设计原理图,生成表格文件,管理工程项目;能让读者快速掌握应用软件的技能和技巧,少走弯路,减少设计时间,从而提高生产力。 本教程结
计算广告是一项新兴的研究课题,它涉及大规模搜索和文本分析、信息获取、统计模型、机器学习、分类、优化以及微观经济学等诸多领域的知识。本书从实践出发,系统地介绍计算广告的产品、问题、系统和算法,并且从工业界的视角对这一领域具体技术的深入剖析。 《计算广告:互联网商业变现的市场与技术》立足于广告市场的根本问题,从计算广告各个阶段所遇到的市场挑战出发,以广告系统业务形态的需求和变化为主线,依次介绍合约广告系统、竞价广告系统、程序化交易市场等重要课题,并对计算广告涉及的关键技术和算法做深入的探讨。 无论是互联网公司商业化部门的产品技术人员,还是对个性化系统、大数据变现或交易有兴趣的产品技术人员,传统企业互联网化进程的决策者,传统广告业务的从业者,互联网创业者,计算机相关专业研究
本书作者具有丰富的分布式服务框架、平台中间件的架构设计和实践经验,主导设计的华为分布式服务框架已经在全球数十个国家成功商用。书中依托工作实践,从分布式服务框架的架构设计原理到实践经验总结,涵盖了服务化架构演进、订阅发布、路由策略、集群容错和服务治理等多个专题,全方位剖析服务框架的设计原则和原理,结合大量实践案例与读者分享作者对分布式服务框架设计和运维的体会。同时,对基于Docker部署微服务以及基于微服务架构开发、部署和运维业务系统进行了详细介绍。
本书提供了解决国内小型IT企业发展的过程中会遇到的项目管理问题的若干方法。本书形式活泼,内容独特,主要以作者自身多年工作的宝贵经验,来谈软件公司的项目管理和团队建设,主要包括对中小软件公司软件开发组织结构、团队文化、软件过程管理、团队激励、绩效考核、职业发展规划、未来业界发展趋势、个人素质提升等,具有极强的现实指导意义。 本书主要读者对象是IT企业的研发主管、项目经理和软件开人中同,以及即将到IT企业工作的高校毕业生。
《Paxos到Zookeeper 分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper。全书共8章,分为五部分:前一部分(章)主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID、CAP和BASE等经典分布式理论;第二部分(第2~4章)介绍了2PC、3PC和Paxos三种分布式一致性协议,并着重讲解了ZooKeeper中使用的一致性协议——ZAB协议;第三部分(第5~6章)介绍了ZooKeeper的使用方法,包括客户端API的使用以及对ZooKeeper服务的部署与运
"本书从软件与三维实物的本质性不同出发研究软件生产方法论。今天,软件生产中许多传统问题并没有得到质的改善,以“爆炸”形容的技术发展的实质究竟是什么?先进管理模式下的管理现状如何?本书首先深入分析以上问题,指出软件的本质及其至今不能实现工业化生产的内在原因;接着,从软件设计,测试与管理三个方面,系统地介绍了作者多年实践中总结出来的有效实用方法;从软件本质出发,提出了全新的先进软件生产模式与方法——代码驱动生产(Code Driving Production),并指出这将是适合软件本质的新途径。 "本书适合于从事软件工程研究的科研人员、管理人员与设计人员阅读,也可作为高等学校与计算机相关专业师生的教学参考读物。
1-9章为金融学基础指标计算模块;10-12章为股票定价模块;13-18章为风险度量模块;19-23章为固定收益定价模块。每一模块的内容一般由三部分组成:金融理论与模型、算法实现及计算程序。其中,算法实现与计算程序全部以中国金融市场的实际问题为应用背景而设计。本书不仅展现了应用SAS软件的技术,同时也会使读者对相关的金融专题有一个的了解,以使读者的知识水平在金融理论、实务和统计模型的基础上,更深入到如何实现和应用。 本书以解决金融研究和实际问题为出发点,并不仅仅以教学为目的,给出的许多算法和实现程序具有很高的应用和参考价值;每章的计算程序精心设计,思路清晰,许多语句都加上了注释,为阅读和理解本书内容提供了可靠的保证。本书为读者在今后学习和实际工作提供了大量的可参考程序,并可以作为有关SAS编程技术和金融
本书主要讲解大容量Web性能测试的特点和方法, 以及使用业内应用非常广泛的工具——LoadRunner 9进行性能测试的具体技术与技巧。 本书共17章,分为5篇。篇介绍软件测试的定义、方法和过程等内容:第2篇介绍Web应用、Web性能测试的分类、基本硬件知识、Web应用服务器选型、各操作系统性能计数器的获取等内容:第3篇介绍如何使用LoadRunner进行Web应用性能测试,包括LoadRunner基础、编写测试计划、配置测试环境、LoadRunner中的场景、监控图表与函数、执行场景和分析结果等:第4篇介绍通用性能测试结果分析及其他性能测试工具;第5篇介绍大容量Web应用性能测试实战案例及Web性能优化等内容。 本书理论结合实践,讲解图文并茂,并且将汀技术与生活场景结合起来,生动而又形象。另外,为了让读者更加直观、高效地学习,作者专门录制了大量多媒体教学视频。这
本书根据作者长年项目开发与工程验收等丰富的实践经验,以一个现实的电子政务基础平台系统的案例为线索,重点讲解了软件测试的理论、 实践、管理知识,深入剖析和探讨了各种测试类型和不同阶段比较成熟的技术以及测试方法;全书包括单元测试、功能测试、网络测试、性能测试 、集成测试、系统测试、验收测试、Web测试、自动化测试、面向对象测试等内容。 本书面向软件测试的实际应用,从组建测试队伍,剖析各阶段的测试内容到通过实例讲解测试用例的组织、设计以及测试文档的编写、测试项 目的管理。内容化繁为简,将抽象理论知识转化为可触摸的实际操作,达到更好地理解和消化理论的目的。 全书内容实用,讲述浅显易懂,既可作为高等院校软件测试课程的教材,也可作为软件测试人员的自学用书。对于那些希望强化软件测试技术 的程序员、
基于Bootstrap 3.0撰写 五大应用实例,全面掌握Bootstrap使用技巧 学会重编辑LESS文件和使用Bootstrap的JS插件 Bootstrap是前端开发中应用非常广泛的一个框架,最早是Twitter公司内部的一个工具,开源之后迅速得到了各方的认可。《Bootstrap实战》基于的Bootstrap 3撰写,在简单介绍了安装与配置之后就直奔主题,分别讨论了个人作品站点、WordPress主题、企业网站、电子商务网站和单页营销网站等几个代表性的应用案例,结合这些案例细致地剖析了Bootstrap还有LESS的使用方式和技巧。 《Bootstrap实战》适合所有前端开发人员及个人网站设计者阅读参考。
本书主要讲解在.NET环境下编写轻量级软件测试自动化程序的实用技术。全书内容由Windows UI测试、Web应用程序测试和存储过程及XML测试三部分组成,全面介绍了如何利用.NET平台提供的一系列技术(而不是依赖于第三方的商业自动化测试工具),采用C#语言编写轻量级的、功能强大的自动化测试程序。本书各个章节所提供的示例代码适用于单元测试(Unit Test)、集成测试(Integration Test)等软件开发过程中的各个测试环节。本书适合于所有在.NET平台上从事应用程序开发的程序员、测试人员以及自动化测试工具开发人员。
通过随随便便的集成和发布就想获得软件产品成功的人简直是妄想!本书向你提供了通往产品发布成功之路各阶段的“实践”;源码控制、产品创建、产品测试、缺陷跟踪、代码集成、软件变更管理、发布工程。无论您的项目或软件开发小组的规模有多大(或多小),你都会发现,本书作者精心设计的实用解决方案能帮助你提高软件质量、降低软件成本、并使软件迅速占领市场! 本书集中讨论了下列内容:为什么产品创建如此困难,使问题能够迎刃而解,如何在硬媒体、软媒体和网络媒体上对软件发布进行管理;如何杜绝在媒体管理上出现问题,发布版本号的编制、编号和命名,设置客户的期望并避免混淆,如何自始至终地对软件开发过程的管理进行变更控制;建立发布管理和服务的组织化解决方案。 在本书中,Michael E.Bays 先生提出了从未公开出版过的专家
《》适用于学习交互设计,并准备从事产品或服务设计工作的人。本书旨在介绍一种思考方法,从而使你的设计不再仅仅依靠创造力,通过对多种因素的综合考量,创造一种良好的用户体验,使你的工作更加有效,物有所值。 交互设计中的用户体验设计,简写为UXD,传达的是“我们理解它要传达的良好用户体验”这一信息。 用户体验设计是用户体验(简写为UX)的一个分支,是指一系列用于人的交互行为的设计方法。理解并能运用用户体验设计方法的设计师可以给客户提供一种强有力的竞争优势。由于我们进入到了对大量印刷媒体有动态和交互性需求的时代,所以对用户体验的考虑就变得更加重要。 本书包括5章节、5个实践练习、3个访谈和1个案例研究,它们结合在一起共同阐明了本书的主题,为用户在设计中运用用户体验设计方法提供了必要的基础知识。章让你
本书汇集了以Mesos为核心的新一代数据中心操作系统的很好实践,全面展示了Mesos集群对数据中心资源管理的集成高效性,和对应用部署和计划任务创建扩容操作的便捷性的优点。 基于Apache Mesos开源项目和Mesosphere公司的开创性工作,作者由浅到深地介绍了Mesos数据中心操作系统下各个相关组件和主流的计算框架,主要内容包括:1.构建你的靠前个Mesos集群:Mesos+Docker+Zookeeper2.管理Mesos集群:任务调度,资源管理以及日志3.使用主流计算框架部署容器化应用:Mesosphere公司的Marathon+Chronos以及Apache Aurora4.以python为例,自开发计算框架在每个部分,Roger Ignazio都给出了:关键原理及组件组成、安装部署过程、注意事项、日志和诊断方法等很好实践,并结合相关实例、研究成果和附加资源进行阐述。每个部分的内容组织都着力于条理清晰的、系统的展现Mesos集群的优点。作者对
本书是QTP(Quick Test Professional)自动化测试从理论升华到实践的指导类书籍。本书由浅入深,从QTP的常用功能介绍到实际项目中的具体应用,以发散性的思维介绍国内外对于QTP的新思路与新应用。本书介绍了几个典型的QTP使用技巧,并通过两个经典的QTP自动化测试框架来示范实际项目解决方案的建立,以供读者参考借鉴。 本书是笔者自动化测试多年工作经验的总结。初级自动化测试工程师可通过本书进一步提升业务水平;中自动化测试工程师可通过本书拓展思路;对于正在实施自动化测试的软件公司更具极高的参考价值。
架构是设计一切系统的基础和核心。随着用户需求的变化及技术的发展,我们身边各式各样的系统也日趋复杂。如何在万象中剥离繁华,提炼事物的本质和精髓, 系统架构 正是化繁为简、打通两极世界的一门艺术。 架构之美,在于和谐。本套 架构之美 系列丛书,以期从业务梳理、流程建模、软件架构、设计模式等方面进行系统、全面地介绍。强调理论与实践相结合,国外发展趋势与国内本地应用相结合,打造华人精品书籍,给国内读者提供真正有指导意义的美食大餐。 《架构之美:软件架构的艺术》聚焦于软件架构行业,全面介绍软件应用系统架构的基本原理、方法以及经典的实践经验。把握共同的规律,预知未来的发展,选择的路径,尽可能减少成长的烦恼,并保持成熟的稳定,让企业充分享受属于架构整个生命阶段的华彩!