本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为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平台
本书从PLC基础入门和工程实践出发,涵盖内容包括电气控制基础、S7-1500 PLC编程技术及项目应用实践。电气控制部分包括常用低压电器的工作原理及选型、电气控制电路的分析与设计等;PLC编程技术以西门子S7-1500 PLC为主线,详细介绍了S7-1500 PLC的硬件结构和指令体系,同时还介绍了西门子人机界面的相关设计方法,重点讲解了西门子*TIA博途软件的使用,并将S7-1500 PLC系统的知识体系贯穿于PLC项目应用实践中。 本书可作为高等院校自动化、电气工程及其自动化、机器人工程、计算机科学与技术、机械设计制造及其自动化等相关专业的教材,也可作为工程技术人员培训及自学参考使用。
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书主要讲述如何自己动手制作( DIY )一个微型多旋翼飞行器。书中内容主要分四篇:篇主要介绍飞行器的相关基础知识,让读者对多旋翼飞行器有个感性的认知;第二篇重点介绍飞行器的硬件平台,包括模块详细解说、实物组装、固件下载方法和飞行器的操作说明等;第三篇重点介绍飞行器的软件开发环境、软件各个功能部分的讲解和各个模块部分的连接、飞控系统的核心算法等;第四篇介绍多旋翼飞行器的拓展,控制操作入门和技巧,以及其在不同行业的应用。 本书配套资料里面包含了微型多旋翼飞行器的代码,同时也包含遥控器代码。这些代码均有详细的注释,读者可参考它设计自己的固件,亦可通过书中介绍的方法,将编译后的代码下载到飞行器和遥控器中来体验飞行。 本书主要针对未入门而有强烈意愿DIY的飞行器爱好者和即将参加赛事的大学生朋友
本书介绍了高效的软件设计和编程方法,把精益需求分析、领域驱动设计、面向对象、契约式设计、测试驱动开发、意图导向编程及演进式设计等编程实践融会贯通,深入洞察软件设计本质,展示了一个清晰的程序员编程能力提升路线图。全书共十二章,按照程序员技能提升的顺序,分为品味篇、专业篇和高效篇。 本书适合各种编程语言的一线开发者、大学计算机和软件工程相关专业三年级以上本科生或研究生阅读,也适合专业的软件开发团队作为统一编程范式、提升设计意识和能力的参考书。
《重构 改善既有代码的设计 第2版 全彩精装版》是《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。 《重构 改善既有代码的设计 第2版 全彩精装版》适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。
本书是网易杭州研究院项目管理部十年来丰富的项目管理实践总结与干货分享。字字句句凝结了网易项目经理的甘与苦、汗与泪。全书围绕项目管理体系,从敏捷实践、项目立项、需求管理、沟通管理,到计划进度管理、风险管理,真实反映了网易面向互联网产品项目管理实战经验与心路历程。不论你是项目管理新手,还是资深项目经理,都可以从本书中获得启发与借鉴。
本书系统地总结了过去十年中软件测试发生的变化,浓缩了作者许多宝贵的软件测试经验。本书首先介绍对于软件测试的不同看法,全程软件测试的思想,软件测试的基础设施与TA框架、团队能力建设;然后逐步深入到测试的计划、设计、执行、持续反馈和改进;接着,讨论全程测试的思想,包括全程静态测试、全程性能测试、全程安全性、全程建模、全程可视化。本书*后展望了软件测试的未来。本书适合软件测试人员阅读,也可作为相关专业人士的参考指南。
本书立足实践,以通俗易懂的方式详细介绍深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书的读者只需具备Python语言基础知识,不需要有数学基础或者AI基础,按照本书的内容循序渐进地学习,即可快速上手深度学习。本书配套示例源码、PPT课件、数据集、开发环境与答疑服务。 本书共分13章,主要内容包括人工智能、机器学习和深度学习之间的关系、深度学习的环境搭建、深度学习的原理、深度学习框架TensorFlow和Keras、卷积神经网络相关知识、图像识别、情感分析、迁移学习、人脸识别、图像风格迁移、生成对抗网络等内容。本书从简单的常识出发来切入AI领域,打造平滑和兴奋的学习 体验。 本书作为零基础入门书,既适合希望了解深度学习、使用深度学习框架快速上手的初学者和技术人员阅读,
本书从实际应用出发,通过35个典型实例系统地介绍了组态软件MCGS的设计方法及其监控应用技术。全书分为两篇:入门基础篇包括组态软件概述,组态软件MCGS应用基础及初、高级应用实例;监控应用篇采用组态软件MCGS实现多个监控设备(包括三菱PLC、西门子PLC、远程I/O模块、PCI数据采集卡等)的模拟电压输入/输出、数字量输入/输出、温度监控等功能。设计实例由设计任务、线路连接、任务实现等部分组成,每个实例均提供详细的操作步骤。
《产品经理方法论 构建完整的产品知识体系》 本书系统地介绍了产品经理需要掌握的知识,包括产品的基本概念、撰写产品文档的方法、绘制流程图的方法、绘制产品原型图的方法、研究和分析用户的方法、管理需求的方法、设计产品的方法、分析数据的方法、理解技术的思路、管理项目的方法、产品设计实践、产品学习方法等。 本书适合产品经理或想要成为产品经理的读者阅读。 《产品经理方法论 通用的产品设计》 本书结合案例介绍了产品经理需要用到的各种产品设计方法和思路,帮助读者将从本书所学到的知识灵活地运用到自己的工作中。本书主要内容包括产品原型设计过程中输入、反馈、输出等类型控件的使用方法,产品原型的设计方法,通用的产品功能设计方法,通用的产品逻辑,基础系统产品的设计思路,通用的产品体系,通用的产品设计方法,
《精通STM32F4(库函数版 第2版)》由浅入深,旨在讲解STM32F407的各个功能。《精通STM32F4(库函数版 第2版)》总共分为3篇:*篇为硬件篇,主要介绍实验平台;第二篇为软件篇,主要介绍STM32F4常用开发软件的使用以及下载调试的一些技巧,并详细介绍几个常用的系统文件(程序);第三篇为实战篇,通过33个实例带领读者一步步深入了解STM32F4。本次修订对部分知识进行了更新。 《精通STM32F4(库函数版 第2版)》可配套ALIENTEK探索者STM32F4开发板学习使用,配套资料包含详细原理图以及所有实例的完整代码。这些代码都有详细的注释,并且所有源码都已经经过严格测试,不会有任何警告和错误。另外,源码已生成hex文件,读者只需要通过串口/仿真器下载到开发板即可看到实验现象,亲自体验实验过程。 《精通STM32F4(库函数版 第2版)》适用于广大学生和电
本书系统地讲述了使用VMware vSphere 6.7建设和管理数据中心的整个过程,采用任务驱动的方式,通过精心安排的实训项目与实训任务,使读者在实战过程中掌握VMware vSphere的基础知识及企业应用,不但是一本适合初学者快速上手的基础教程,还是一本全面的VMware vSphere学习指南和技术手册。 本书内容遵循数据中心的建设流程,从虚拟化基础认识,到虚拟化平台的部署,再到vSphere群集的部署、配置、管理、运维、分析等,是VMware vSphere虚拟化的整体落地实现,能够帮助读者从无到有掌握构建虚拟化数据中心的技术与操作。 本书适合计算机及相关专业学生学习,更适合数据中心运维管理从业者提升技术能力使用。本书配有网络学习及技术支持平台,提供操作视频、技术文档与虚拟化学习资源,读者可扫描二维码随时浏览查看。 本书内容遵循数据中心的建设流程,从
《平衡掌控者(游戏数值战斗设计)》由真正从事 游戏行业的一线人员似水无痕编著,全部由真实游戏设计案例作为实例讲解。全书一共分为6章,每章的主要内容分别为:第1章介绍游戏数值策划在团队中的定位和岗位需求,以及需要提升哪些能力;第2章讲述游戏数值策划在设计层的基础知识,包括游戏类型分类、玩家分类等;第3章讲述实现层的基础知识、Excel相关知识点;第4章讲述公式、技能、装备和随机在实际工作中的设计理念;第5章介绍游戏中战斗的数据结构并对第4章的内容加以实现;第6章讲述VBA相关知识并对之前设计的战斗进行模拟。 本书适合以下这些人群阅读:没做过游戏但热爱游戏,想往数值策划发展的人;做过游戏但没有机会做数值策划,又向往做数值策划的人;想通过本书了解数值策划及其工作内容和工作方法的人。
如果你需要一些帮助来编写基于Python 3的程序 ,或者想要更新老一些的Python 2代码,这本书就是 入场券。这本比兹利、琼斯所著的《Python Cookbook(第3版)》包含了用,Python 3.3编 写和测试过的实例,适合于那些希望专注于新工具和 新方法的有经验的Python程序员。 在这本《Python Cookbook(第3版)》里 ,你将找到十多个技术课题的完整实例,涵盖了核心 Python语言和多种应用领域的常见任务。每种实例都 包含了你可以直接使用在项目中的样例,以及关于这 种解决方案如何和为什么可以奏效的讨论。
温子祺、冼安胜、林秩谦、杨伟展编*的这本《 ARM Cortex-M4微控制器原理与实践》以新唐公司的 NuMicro M451系列微控制器为蓝本。由浅入深,并结 合SmartM-M451迷你开发板系统地介绍了ARM Cortex-M4内核的原理与结构、开发环境的使用和各 种功能器件的应用。本书还介绍了驱动TFT屏的方法 、触摸控制、SD卡数据读写、FAT文件系统的移植、 触摸按键、μCOS的移植与应用、μCGUI的移植与应 用及智能家居中常用的无线串口模组的使用等。此外 ,配套的资料提供了各章节的实例代码(可在北京航 ,可使读者在短时间内迅 速掌握NuMicro M451系列微控制器的应用技巧,并可 向读者提供配套开发板。 本书既可以作为本、专科微控制器相关课程的教 材,又可以作为相关专业技术人员的参考与学习用书 。*后衷心希望本书能对ARM Correx-M4内核的微控 制器的应用与推广起到一定的作用。
本书由浅入深,旨在讲解STM32F407的各个功能。本书总共分为3篇:硬件篇,主要介绍实验平台;软件篇,主要介绍STM32F4常用开发软件的使用以及一些下载调试的技巧,并详细介绍几个常用的系统文件(程序);实战篇,通过34个实例(绝大部分是直接操作寄存器完成的)带领大家一步步深入了解STM32F4。本次修订对部分知识进行了更新。本书可配套ALIENTEK 探索者STM32F4开发板学习使用,配套资料包含详细原理图以及所有实例的完整代码,这些代码都有详细的注释,且都经过严格测试,不会有任何警告和错误。另外,源码已生成hex文件,读者只需要通过串口/仿真器下载到开发板即可看到实验现象,亲自体验实验过程。
《网易一千零一夜(互联网产品项目管理实战)》是网易杭研项目管理部十年来丰富的项目管理实践总结与干货分享。字字句句凝结了网易项目经理的甘与苦、汗与泪。全书围绕项目管理体系,从敏捷实践、项目立项、需求管理、沟通管理,到计划进度管理、风险管理,真实反映了网易面向互联网产品项目管理实战经验与心路历程。不论你是项目管理新手,还是 项目经理,都可以从本书中获得启发与借鉴。
《微服务运维实战(第二卷)》在*卷的基础上,以时下热门的Docker Swarm为例,详细介绍微服务和容器在软件持续集成和部署中的应用。本书重点讲解如何在Docker Swarm上构建、测试、部署、监控微服务,帮助读者打造大规模、高效、可靠、可快速恢复的软件系统。
在软件过程中,不同的实体,例如,需求、组件、体系结构、文档、产品和人等,都是相互依赖而存在的,其中任意实体发生变化,都可能导致其他相关实体的变化。各个实体之间的紧密联系导致变更成为软件过程风险的一个重要原因。因此,主动预测软件需求变更并积极开展软件过程改进,是保持和提升软件整体质量的有效方法。首先,系统地论述了软件需求变更与软件过程的相关研究与实践背景,分析了需求变更与软件过程的关系。然后,对软件需求变更及变更间关联关系进行了分析,为软件开发和维护过程中利益相关者做出有效管理决策提供了有价值的信息。*后,使用系统动力学方法对软件需求变更管理过程进行了仿真建模,并根据模型运行的仿真结果来分析软件过程改进效果。
本书分为3篇,由6个学习情境组成,它们是软件测试管理、单元测试、集成测试、系统测试、VSTEST单元测试VSTEST系统测试应用。每个学习情境包含了若干个任务,通过任务描述、任务分析、相关知识、任务实施的主线来进行介绍,并配有相应的思考练习。全书共包括10个任务,分别介绍了功能性测试用例的设计、结构性测试用例的设计、集成测试用例的设计、系统测试用例的设计、VSTEST单元测试的应用、VSTESTWeb测试和负载测试的应用、VSTEST手工测试的应用等。 本书适合读者学习软件测试基础理论和VSTEsT测试应用,可以作为高职院校相关专业的教材,也可用于读者自学。本书由浙江警官职业学院杨哗老师和浙大网新科技股份有限公司王申康工程师共同主编。