本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。第1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。第2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书从哲学高度和底层逻辑视角剖析了中国ToB行业过去30年沉积下来的弊病和面临的各种困局,作者基于自己在ToB行业深耕10余年后的丰富实践、深度洞察和系统思考,为中国ToB行业的发展给出了破局之法,助力中国ToB企业破茧化蝶,构建服务全球的产业体系和综合能力。对于中国ToB行业而言,作者的经历独特而难得,他是极少数同时具备深厚的科技和人文素养并真正跨越了ToB软件创业全周期的人,这使得本书同时具备中国视角与全球视角、创业者视角与平台视角、产品视角与产业视角,为中国ToB从业者正确理解行业格局、客户需求、产品经营、市场竞争、发展机会给出了明确的指引。本书将解开中国ToB领域企业家和创业者的困惑,激发他们重新思考自己的核心竞争力,走出泥潭、摆脱逆境,走向世界的大舞台。具体内容方面,全书分为上下两篇:上篇以理论分析为
本书是AB实验领域的标准化著作,它将带领你快速理解AB实验原理、掌握AB实验方法、搭建AB实验平台、塑造基于数据和实验的企业文化,高效开展AB实验、实现用AB实验驱动增长。 作者是某BAT大厂的数据科学家,在数据产品、AB实验等数据科学领域有10余年经验,亲自主导了该厂AB实验平台的搭建和AB实验产品的设计与分析,积累了丰富的经验。 学习本书,你将收获以下知识和技能: AB实验的基础知识、关键问题及其挑战; AB实验的统计学知识、参与单元、随机分流; AB实验的SRM问题、灵敏度、长期影响; AB实验的产品指标体系、评估指标体系; AB实验的平台建设、组织和文化建设; AB实验的增长实践和解决方案; AB实验的难点和局限性; 因果分析方法和用户调查分析方法 本书内容具有以下3个特点: (1)全面系统、主次分明:如上所述,本书涵盖AB实验
本书以一个Kubernetes工程师的视角,全面系统地介绍Kubernetes常见的知识点、企业应用实践及运维管理方法。本书共分18章,第1、2章介绍如何快速搭建高可用的Kubernetes集群;第3~7章介绍Docker的基础和镜像的制作优化,以及Kubernetes的基础概念(Master、Node和Pod)、核心调度资源(Deployment、StatefulSet、DaemonSet、CronJob)、服务发布(Service和Ingress)和配置管理(ConfigMap和Secret)。第8~11章主要介绍Kubernetes的持久化存储、动态存储、CSI、高级调度(容忍、污点和亲和力)、服务质量、权限管理、Kubernetes资源配额管理。第12、13章主要介绍云原生存储、中间件容器化、Operator和Helm的使用。第14~16章主要介绍针对Kubernetes的日志收集(EFK)、监控告警(Prometheus和Grafana)、生产级服务发布Ingress的使用。第17章主要介绍基于Kubernetes、Jenkins、Harbor、GitLab等工具建设生产级的DevOps平台
本书着重讨论以下核心内容,并层层递进,逐步深入。 首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。 其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。 后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
这是一本讲解如何基于三项核心技能(编写和编辑HTML、使用CSS控制页面设计、创建高效的Web布局)设计、构建和部署现代网站的实战性手册。?通过阅读本书,你将学习:?为网站添加高级样式CSS Flexbox和CSS Grid?安装和配置静态站点生成器Jekyll?模板系统和编程语言入门?掌握网页设计的关键布局原则?使用自定义URL、电子邮件地址注册和配置自定义域?将简单但实用的网站部署到实时网络上。?本书通过针对性的练习来帮助读者掌握设计、构建和部署现代网站的重点知识,读者无须学习HTML、CSS和网页布局的所有 知识 ,只要跟随本书,便能高效地运用它们来解决实际问题。
本书系统介绍了产品思维方法与实践。全书共15章,分为四篇:产品思维的根本——用户至上、产品思维的核心——价值为王、产品思维的落脚点——产品落地、产品思维实践。每一章都辅以丰富案例,尤其是*后一篇提供了Web产品、App产品和小程序产品的完整案例,帮助读者思考如何在实际工作过程中运用产品思维。 本书理论结合实践,内容深入浅出,有助于读者认识产品思维的本质。本书主要面向产品经理、产品总监、产品设计师、项目经理和需求分析师等读者,也适合高校产品设计相关专业师生作为教材使用。
本书立足实践,以通俗易懂的方式详细介绍深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书的读者只需具备Python语言基础知识,不需要有数学基础或者AI基础,按照本书的内容循序渐进地学习,即可快速上手深度学习。本书配套示例源码、PPT课件、数据集、开发环境与答疑服务。 本书共分13章,主要内容包括人工智能、机器学习和深度学习之间的关系、深度学习的环境搭建、深度学习的原理、深度学习框架TensorFlow和Keras、卷积神经网络相关知识、图像识别、情感分析、迁移学习、人脸识别、图像风格迁移、生成对抗网络等内容。本书从简单的常识出发来切入AI领域,打造平滑和兴奋的学习 体验。 本书作为零基础入门书,既适合希望了解深度学习、使用深度学习框架快速上手的初学者和技术人员阅读,
本书全面、系统地介绍了使用Creo 8.0 进行模具设计的过程、方法和技巧,内容包括软件使用环境的配置、模具设计入门、模具分析与检测、分型面的设计、利用着色和裙边的方法进行分型面设计、型芯设计、滑块设计、斜销设计、破孔修补、一模多穴的模具设计、流道和水线设计、使用体积块法进行模具设计、使用组件法进行模具设计、修改模具设计、模架的结构与设计和模具设计综合范例等。 在内容安排上,本书主要通过大量的模具设计范例对Creo 模具设计的核心技术、方法与技巧进行讲解和说明,这些范例都是实际生产一线工程设计中具有代表性的例子,这样安排能帮助读者较快地进入模具设计实战状态;在写作方式上,本书紧贴软件的实际操作界面,采用软件中真实的对话框、操控板和按钮等进行讲解,从而使读者能够尽快上手,提高学习效率。 本书中所
ANSYS软件是融结构、热、流体、电磁、声学等多物理场于一体的大型通用有限元分析软件,具有多个模块,不但可进行隐式分析,还可进行显式分析,并且可进行多物理场间的复杂耦合分析。 本书以ANSYS2020为平台,对ANSYS热分析和与热相关的耦合场分析的基本思路、操作步骤和应用技巧进行了介绍,并结合工程应用实例讲述了ANSYS的具体使用方法。 本书实例部分采用GUI方式,逐步讲解了操作步骤,在每个实例的后面列出了分析过程的命令流文件。 本书还随书赠送了配套电子资料,其中收录了全书所有实例的APDL程序文件和实例操作过程录屏讲解AVI文件,可以让读者轻松快捷地掌握ANSYS2020热分析的操作技巧和工程应用方法。 本书可供汽车、压力容器、国防 、土木工程、金属热加工等行业的技术人员进行热分析与产品开发使用,也可以作为大学本科生与研究生进行热分
在本书中,Jim仔细地描述了软件方法、方法论和思维方式在他非凡的60年职业生涯中的演变。作为一个多产的作者,Jim从他个人和他一路上遇到的同行的经历,以及这些时期的技术创新和管理趋势的角度,引导我们了解敏捷开发的发展历程。通过阅读本书,读者可以了解敏捷实践如何演变为软件开发的支柱,进而学会持续交付客户价值、促进企业效益以及构建可持续发展的企业。
本书为在现实环境中利用持续架构方法提供了实践指南,并阐明了架构在敏捷、DevOps和云平台时代不断变化的角色。 本书将帮助技术人员更新其架构实践,以应对新的软件挑战。 本书使架构师和软件工程师能够快速应用面向交付的知识。它包括了解决当今软件系统关键质量属性和交叉问题的深入指导,例如安全性、性能、可伸缩性、弹性、数据和新兴技术等。通过一个贯穿全书的案例研究,对每项关键技术都进行了演示,反映了作者应对复杂软件环境的丰富经验。
本书是拥有二十年商业软件开发经验及十年技术管理经验的资深技术专家呕心沥血之作,也是目前市场上少有的阐述如何通过使用领域专用语言(DSL)实现领域驱动设计(DDD)的图书。 书中首先带领读者重温DDD在战术设计层面及战略设计层面上的部分重要概念,并简要介绍了自DDD社区兴起的一些软件架构模式。然后阐述如何设计一门DDD原生的DSL,包括这个DSL的规范支持哪些特性、如何帮助团队描述领域模型的方方面面、这些特性的选择基于何种考量等。 然后在此基础上详细讲解了如何使用技术工具将描述领域模型的DSL文档直接转化为可以工作的软件代码,在这个过程中结合诸多来自商业软件开发工作中的真实案例,展示并分析了大量的关键代码,让读者可以深入地了解制造那些基于DSL的DDD技术工具的秘密。 之后讲述了一些建模案例,并探讨了一些与DDD相
本书是用户研究方法指南,谷歌用户体验研究员十几年工作经验结晶,从理论到实战,包含完整的实操案例,是设计以人为中心产品的实用手册。全书包含五个部分共15章。入门篇包括**~5章:介绍用户体验入门,如何理解目标用户,道德与法律问题,如何搭建研究设施,如何选择用户体验研究方法等。起步篇包括第6~7章,详细介绍用户研究工作的开始工作,如起草研究方案、招募用户、预测试、迎接参与者、开始研究活动等。方法篇包括第8~14章,详细讲解用户研究方法,如日记研究、访谈、问卷调查、卡片分类、焦点小组、实地调研、评估方法等。同时,提供了各种材料、模板和任务清单,方便使用。此外,在各章节的结尾部分精选了案例研究,展示不同的研究方法如何解决实际问题。收尾篇包括**5章,介绍如何对调研结果进行处理,如何有效地报告和表述研
本书系统地讲述了使用VMware vSphere 6.7建设和管理数据中心的整个过程,采用任务驱动的方式,通过精心安排的实训项目与实训任务,使读者在实战过程中掌握VMware vSphere的基础知识及企业应用,不但是一本适合初学者快速上手的基础教程,还是一本全面的VMware vSphere学习指南和技术手册。 本书内容遵循数据中心的建设流程,从虚拟化基础认识,到虚拟化平台的部署,再到vSphere群集的部署、配置、管理、运维、分析等,是VMware vSphere虚拟化的整体落地实现,能够帮助读者从无到有掌握构建虚拟化数据中心的技术与操作。 本书适合计算机及相关专业学生学习,更适合数据中心运维管理从业者提升技术能力使用。本书配有网络学习及技术支持平台,提供操作视频、技术文档与虚拟化学习资源,读者可扫描二维码随时浏览查看。 本书内容遵循数据中心的建设流程,从
本书是一本基于丰富案例的软件工程实用教程,利用软件工程核心三要素 方法、工具和过程 贯穿全文。重点介绍了软件工程的基本概念、原理、软件工程国家相关规范和软件工程文档撰写国家标准以及传统软件工程方法学和面向对象方法学。 本书重点介绍当前主流的面向对象软件工程的开发方法,UML与建模方法、工具以及统一过程RUP。通过实例突出讲述面向对象分析、设计和实现流程。本书所有的概念、开发方法都通过实例来演示,内容精炼、表达简明、实例丰富,非常适合用作高等院校软件工程专业、计算机科学与技术专业及相关专业本科生、研究生的教材,也可以作为培训机构相关专业的培训教材和广大科技工作者和研究人员的参考用书。
本书深入讲解了Android游戏开发的核心知识,并通过具体实例的实现过程,演练了开发Android游戏程序的方法和流程。全书共17章,分别讲解了认识Android移动操作系统,掌握Android游戏开发技术,Graphics游戏绘图,3D技术的应用,纹理映射特效,绘制3D图形,坐标变换和混合,摄像机、雾特效和粒子系统,让游戏和网络互联,游戏中的音频特效和视频,游戏中的数学,碰撞检测,使用传感器技术,AI版五子棋游戏,高仿抖音潜艇大挑战游戏,跨平台坦克大战游戏(Android/iOS/桌面),国际象棋游戏。全书简明而不失技术深度,内容丰富全面,历史资料详实齐全,以简洁的文字介绍复杂的案例,同时介绍了其他同类图书中涉及的历史参考资料,是学习Android游戏开发的完美教程。本书附赠所有案例源码,获取方式见封底。 本书适用于已经了解并想进一步学习Android游戏开发、Andr
本书趋近,因为它在提供知识的同时,仍然具有相当高的可读性。 本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本23个设计模式。 前言介绍了这本书的用法 章至1章陆续介绍了设计模式:Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、TemplatMethod、Iterator、Composite、State、Proxy。 2章介绍了如何将两个以上的设计模式结合起来成为新的设计模式(例如,的MVC模式),作者称其为复合设计模式。 3章介绍了如何进一步学习设计模式,如何发掘新的设计模式等主题。 附录A介绍了剩下的设计模式:Bridge(桥接)、Builder(生成器)、Chainof Responsibility(责任链)、Flyweight(蝇量)、Interpreter(解释器)、Mediator(中介者)、Memento(备忘录)、Prototype(原型)、Visitor(访问者)。 另外,章至第9章还穿插
内容简介 这是一本从敏捷测试团队打造、敏捷测试技术修炼两个维度指导一线的测试团队和质量团队全面实现敏捷转型的著作。 随着软件研发和交付模式的变革,软件测试不断在向服务化、标准化、智能化和全员化的方向演进,对质量和效率的要求越来越高。大量实践表明,只有高度敏捷化的团队和敏捷的测试方法才能做到二者兼顾。本书作者在阿里、腾讯、OPPO等知名企业从事质量和测试方面的技术和管理工作20余年,有丰富的经验和深度思考。 本书从一线测试团队和质量团队的视角出发,以解决测试工作中的实际困难为宗旨,以 敏捷效果 为挑选观点和素材的准绳,内容既不会随着技术的发展而过时,又能引发各类角色广泛深入地思考。 全书核心内容分为两个部分: 第一部分(第1~7章) 打造敏捷测试团队 从测试团队为什么敏捷不起来讲起,介绍敏捷测试团队