本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
机器学习是以概率论、统计学、信息论、**化理论、计算理论等为基础的计算机应用理论学科,也是人工智能、数据挖掘等领域的基础学科。《机器学习方法》全面系统地介绍了机器学习的主要方法,共分三篇。篇介绍监督学习的主要方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与**熵模型、支持向量机、Boosting、EM算法、隐马尔可夫模型、条件随机场等;第二篇介绍无监督学习的主要方法,包括聚类、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配、PageRank算法等。第三篇介绍深度学习的主要方法,包括前馈神经网络、卷积神经网络、循环神经网络、序列到序列模型、预训练语言模型、生成对抗网络等。书中每章介绍一两种机器学习方法,详细叙述各个方法的模型、策略和算法。从具
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统是解决这一矛盾的重要工具。推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
《Unity手机游戏开发:从搭建到发布上线全流程实战》将以一款开放世界类游戏的实践过程为主线,为读者呈现从零开始上线一款游戏的实践路线、游戏引擎Unity的开发模式,以及游戏开发的核心框架。 《Unity手机游戏开发:从搭建到发布上线全流程实战》共分为3篇,第1篇是场景搭建篇,第2篇是脚本开发篇,第3篇是发布上线篇。第1篇包含第1章和第2章,主要介绍在Unity中如何创建一个游戏项目,如何搭建一款游戏的场景和界面。第2篇包含第3章到第5章,主要介绍一款游戏的核心模块,即游戏控制、角色动画和核心玩法,同时实践一款游戏《小猪奇奇》的完整开发流程。第3篇包含第6章到第8章,主要介绍游戏的移动端发布流程,同时对游戏进行测试与完善,终把书中的游戏案例打造成一款符合上线标准的游戏。
近年来,越来越多的游戏开发爱好者开始关注Unity引擎,相比于其他引擎,Unity有强大的资源商店和跨平台能力,而且容易上手,目前已成为游戏开发行业的主流选择,受到了大量开发者的青睐。 《从零开始学Unity游戏开发:场景 角色 脚本 交互 体验 效果 发布》共有10章内容,以认识Unity引擎开始,从0到1突破,循序渐进地介绍了Unity游戏开发的方方面面。《从零开始学Unity游戏开发:场景 角色 脚本 交互 体验 效果 发布》采用知识点讲解、经验技巧与相应的动手练习相结合的方式,将一个完整的游戏案例以章节任务的形式贯穿其中,系统地讲解如何从基本的熟悉Unity界面操作开始,一步步搭建起游戏场景,让其逐渐丰富生动起来,并能与玩家进行交互,然后添加UI界面完善游戏流程,增强游戏的画面效果和视听体验及游戏的真实性,终形成一款相对完整的成品游戏,
本书以一个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平台
如何量化用户体验对有效提高产品的使用质量至关重要。本书详尽地介绍了如何有效且可靠地收集、分析和呈现典型的用户体验度量数据:操作绩效(正确率等)、用户体验问题(频率和严重程度)、自我报告式的满意度及生理/行为数据(眼动追踪等)。同时对 综合性量化度量数据 等问题进行了专门介绍,而且结合案例等形式对当前与用户体验相关的新内容(如用户体验对NPS的影响)进行了说明。本书内容翔实,是一本值得用户体验从业人员研读的指导性书籍,同时也可以作为相关课程的参考教材。
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。 《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
本书是微软DAX语言在商业智能分析、数据建模和数据分析方面的指南。 通过对本书的学习,你将了解如何使用DAX语言进行商业智能分析、数据建模和数据分析;你将掌握从基础表函数到高级代码,以及模型优化的所有内容;你将确切了解在运行DAX表达式时,引擎内部所执行的操作,并利用这些知识编写可以高速运行且健壮的代码。 本书第2版的重点内容包括基于免费的Power BI Desktop来构建和运行示例,帮助你在Power Bl、SQL Server Analysis Services或Excel中充分利用强大的变量(VAR)语法。你想要使用DAX所有的强大功能吗?那么这本未进行任何删减、深入浅出的著作正是你所需要的。 本书适合Excel高级用户、商业智能分析人员、使用DAX和微软分析工具的专业人士。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
照由浅入深、循序渐进的方式,讲解软件的新特性和操作方法,使读者能够快速掌握SolidWorks软件的设计技巧。 对于SolidWorks软件的基础应用,《SolidWorks 2022完全实战技术手册》内容讲解得非常详细。通过实例和方法的有机统一,使本书内容既有操作上的针对性,也有方法上的普遍性。《SolidWorks 2022完全实战技术手册》图文并茂,讲解深入浅出、繁就简、贴近工程,把众多专业和软件知识点有机地融合到每章的具体内容中。《SolidWorks 2022完全实战技术手册》的体例结构生动而不涩滞,内容编排张驰有度,实例叙述实用而不浮烦,能够开拓读者思路,提高读者阅读兴趣,使其掌握方法,提高对知识综合运用的能力。 通过对《SolidWorks 2022完全实战技术手册》内容的学习、理解和练习,能使读者真正具备SolidWork设计者的水平和素质。《SolidWorks 2022完全实战技术手册》既可
在软件架构中没有哪个决定是轻而易举的。相反,有许多艰难的部分,要么是难题,要么是缺少实践,这迫使你在各种妥协中做出选择。通过本书,你将学会如何批判性地思考分布式体系结构的利弊。 软件架构老兵和实践顾问Neal Ford、Mark Richards、Pramod Sadalage、Zhamak Dehghani讨论了选择适合架构的策略。全书交织着一群虚构的技术专业人员(Sysops Squad)的故事,他们研究了从如何确定服务粒度、管理工作流和编排、管理和解耦合约、管理分布式事务到如何优化可扩展性、弹性和性能等操作特性的一切问题。 本书通过关注常见的问题,提供了一些技术,帮助你在面对架构问题时进行权衡。
本书分为两大部分,其中第一部分 基础篇 包括第1~11章,第二部分 进阶篇 包括第12~18章。Unity 3D初学者在学习第一部分后,完全可以制作出属于自己的游戏。但是能做出来不代表做得好,这里的 好 主要是指游戏性能高以及开发难度大。从商业游戏的角度来说,必须做到这两点,所以第二部分主要讲解Unity 3D的性能与原理。除第1章外,书中的每一章都包含丰富的示例和源代码,它们是非常宝贵的实战经验,可以直接应用在实际开发中。
《逆向工程核心原理》十分详尽地介绍了代码逆向分析的核心原理。作者在Ahnlab 研究所工作多年,书中不仅包括其以此经验为基础亲自编写的大量代码,还包含了逆向工程研究人员必须了解的各种技术和技巧。彻底理解并切实掌握逆向工程这门技术,就能在众多IT相关领域进行拓展运用,这本《逆向工程核心原理》就是通向逆向工程大门的捷径。 想成为逆向工程研究员的读者或正在从事逆向开发工作的开发人员一定会通过《逆向工程核心原理》获得很大帮助。同时,想成为安全领域专家的人也可从《逆向工程核心原理》轻松起步。
AI 领域 的 基石王者 ,那些还沉迷于CNN,RNN的工程师被警告: 放弃战斗吧,向Transformer投降! 本书是一本 Transformer 权威的指南,深入探讨了自然语言处理(NLP)领域的关键技术。本书详细介绍了Transformer架构及其在NLP中的创新应用,为读者提供了全面的知识体系和实践经验。作者以通俗易懂的方式解释复杂概念,引导读者逐步掌握深度学习和NLP的核心原理。无论您是NLP研究者、数据科学家、计算机科学学生还是技术创业者,本书都为您提供了深入理解和应用Transformer模型的关键指南。通过本书,读者将掌握构建高性能NLP应用所需的关键技能,助力您在人工智能领域取得更大成就。
每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《Google软件测试之道》从内部视角告诉你这个世界上有名气的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试之道》抓住了Google做测试的本质,抓住了Google测试这个时代**复杂软件的精华。《Google软件测试之道》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在Google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似Google的测试流程或团队的人受益
本书介绍了高效的软件设计和编程方法,把精益需求分析、领域驱动设计、面向对象、契约式设计、测试驱动开发、意图导向编程及演进式设计等编程实践融会贯通,深入洞察软件设计本质,展示了一个清晰的程序员编程能力提升路线图。全书共十二章,按照程序员技能提升的顺序,分为品味篇、专业篇和高效篇。 本书适合各种编程语言的一线开发者、大学计算机和软件工程相关专业三年级以上本科生或研究生阅读,也适合专业的软件开发团队作为统一编程范式、提升设计意识和能力的参考书。
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
本书是系统架构领域标杆参考书的升级版,由业内资深专家萨姆 纽曼(Sam Newman)撰写。 过去10年,随着微服务的普及,大量组织从单体应用迁移到了微服务应用,分布式系统变得愈加精细化,然而,这个过程中也出现了一系列问题。本书深入探讨了构建、管理、扩展和演进微服务架构时需要考虑的方方面面。内容分为三部分:第一部分 基础 (第1章~第4章),详细阐述微服务背后的核心思想;第二部分 实现 (第5章~第13章),带你转向具体实现细节,通过各种技术和方法尽可能大程度地用好微服务;第三部分 人和组织 (第14章~第16章),具体阐述离开人和组织的支持,理念和技术将毫无意义。通过学习本书,你将深入了解对微服务的建模、集成、测试、部署和监控等方向新的解决方案。 第2版进行了全面更新:新增了微服务构建和部署、无服务器计算及云原生应
本书系统地总结了过去十年中软件测试发生的变化,浓缩了作者许多宝贵的软件测试经验。本书首先介绍对于软件测试的不同看法,全程软件测试的思想,软件测试的基础设施与TA框架、团队能力建设;然后逐步深入到测试的计划、设计、执行、持续反馈和改进;接着,讨论全程测试的思想,包括全程静态测试、全程性能测试、全程安全性、全程建模、全程可视化。本书*后展望了软件测试的未来。本书适合软件测试人员阅读,也可作为相关专业人士的参考指南。
你是否遇到过这些情况:只会使用软件中的默认图表;图表太简单,被嫌弃没有创意;图表表现力差,对报告结论的支持很有限;图表格式不统一,搭配起来一团糟;图表难以与实际工作和老板的需求相结合 也许你需要一套图表私人定制的知识体系。 这是一本专为工作服务的图表实战书,从结构上可以分为两个部分:基础篇和实战篇。第1~4章属于基础篇,分别讲解图表基本元素、图表通用设计法则、典型图表设计技巧和常用图表类型;第5章和第6章属于实战篇,分别讲解如何分析老板偏好并拆解工作型图表中的典型问题,以及综合利用基础篇的知识点,规范化图表定制步骤,让每个人都能实现图表定制梦。