本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书以一个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篇番
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。 《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
本书立足实践,以通俗易懂的方式详细介绍深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书的读者只需具备Python语言基础知识,不需要有数学基础或者AI基础,按照本书的内容循序渐进地学习,即可快速上手深度学习。本书配套示例源码、PPT课件、数据集、开发环境与答疑服务。 本书共分13章,主要内容包括人工智能、机器学习和深度学习之间的关系、深度学习的环境搭建、深度学习的原理、深度学习框架TensorFlow和Keras、卷积神经网络相关知识、图像识别、情感分析、迁移学习、人脸识别、图像风格迁移、生成对抗网络等内容。本书从简单的常识出发来切入AI领域,打造平滑和兴奋的学习 体验。 本书作为零基础入门书,既适合希望了解深度学习、使用深度学习框架快速上手的初学者和技术人员阅读,
短短几年时间, Scrum 跃升为敏捷*方法,在全球各地得以普遍应用。针对如何用好、用巧这个看似简单的框架,本书以通俗易懂的语言、条理清晰的脉络阐述和提炼出 Scrum 的精髓。全书共 4 部分 23 章,阐述了七大核心概念: Scrum 框架,敏捷原则,冲刺,需求和用户故事,产品订单,估算与速率,技术债;五大角色:产品负责人, ScrumMaster ,开发团队, Scrum 团队结构,经理: Scrum 规划原则及四大规划活动:多层次规划、产品组合规划、产品规划和长期规划;冲刺四大活动:规划、执行、评审和回顾。 本书取自作者十多年的实践经验,对员工个体和管理层都具有重要的指导和参考意义,可以帮助企业导入 Scrum 方法实现敏捷转型,从而在动态的商业环境中以积极的心态拥抱变化,做出优秀、卓越的产品,成就创业、守业、常青基业。
本书系统地讲述了使用VMware vSphere 6.7建设和管理数据中心的整个过程,采用任务驱动的方式,通过精心安排的实训项目与实训任务,使读者在实战过程中掌握VMware vSphere的基础知识及企业应用,不但是一本适合初学者快速上手的基础教程,还是一本全面的VMware vSphere学习指南和技术手册。 本书内容遵循数据中心的建设流程,从虚拟化基础认识,到虚拟化平台的部署,再到vSphere群集的部署、配置、管理、运维、分析等,是VMware vSphere虚拟化的整体落地实现,能够帮助读者从无到有掌握构建虚拟化数据中心的技术与操作。 本书适合计算机及相关专业学生学习,更适合数据中心运维管理从业者提升技术能力使用。本书配有网络学习及技术支持平台,提供操作视频、技术文档与虚拟化学习资源,读者可扫描二维码随时浏览查看。 本书内容遵循数据中心的建设流程,从
作为持续创新的动力源泉,设计思维是一种目标明确、体系清晰、以人为本的思维模式。本书共25章,由领先的行业专家和学者撰写,为个人和组织提供了在各种情境运用设计思维的工具、洞见和观点,包括新产品和服务的开发、新创企业、商业模式设计和流程改进。从本书中你将学到,以以人为本的创新方式深入挖掘客户的世界,以价值为基础,了解他们的需求;在以团队为基础的创新项目中*限度地发挥每个人的创意输出,在创新过程中的每个阶段提供支持和跨部门协作,在组织中的各个层面整合设计思维以解决*棘手的挑战。
本书采用软件接收机的观点,详细介绍了GPS接收机原理,涉及软件无线电和GPS两个热门领域。GPS接收机包括直接序列扩频信号接收技术和导航处理两个学科内容,涉及卫星星座及GPS信号的影响、信号捕获跟踪、导航电文解扩接收、伪距测量、定位和导航计算处理等内容。本书第2版增加了3章新的内容,主要涉及微弱信号和强干扰环境下,GPS接收机的处理方法。本书还附列了许多用Matlab编写的计算机程序,帮助阐明某些思想,一些可直接用于接收机的设计。
本书在对军用软件相关概念和生存周期模型介绍的基础上,较为系统详细地介绍了军用软件的需求分析、总体设计、详细设计、测试技术、维护技术等开发过程,阐述了软件项目管理的主要内容和方法,着重介绍了软件质量管理、配置管理和风险管理的相关知识。该书的知识体系较为完整,力争做到简明、科学、适用。为便于学习,每章均附有习题。本书可作为“军用软件工程”课程的教材或教学参考书,主要适用于信息类、电子类和非计算机类专业学生,也可供软件开发人员和项目管理人员参考学习。
《大话软件工程——需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程——需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程——需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书是《国防科技工业质量与可靠性专业技术丛书》之一。 本书共分九章和两个附录,其内容包括:软件质量管理概述和基本概念,软件质量管理 基础,软件质量评价、软件开发和维护过程控制,软件验证与确认技术和方法,配置管理和FRACAS,软件质量管理的相关文档,软件过程改过。两个附录包括软件设计准则和软件设计评审检查单示例。 本书以作为国防工业质量管理专业人员、软件研制人员、软件测试人员、型号研制管理人员对开展质量管理工作提供反术支持和学习参考用书。
本书出自软件领域思想家,美国计算机名人堂首批成员之一的 Gerald M.Weinberg 温伯格之手。本书关注的是程序开发过程中人的因素,堪称这一领域的开山之作。本书的初稿完成于整整 40 年前,作者当时慧眼独具,前瞻性地提出了将程序开发作为一种人类行为来考察的观点。几十年来,本书已让无数读者从中受益,时至今日仍然是畅销全球的经典之作。
要实现高质量、高稳定性的面对对象软件系统,有效的测试技术是必不可少的。本书深入讲述了如何用状态机、组合逻辑和UML开发可测试的模型。 通过对多种模式的介绍,可以让读者掌握如何设计测试套件、如何针对OO代码修改测试方法、如何测试可重用组件及框架,以及如何根据用况开发高效的测试套件。书中还提供了许多实际测试经验和面向对象测试领域的研究成果。 与面向对象系统稳定有关的开发及测试人员,皆可阅读此书。
本书是从事软件行业五十余年的Gerald M. Weinberg针对软件测试所写的新作。他在软件项目的管理、设计、开发和测试方面都具有极其丰富的经验,对于与软件开发有关人员的心理尤其有深入的研究。在本书中,他重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者先阐述软件测试之所以如此困难的原因——人的思维不是完美的,而软件测试的目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。接着,作者利用丰富的经历和大量的实例,展现了在软件测试中可能会出现的各种与人的心理有关的现象、误区、欺诈,以及容易犯下的常见错误等等。
本书深入介绍了macOS系统的软件安全、逆向分析与加密解密技术,主要包括macOS软件的开发基础、macOS系统工作机制、macOS软件调试接口与机制、二进制程序的格式、反汇编技术、逆向与动态调试技术、反破解技术以及系统安全与反病毒。 本书适合所有macOS平台软件开发工程师、信息安全专业学生、信息安全专业从业人员阅读学习。
《C语言程序开发范例宝典》全面介绍了应用C语言进行开发的各种技术、技巧、实例、模块、游戏及项目等,《C语言程序开发范例宝典》全书共分34章,主要包括基础知识、指针、数据结构、算法、数学应用、文件操作、库函数应用、图形图像、系统调用、加解密与安全性、万年历模块、文秘办公模块、电话本模块、小熊时钟、打字游戏、弹力球游戏、快快吃豆游戏、贪吃蛇游戏、迷宫游戏、俄罗斯方块游戏、推箱子游戏、猜数字游戏、24点游戏、五子棋游戏、系统测试模块、硬件测试模块、制作学生信息管理系统、学生个人消费管理系统、火车订票系、通讯录管理系统、图书管理系统、企业员工管理系统、商品管理系统、网络通信程序等。《C语言程序开发范例宝典》全书共提供388个实例,每个实例都突出了其实用性。 《C语言程序开发范例宝典》既可作为C程
本书介绍了架构的设计过程及设计方法:属性驱动设计(ADD)。书中通过介绍ADD的概念和应用实例,展示了如何执行架构设计,如何重新设计概念,可帮助读者从“入门到精通”掌握软件架构设计。章介绍了软件架构设计和ADD方法的发展史,第2章讨论软件架构设计的细节,第3章详细介绍ADD方法,第4~6章是几个案例研究,第7章展示了其他一些设计方法,第8章深入讨论了设计过程中的分析,第9章讲解了实时过程如何适应组织级别的应用,0章总结了全书的内容。