本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
本书共分10章,首先介绍了汽车电子控制系统以及AUTOSAR 规范的基本概念;之后以AUTOSAR方法论为线索,通过示例开发过程介绍,全面展现了基于AUTOSAR工具链完成符合AUTOSAR规范的车用控制器软件开发的具体流程与方法;*后,剖析了AUTOSAR对道路车辆功能安全ISO 26262标准的支持情况,并对AUTOSAR 与信息安全以及Adaptive AUTOSAR平台进行了介绍。本书以通俗易懂的语言和形象的图解展现了AUTOSAR中一些复杂的概念问题,精心设计的示例亦旨在以开发者的视角深度剖析AUTOSAR方法论的具体实施过程。本书可作为汽车电子相关专业高年级本科生和研究生的参考书,也可作为汽车电子行业软件工程师学习参考的资料。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书以宏晶科技公司STC8系列增强型51单片机作为讲述核心,深入浅出地介绍该系列单片机片内资源及应用,其内容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列单片机中应用。本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重 学 与 用 的结合,帮助读者朋友们快乐入门、进阶,筑牢基础,将相关理论知识应用到实际产品研发之中。 本书根据STC8系列单片机的资源脉络及初学者的学习需求,按照梯度设定22章,从内容组成上分为 无痛入门基础篇 和 片内资源进阶篇 。 无痛入门基础篇从第1章到第8章,主要讲解单片机的发展、学习方法、STC8系列单片机家族成员、软/硬件开发环境搭建及调试、I/O资源使用和配置、LED器件控制、A51和C51语言开发差异及特点、常见字符/点阵型液晶模块的驱动、独立按
本书分为软件基础入门与应用实例两大部分,全书共计17章节。1~11章节为软件基础入门,其内容以热仿真工作流程、建立模型、网格划分、求解计算、结果处理、优化设计和仿真模型校核为主。12~17章节为软件应用实例部分,其内容主要由BGA封装芯片、户外通信机柜、数据中心、智能手机、服务器六个应用实例组成。本书内容丰富、讲解详尽,在介绍FloTHERM软件的同时,也注重相关背景原理的阐述和软件实际应用的注意事项。其中软件基础内容多来自作者的多年积累和整理。仿真模型的校准作为热仿真分析的重中之重,本书中也进行了细致的阐述。应用实例内容涵盖软件不同的应用领域,对于软件使用者而言,具有很强的实际指导意义。本书可以作为电子设备热仿真工作者、热设计工程师和FloTHERM软件使用者的自学教材和参考书,同时也可以作为高等院校学
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。 《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
短短几年时间, Scrum 跃升为敏捷*方法,在全球各地得以普遍应用。针对如何用好、用巧这个看似简单的框架,本书以通俗易懂的语言、条理清晰的脉络阐述和提炼出 Scrum 的精髓。全书共 4 部分 23 章,阐述了七大核心概念: Scrum 框架,敏捷原则,冲刺,需求和用户故事,产品订单,估算与速率,技术债;五大角色:产品负责人, ScrumMaster ,开发团队, Scrum 团队结构,经理: Scrum 规划原则及四大规划活动:多层次规划、产品组合规划、产品规划和长期规划;冲刺四大活动:规划、执行、评审和回顾。 本书取自作者十多年的实践经验,对员工个体和管理层都具有重要的指导和参考意义,可以帮助企业导入 Scrum 方法实现敏捷转型,从而在动态的商业环境中以积极的心态拥抱变化,做出优秀、卓越的产品,成就创业、守业、常青基业。
本书以一个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平台
本书系统地讲述了智能现象的发展历史。全书共分为9 章。第1 章介绍本书的写作背景、智能的不同定义、智能现象问题、智能现象新的假说;第2 章介绍宇宙从无到有(物质、能量和空间)、不安分的宇宙、改变以稳定宇宙等内容;第3 章介绍物理学中的智能,包括美丽的物理世界、引力智能、引力和暗能量、熵引力、最小作用量原理、量子隐形传态等内容;第4 章介绍化学中的智能,包括化学发展的简要历程、耗散结构、熵增、最大熵产生;第5 章介绍生物学中的智能,包括生命的定义、生命为什么存在、微生物的智能、植物的智能、动物的智能;第6 章介绍人类的智能,包括大脑中的新皮质、人类特殊的思维方式、关于大脑的理论(贝叶斯大脑假说、高效编码原理、神经达尔文主义、自由能最小原理),以及信息过载与信息茧房;第7 章介绍机器的智能,包括1950
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书立足实践,以通俗易懂的方式详细介绍深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书的读者只需具备Python语言基础知识,不需要有数学基础或者AI基础,按照本书的内容循序渐进地学习,即可快速上手深度学习。本书配套示例源码、PPT课件、数据集、开发环境与答疑服务。 本书共分13章,主要内容包括人工智能、机器学习和深度学习之间的关系、深度学习的环境搭建、深度学习的原理、深度学习框架TensorFlow和Keras、卷积神经网络相关知识、图像识别、情感分析、迁移学习、人脸识别、图像风格迁移、生成对抗网络等内容。本书从简单的常识出发来切入AI领域,打造平滑和兴奋的学习 体验。 本书作为零基础入门书,既适合希望了解深度学习、使用深度学习框架快速上手的初学者和技术人员阅读,
OpenCV是计算机视觉领域的开发者必须掌握的技术。本书针对 OpenCV 4.5进行编写,全面系统地介绍OpenCV 4.5的使用。书中重点介绍OpenCV 4.5相比之前的版本做出的重大修改。 本书共14章,主要内容包括OpenCV 4.5的基础知识、OpenCV开发环境搭建、OpenCV的模块架构、图像的读取与显示、核心模块CORE、图像处理模块基础、灰度变换和直方图修正、图像平滑、几何变换、图像分割、图像金字塔、图像形态学、图像边缘检测、视频加载与摄像头调用、摄像头视频录制以及OpenCV在机器学习方面的应用等,后给出一个停车场车牌识别系统的大案例。 本书适合计算机视觉与图像处理的开发人员、已有图像处理基础并想了解OpenCV 4.5新特性的开发人员阅读,也适合高等院校和培训机构计算机视觉与图像处理相关专业的师生作为教学参考书。
你可曾想过测试驱动开发的真正含义吗?你又曾想过高级顾问是如何运用*实践赚取高额钟点费的吗?或许,你正准备进行自动化的构建,使代码在版本控制之中,为软件进行重构,并将一些设计模式集成到你的软件系统之中。在你完成本书阅读之时,你将能跟踪工作量完成状况,解释开发团队中开发人员的编码能力与时间效率值,并且为项目反复进行需求、设计、开发与部署等工作。 我们认为你的时间宝贵,不应该浪费在努力理解新概念之中。利用*的认知科学与学习理论的研究成果,《Head First软件开发》采取专为大脑工作而设计的丰富视觉化风格,而不是令人昏昏欲睡的冗赘叙述。
本书是一本基于丰富案例的软件工程实用教程,利用软件工程核心三要素 方法、工具和过程 贯穿全文。重点介绍了软件工程的基本概念、原理、软件工程国家相关规范和软件工程文档撰写国家标准以及传统软件工程方法学和面向对象方法学。 本书重点介绍当前主流的面向对象软件工程的开发方法,UML与建模方法、工具以及统一过程RUP。通过实例突出讲述面向对象分析、设计和实现流程。本书所有的概念、开发方法都通过实例来演示,内容精炼、表达简明、实例丰富,非常适合用作高等院校软件工程专业、计算机科学与技术专业及相关专业本科生、研究生的教材,也可以作为培训机构相关专业的培训教材和广大科技工作者和研究人员的参考用书。
为了帮助读者提高工作效率,同时,便于读者迅速锁定目标软件而不至于迷失在工具海洋中,本书作者结合自己多年在教学中教授、使用小软件的经历和经验,从上百个常用多媒体小软件中精心挑选了27款经典小软件供读者选择学习,包括PPT插件、音频编辑、动画制作、录屏、视频剪辑、手绘、思维导图、问卷制作、H5页面制作、Office小功能等多个类别的27款多媒体小软件。另外,为了满足读者碎片化学习的需求,我们还为每一款小软件制作了包括软件特点介绍、操作示范、作品样例等在内的若干短视频。通过扫描封底二维码,读者便可进入微视频页面,观看视频进行学习。
本书的作者用通俗易懂的语言清晰地解释了敏捷,并提供了坚实可行的步骤,帮助各个团队将敏捷的价值观和原则付诸实践。本书以各种组织为例,既包括小型的非营利机构,也包括全球的金融企业,生动有趣地讲述了各个行业与跨职能组织实践敏捷的真实故事。 准确地理解敏捷的真正含义以及重要性。 利用敏捷强调组织的具体需求与目标。 杜绝在 汇报与批评 会议上浪费时间,做出更明智的决策。 建立良好的学习、协作与交付的循环周期。 借鉴IBM、Spotify和可口可乐等大公司的敏捷专家的经验。
本书不仅介绍了如何测量CPU、内存、磁盘/SSD、网络的性能,如何观察、记录、跟踪、汇总性能指标,还讨论了如何设计和创建性能测试工具KUtrace,以及如何对观察结果进行推理。 本书不仅适合软件开发人员阅读,还适合计算机相关专业的师生参考。
本书主要介绍GitLab CI/CD的相关内容。*介绍GitLab CI/CD的基础知识,包括CI/CD的几个基本概念(pipeline、stages、job、GitLab Runner和.gitlab-ci.yml文件);然后介绍GitLab CI/CD的35个关键词、每个关键词的语法及其使用场景,并给出一些示例;*介绍CI/CD的实践,通过3种不同的项目详细讲解各种部署方式,包括微服务架构项目流水线开发、GitLab CI/CD与Kubernetes的集成,以及如何将项目部署到Kubernetes集群中等。本书还给出了两个附录,分别是GitLab CI/CD中的预设变量和GitLab CI/CD测试题。 本书适用于想要提高研发团队的软件集成、软件交付效率的开发和运维人员。
本书是从事软件行业五十余年的Gerald M. Weinberg针对软件测试所写的新作。他在软件项目的管理、设计、开发和测试方面都具有极其丰富的经验,对于与软件开发有关人员的心理尤其有深入的研究。在本书中,他重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者先阐述软件测试之所以如此困难的原因——人的思维不是完美的,而软件测试的目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。接着,作者利用丰富的经历和大量的实例,展现了在软件测试中可能会出现的各种与人的心理有关的现象、误区、欺诈,以及容易犯下的常见错误等等。