本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和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章属于实战篇,分别讲解如何分析老板偏好并拆解工作型图表中的典型问题,以及综合利用基础篇的知识点,规范化图表定制步骤,让每个人都能实现图表定制梦。
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书是一本基于丰富案例的软件工程实用教程,利用软件工程核心三要素 方法、工具和过程 贯穿全文。重点介绍了软件工程的基本概念、原理、软件工程国家相关规范和软件工程文档撰写国家标准以及传统软件工程方法学和面向对象方法学。 本书重点介绍当前主流的面向对象软件工程的开发方法,UML与建模方法、工具以及统一过程RUP。通过实例突出讲述面向对象分析、设计和实现流程。本书所有的概念、开发方法都通过实例来演示,内容精炼、表达简明、实例丰富,非常适合用作高等院校软件工程专业、计算机科学与技术专业及相关专业本科生、研究生的教材,也可以作为培训机构相关专业的培训教材和广大科技工作者和研究人员的参考用书。
本书的作者用通俗易懂的语言清晰地解释了敏捷,并提供了坚实可行的步骤,帮助各个团队将敏捷的价值观和原则付诸实践。本书以各种组织为例,既包括小型的非营利机构,也包括全球的金融企业,生动有趣地讲述了各个行业与跨职能组织实践敏捷的真实故事。 准确地理解敏捷的真正含义以及重要性。 利用敏捷强调组织的具体需求与目标。 杜绝在 汇报与批评 会议上浪费时间,做出更明智的决策。 建立良好的学习、协作与交付的循环周期。 借鉴IBM、Spotify和可口可乐等大公司的敏捷专家的经验。
项目成败的关键在于是否在“做正确的事情”,而本书正是从分析的角度帮助项目来做到这一点。本书中分析活动是指对人(利益相关者和用户)、情境(人所处的环境)、利益相关者的需要以及解决方案的分析和理解,同时,分析活动要贯穿项目始终,将敏捷思维模式应用在所有分析活动中,才能助力项目成功。本书共分4个部分15章,内容涵盖将敏捷思维模式应用到分析中会涉及的理念、案例分析、技术和相关资源。本书并没有将太多篇幅放在解释那些已被证明的技术上,而是更注重实用性,注重如何选择合适的方法进行需求分析。
本书分六个主题。每个主题都有若干生动有趣而又有警戒意义的故事作为主线,通过对故事中实际问题的解决,引申出作者对于问题解决领域的重要观点。书中关注了像“人们如何思考”、“人们在遇到棘手的难题时会如何思考和处理”、“对于某一个特定的问题,人们会用什么样的角度去思考”这样的话题;提出了像“问题其实就是你期望的东西和你体验的东西之间的差别”、“不管看上去如何,人们很少知道他们想要什么,直到你给了他们所要的东西”这样的深刻见解,这为人们思考能力的提高提供了一些启迪性的帮助。全书幽默地引导读者在处理问题时首先应该识别真正的问题,然后确定问题的拥有者,再找出问题的来源,直到最后才来确定我们是否真的需要解决它。 这是一本关于问题解决的书。主要探讨了从"问题出现"到"决定采用什么方式解决该问题
本书是《国防科技工业质量与可靠性专业技术丛书》之一。 本书共分九章和两个附录,其内容包括:软件质量管理概述和基本概念,软件质量管理 基础,软件质量评价、软件开发和维护过程控制,软件验证与确认技术和方法,配置管理和FRACAS,软件质量管理的相关文档,软件过程改过。两个附录包括软件设计准则和软件设计评审检查单示例。 本书以作为国防工业质量管理专业人员、软件研制人员、软件测试人员、型号研制管理人员对开展质量管理工作提供反术支持和学习参考用书。
通常,人们对软件架构师持两种错误的看法。有人认为软件架构师是一种高高在上的职位;有人认为软件架构师完全不懂开发,只是会画条条框框的指挥家。《程序员之软件架构》将打破这些传统的认知,模糊软件开发和架构在流程中的界限,进而为软件架构正名。《程序员之软件架构》是一本强调实践、注重实效、轻量级、面向开发者的软件架构指南。 如果你是一名想成为软件架构师的程序员,那么《程序员之软件架构》就是为你准备的。
如果你需要一些帮助来编写基于Python 3的程序 ,或者想要更新老一些的Python 2代码,这本书就是 入场券。这本比兹利、琼斯所著的《Python Cookbook(第3版)》包含了用,Python 3.3编 写和测试过的实例,适合于那些希望专注于新工具和 新方法的有经验的Python程序员。 在这本《Python Cookbook(第3版)》里 ,你将找到十多个技术课题的完整实例,涵盖了核心 Python语言和多种应用领域的常见任务。每种实例都 包含了你可以直接使用在项目中的样例,以及关于这 种解决方案如何和为什么可以奏效的讨论。
本书深入介绍了macOS系统的软件安全、逆向分析与加密解密技术,主要包括macOS软件的开发基础、macOS系统工作机制、macOS软件调试接口与机制、二进制程序的格式、反汇编技术、逆向与动态调试技术、反破解技术以及系统安全与反病毒。 本书适合所有macOS平台软件开发工程师、信息安全专业学生、信息安全专业从业人员阅读学习。
《软件详细设计教程》在软件工程知识体系框架下,围绕着软件形成过程,以软件详细设计这一关键环节为中心,系统讲述了软件详细设计的基本思想、理论、方法、技术,以及软件详细设计技术在软件工程中的应用方法、原则和技术规范。 《软件详细设计教程》首先从详细设计阶段前的先导过程出发,介绍了包括软件体系结构、统一建模语言、软件需求工程、软件设计工程在内的相关基础性知识;其次重点介绍了软件结构化详细设计和面向对象详细设计这两类主流技术,并与软件实现过程相结合,介绍了软件编码设计与规范,指出了面向对象软件实现的衔接方法;最后介绍了软件测试的方法、过程与技术,强调了软件详细设计与软件测试二者之间的应用关系和协作方法。 《软件详细设计教程》适合作为高等院校计算机、软件工程、信息工程、通信工程
《番茄工作法图解:简单易行的时间管理方法》介绍了时下流行的时间管理方法之一——番茄工作法。作者根据亲身运用番茄工作法的经历,以生动的语言,传神的图画,将番茄工作法的具体理论和实践呈现在读者面前。番茄工作法简约而不简单,本书亦然。在番茄工作法一个个短短的25分钟内,你收获的不仅仅是效率,还会有意想不到的成就感。 《番茄工作法图解:简单易行的时间管理方法》适合所有志在提高工作效率的人员,尤其是软件工作人员和办公人员。
本书针对软件工程中的关键问题,讨论了如何分析问题并提出解决方案。书中介绍了目前的软件技术和工具,引用大量实例研究和文献中的例子,讨论它们如何影响我们构建和使用的最终软件产品。Pfleeger博士将的软件工程方法应用到了两个完全融合到一起的个案研究——一个是真实的信息系统,一个是有大量需求的实时系统——清楚地描述了大型软件开发项目是怎样从需要发展为想法、再转变为现实的过程。最终给出高质量的软件的解决方案。 本书是为本科生的软件工程课程而设计的,也适用于研究生课程,也可供那些希望扩展专业知识的软件开发人员和项目管理人员参考。
本书以教科书的方式,循序渐进地向软件开发人员或软件开发的项目管理人员,讲述如何快速掌握分布式版本控制系统 Git 的应用方法,让繁琐复杂的项目开发的版本控制变得高效且轻松自如。书中细致入微地介绍了如何使用设置文件和操作Git文档库,以及建立项目开发的分支、合并分支和解决冲突的操作;在具备扎实的基础之后,介绍了Git GUI程序用法,以及 Git 在团队开发模式中应用的问题;讲述如何与优选的项目开发人员进行交流,提升程序开发的经验和能力;介绍了GitHub、Bitbucket、GitLab等提供Git服务的网站;本书很后的重点为介绍架设Git Server的几种方法,让每一个项目开发团队,可以按照自己的软硬件环境,选择适合的方式来控管项目开发。 本书封面贴有清华大学出版社防伪标签,无标签者不得销售。