本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统是解决这一矛盾的重要工具。推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
本书是畅销书升级版,详细和系统地介绍了正规、有效的SEO实战技术,包括为什么要做SEO、搜索引擎工作原理、关键词研究、网站结构优化、移动SEO、外部链接建设、SEO效果监测及策略修改,SEO作弊及惩罚、搜索引擎算法更新、常用的SEO工具、SEO项目管理中需要注意的问题等专题,后提供了一个非常详细的案例供读者参考。 第4版做了比较大的改写,除了删除已无法使用的工具、增加新工具,修正新形势下的SEO观点外,还大幅增加了SEO行业近年发展,如: 移动SEO部分扩充完善并独立成章 增加搜索引擎算法更新一章 增加人工智能与SEO小节 增加近年常见的SEO作弊方法讨论,如伪原创、百度快排、负面SEO等 SEO技术,如大型网站抓取份额控制、用户体验优化、页面速度优化、精选摘要优化
OpenCV是计算机视觉领域的开发者必须掌握的技术。本书针对 OpenCV 4.5进行编写,全面系统地介绍OpenCV 4.5的使用。书中重点介绍OpenCV 4.5相比之前的版本做出的重大修改。 本书共14章,主要内容包括OpenCV 4.5的基础知识、OpenCV开发环境搭建、OpenCV的模块架构、图像的读取与显示、核心模块CORE、图像处理模块基础、灰度变换和直方图修正、图像平滑、几何变换、图像分割、图像金字塔、图像形态学、图像边缘检测、视频加载与摄像头调用、摄像头视频录制以及OpenCV在机器学习方面的应用等,后给出一个停车场车牌识别系统的大案例。 本书适合计算机视觉与图像处理的开发人员、已有图像处理基础并想了解OpenCV 4.5新特性的开发人员阅读,也适合高等院校和培训机构计算机视觉与图像处理相关专业的师生作为教学参考书。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书共分10章,首先介绍了汽车电子控制系统以及AUTOSAR 规范的基本概念;之后以AUTOSAR方法论为线索,通过示例开发过程介绍,全面展现了基于AUTOSAR工具链完成符合AUTOSAR规范的车用控制器软件开发的具体流程与方法;*后,剖析了AUTOSAR对道路车辆功能安全ISO 26262标准的支持情况,并对AUTOSAR 与信息安全以及Adaptive AUTOSAR平台进行了介绍。本书以通俗易懂的语言和形象的图解展现了AUTOSAR中一些复杂的概念问题,精心设计的示例亦旨在以开发者的视角深度剖析AUTOSAR方法论的具体实施过程。本书可作为汽车电子相关专业高年级本科生和研究生的参考书,也可作为汽车电子行业软件工程师学习参考的资料。
本书以宏晶科技公司STC8系列增强型51单片机作为讲述核心,深入浅出地介绍该系列单片机片内资源及应用,其内容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列单片机中应用。本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重 学 与 用 的结合,帮助读者朋友们快乐入门、进阶,筑牢基础,将相关理论知识应用到实际产品研发之中。 本书根据STC8系列单片机的资源脉络及初学者的学习需求,按照梯度设定22章,从内容组成上分为 无痛入门基础篇 和 片内资源进阶篇 。 无痛入门基础篇从第1章到第8章,主要讲解单片机的发展、学习方法、STC8系列单片机家族成员、软/硬件开发环境搭建及调试、I/O资源使用和配置、LED器件控制、A51和C51语言开发差异及特点、常见字符/点阵型液晶模块的驱动、独立按
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
本书以一个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平台
本书是系统架构领域标杆参考书的升级版,由业内资深专家萨姆 纽曼(Sam Newman)撰写。 过去10年,随着微服务的普及,大量组织从单体应用迁移到了微服务应用,分布式系统变得愈加精细化,然而,这个过程中也出现了一系列问题。本书深入探讨了构建、管理、扩展和演进微服务架构时需要考虑的方方面面。内容分为三部分:第一部分 基础 (第1章~第4章),详细阐述微服务背后的核心思想;第二部分 实现 (第5章~第13章),带你转向具体实现细节,通过各种技术和方法尽可能大程度地用好微服务;第三部分 人和组织 (第14章~第16章),具体阐述离开人和组织的支持,理念和技术将毫无意义。通过学习本书,你将深入了解对微服务的建模、集成、测试、部署和监控等方向新的解决方案。 第2版进行了全面更新:新增了微服务构建和部署、无服务器计算及云原生应
本书是微软DAX语言在商业智能分析、数据建模和数据分析方面的指南。 通过对本书的学习,你将了解如何使用DAX语言进行商业智能分析、数据建模和数据分析;你将掌握从基础表函数到高级代码,以及模型优化的所有内容;你将确切了解在运行DAX表达式时,引擎内部所执行的操作,并利用这些知识编写可以高速运行且健壮的代码。 本书第2版的重点内容包括基于免费的Power BI Desktop来构建和运行示例,帮助你在Power Bl、SQL Server Analysis Services或Excel中充分利用强大的变量(VAR)语法。你想要使用DAX所有的强大功能吗?那么这本未进行任何删减、深入浅出的著作正是你所需要的。 本书适合Excel高级用户、商业智能分析人员、使用DAX和微软分析工具的专业人士。
你是否遇到过这些情况:只会使用软件中的默认图表;图表太简单,被嫌弃没有创意;图表表现力差,对报告结论的支持很有限;图表格式不统一,搭配起来一团糟;图表难以与实际工作和老板的需求相结合 也许你需要一套图表私人定制的知识体系。 这是一本专为工作服务的图表实战书,从结构上可以分为两个部分:基础篇和实战篇。第1~4章属于基础篇,分别讲解图表基本元素、图表通用设计法则、典型图表设计技巧和常用图表类型;第5章和第6章属于实战篇,分别讲解如何分析老板偏好并拆解工作型图表中的典型问题,以及综合利用基础篇的知识点,规范化图表定制步骤,让每个人都能实现图表定制梦。
通过本书你将了解到如何使用、部署和维护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篇番
本书分为两大部分,其中第一部分 基础篇 包括第1~11章,第二部分 进阶篇 包括第12~18章。Unity 3D初学者在学习第一部分后,完全可以制作出属于自己的游戏。但是能做出来不代表做得好,这里的 好 主要是指游戏性能高以及开发难度大。从商业游戏的角度来说,必须做到这两点,所以第二部分主要讲解Unity 3D的性能与原理。除第1章外,书中的每一章都包含丰富的示例和源代码,它们是非常宝贵的实战经验,可以直接应用在实际开发中。
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。 《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
本书首先借助生活中的隐喻故事帮助读者建立“问题级需求”思考意识;接着通过一个需求变更处理实例阐释如何在日常需求工作中落实“业务驱动、用户导向的需求思想”;然后引出“组织应用类软件系统需求全景图”,帮助读者理解需求分析的四条主线:价值需求、功能需求、数据需求和非功能需求。本书可作为计算机软件专业本科生、研究生和软件工程硕士的软件需求分析教材,也可作为软件工程、软件开发管理培训的教材,更是一线项目经理、需求分析人员、甲方需求管理人员的参考书。
本书是一本基于丰富案例的软件工程实用教程,利用软件工程核心三要素 方法、工具和过程 贯穿全文。重点介绍了软件工程的基本概念、原理、软件工程国家相关规范和软件工程文档撰写国家标准以及传统软件工程方法学和面向对象方法学。 本书重点介绍当前主流的面向对象软件工程的开发方法,UML与建模方法、工具以及统一过程RUP。通过实例突出讲述面向对象分析、设计和实现流程。本书所有的概念、开发方法都通过实例来演示,内容精炼、表达简明、实例丰富,非常适合用作高等院校软件工程专业、计算机科学与技术专业及相关专业本科生、研究生的教材,也可以作为培训机构相关专业的培训教材和广大科技工作者和研究人员的参考用书。
本书的作者用通俗易懂的语言清晰地解释了敏捷,并提供了坚实可行的步骤,帮助各个团队将敏捷的价值观和原则付诸实践。本书以各种组织为例,既包括小型的非营利机构,也包括全球的金融企业,生动有趣地讲述了各个行业与跨职能组织实践敏捷的真实故事。 准确地理解敏捷的真正含义以及重要性。 利用敏捷强调组织的具体需求与目标。 杜绝在 汇报与批评 会议上浪费时间,做出更明智的决策。 建立良好的学习、协作与交付的循环周期。 借鉴IBM、Spotify和可口可乐等大公司的敏捷专家的经验。