本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。第1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。第2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
ANSYS Fluent软件是目前国际上主流的商业CFD软件,只要涉及流体、热传递及化学反应等工程问题,都可以用该软件进行求解。本书通过大量实例系统地介绍了Fluent 2024的使用方法。 全书共12章,首先讲解了计算流体力学的基础理论与Fluent的基本情况,随后针对Fluent可以解决的流体仿真问题,包括稳态模拟、瞬态模拟、内部流动、外部流动、离散相模拟、传热流动、多孔介质和气动噪声、动网格模拟、滑移网格模拟、理想气体模拟、多相流分析等进行应用分析,同时均辅以案例,从几何建模到网格划分,再到计算求解,最后到结果后处理的整个分析过程展开了详细讲解,通过利用Fluent进行流体模拟计算的每一步骤,帮助读者掌握使用Fluent软件的工作流程和计算方法。 本书结构严谨、条理清晰、重点突出,提供了教学视频、案例文件和授课用PPT等学习资源,非常适合广大
本书由系统架构领域3位领军人物亲笔撰写,系统架构领域资深专家Norman R. Augustine作序推荐,Amazon全五星评价。 全书共分四部分。 第1部分(第1~3章)的重点是系统架构所展现出来的机遇,这种机遇使我们能够厘清定义系统所需的关键决策点,并选出能够应对复杂挑战的架构。第1章通过一些范例来展示架构理念,指出良好的架构,并给出本书的概要;第2章列出了进行系统分析的思路;第3章给出了分析系统架构所用的思维模式。 第二部分(第4~8章)着重对架构进行分析。第4章讨论了系统的形式;第5章讨论了系统的功能;第6章讲解形式与功能之间的映射,并以此给出系统架构的定义;第7章研究如何从独立于解决方案的功能陈述中衍生出系统;第8章演示样把这些概念汇聚成一套架构。 第三部分(第9~13章)讲解如何为复杂的系统定义架构。第9章从任务和可交付
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书是AB实验领域的标准化著作,它将带领你快速理解AB实验原理、掌握AB实验方法、搭建AB实验平台、塑造基于数据和实验的企业文化,高效开展AB实验、实现用AB实验驱动增长。 作者是某BAT大厂的数据科学家,在数据产品、AB实验等数据科学领域有10余年经验,亲自主导了该厂AB实验平台的搭建和AB实验产品的设计与分析,积累了丰富的经验。 学习本书,你将收获以下知识和技能: AB实验的基础知识、关键问题及其挑战; AB实验的统计学知识、参与单元、随机分流; AB实验的SRM问题、灵敏度、长期影响; AB实验的产品指标体系、评估指标体系; AB实验的平台建设、组织和文化建设; AB实验的增长实践和解决方案; AB实验的难点和局限性; 因果分析方法和用户调查分析方法 本书内容具有以下3个特点: (1)全面系统、主次分明:如上所述,本书涵盖AB实验
本书以宏晶科技公司STC8系列增强型51单片机作为讲述核心,深入浅出地介绍该系列单片机片内资源及应用,其内容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列单片机中应用。本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重 学 与 用 的结合,帮助读者朋友们快乐入门、进阶,筑牢基础,将相关理论知识应用到实际产品研发之中。 本书根据STC8系列单片机的资源脉络及初学者的学习需求,按照梯度设定22章,从内容组成上分为 无痛入门基础篇 和 片内资源进阶篇 。 无痛入门基础篇从第1章到第8章,主要讲解单片机的发展、学习方法、STC8系列单片机家族成员、软/硬件开发环境搭建及调试、I/O资源使用和配置、LED器件控制、A51和C51语言开发差异及特点、常见字符/点阵型液晶模块的驱动、独立按
本书以一个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平台
本书着重讨论以下核心内容,并层层递进,逐步深入。 首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。 其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。 后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。
作者凭借在全球不同国家和行业内的多年实践经验,从战略规划、技术选型、架构设计到人力资源管理、团队建设和流程优化等多个维度,为企业的现代化改造提供了全面的指导。本书讨论了通过引入沃德利地图、事件风暴、产品分类、领域划分、团队拓扑、松耦合软件架构、内部开发者平台、数据网格、现代化战略、学习与提升技能来加快企业的产品创新和服务优化,同时有效地管理变革,减少风险。本书适合技术领导者、技术人员、产品负责人等架构相关人员阅读。
本书全面、系统地介绍了Creo 8.0 曲面设计的方法和技巧,包括曲面设计的发展概况、曲面造型的数学概念、曲面基准的创建、简单曲面的创建、复杂曲面的创建、曲面的修改与编辑、曲面中的倒圆角、曲线和曲面的信息与分析、ISDX 曲面设计、自由式曲面设计及产品的逆向设计等。 在内容安排上,为了使读者更快地掌握Creo 软件的曲面设计功能,书中结合大量的范例对Creo 曲面设计中一些抽象的概念、命令和功能进行讲解。另外,书中以范例的形式讲述了多款生产一线实际曲面产品的设计过程,这种安排能使读者较快地进入曲面设计实战状态。在写作方式上,本书紧贴软件的实际操作界面,采用软件中真实的对话框、操控板和按钮等进行讲解,使初学者能够直观、准确地操作软件进行学习,提高学习效率。 书中所选用的范例、实例或应用案例覆盖了不同行业,具有
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。 《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
在软件架构中没有简单的决策。相反,这里充斥着艰难的部分——困难的问题,并且没有实践——迫使你在其中做选择。在本书中,你将学会如何用批判性思维来考虑分布式架构中的利弊。本书探讨了选择适架构的策略。通过穿插一个虚构的技术小组的故事—— Sysops Squad——试验各种可能性,从如何确定服务粒度、管理工作流和编排、管理和解构契约、管理分布式事务,到如何优化运维性特征,例如可伸缩性、弹性和性能。通过关注在常见问题上,本书可以帮助作为架构师的你遇到问题时如何发掘和权衡利弊。无论你是渴望成为架构师,还是早已经验丰富,都无需手忙脚乱,本书将详细指导你在创建企业级应用和微服务的过程中取得成功。
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》通过大量工程案例由浅入深地介绍ICEM CFD网格划分的各种功能,重点讲解ICEM CFD进行网格划分,特别是结构化网格划分的方法。《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》共分为12章,包括计算流体的基础理论与方法、创建几何模型、二维网格划分、三维网格划分、结构化网格划分、非结构网格划分、网格边界等功能的介绍,针对每个ICEM CFD可以解决的网格划分问题进行详细的讲解,并辅以相应的实例,使读者能够快速、熟练、深入地掌握ICEM CFD软件。 《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》还提供了同步教学视频和上机练习素材文件,以方便读者更好地使用《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》。 《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》结构严谨,条理清晰,重点突出,非常适合
本书在介绍Mastercam 2024的常用设计和数控加工功能的基础上,重点探讨了AI技术如何辅助和提升这些功能。 全书共8章,各章均深入分析了AI技术的应用,并以Mastercam 2024平台为基础,全面介绍了产品设计、模具拆模、2D轴加工编程、3D曲面粗加工和精加工、多轴加工、车削、线切割等设计与数控加工功能。同时,提供了全部案例的设计素材、最终效果、教学视频(扫码观看),以及授课用PPT等海量学习资源。 本书具有图文并茂、讲解层次分明、思维清晰、重/难点突出、技巧实用等特点,适合广大CAD工程设计、CAM加工制造、模具设计人员以及一线加工操作人员与大中专院校相关专业的学生自学或作为教材使用,也可供加工制造和设计行业相关爱好者作为参考手册进行查阅。
探索软件的起源与演进,呈现软件发展史上的重要人物和事件。按软件的孕育、诞生、发展、改进、壮大过程分为六篇。 第一篇 潜龙勿用 追溯二进制数与中国文化的渊源、莱布尼茨发明二进制算术的动机和背景、穿孔卡片与二进制数的结合、穿孔卡片在自动提花机和自动计算中的应用、巴贝奇制作分析引擎的艰辛历程、世界上第一个计算机程序的诞生过程。 第二篇 见龙在田 1936年图灵机模型横空出世。世界各地的发明家陆续开始制作计算机,世界上第一台可编程计算机在德国诞生,第一台电子数字计算机ABC在美国诞生,随后为曼哈顿项目做出重要贡献的机械式通用计算机马克一号悄悄登场,第一台通用数字计算机ENIAC问世。冯?诺依曼完成在计算机历史上具有里程碑意义的《第一草稿》。 第三篇 终日乾乾 1945年图灵提出ACE提案,着手制造电子计算机,同时构
这是一本讲解如何基于三项核心技能(编写和编辑HTML、使用CSS控制页面设计、创建高效的Web布局)设计、构建和部署现代网站的实战性手册。?通过阅读本书,你将学习:?为网站添加高级样式CSS Flexbox和CSS Grid?安装和配置静态站点生成器Jekyll?模板系统和编程语言入门?掌握网页设计的关键布局原则?使用自定义URL、电子邮件地址注册和配置自定义域?将简单但实用的网站部署到实时网络上。?本书通过针对性的练习来帮助读者掌握设计、构建和部署现代网站的重点知识,读者无须学习HTML、CSS和网页布局的所有 知识 ,只要跟随本书,便能高效地运用它们来解决实际问题。
产品结构设计是一项很重要的设计工作,关于产品结构设计的教程通常贯穿产品概述、ID效果图分析及产品结构设计完成的整个过程,但这类教程要求读者具有一定的设计基础及软件使用技能。本书结合作者丰富的设计经验,兼顾设计新人和职场进修人员的常见需求,力求将产品结构设计基础理论知识、经验、Creo学习与设计心得、Creo设计案例融合在一起进行详细讲解,兼备理论与实战。Creo 8.0 产品结构设计共分8章,具体内容涉及产品结构设计认知基础、产品结构设计原则、Creo产品结构设计方法、简单零件设计、进阶零件建模、玩转方程式和参数、钣金件设计及产品设计综合应用。书中每一个案例都是精心挑选的,侧重不同的知识点和操作技能,具有一定的代表性。 Creo 8.0 产品结构设计涉及的产品结构设计知识面较广,并且编排合理、条理清晰、通俗易懂,兼
Three.js在过去几年中已经成为创建令人惊叹的3D WebGL内容的标准方式。本书探讨Three.js的所有特性,并提供额外的内容,包括如何将Three.js与Blender、React、TypeScript以及最新的物理引擎进行集成。本书共分为四个部分:第一部分介绍搭建开发环境和运行Three.js;第二部分介绍Three.js的核心组件;第三部分介绍如何创建复杂的几何体、动画和纹理;第四部分介绍后期处理、物理模拟和音频集成。本书专为JavaScript开发者编写,旨在帮助他们掌握Three.js库的用法。
本书详细介绍了Python自动化办公、数据爬虫、数据库操作以及界面开发的具体过程和编程技巧。Python编程基础篇(第1~2章)详细介绍了Python的环境搭建和基础知识,包括数据类型、变量、运算符、条件语句、循环语句、函数和模块等内容。读者将学习如何使用Python进行基本的编程操作,为后续的自动化办公和应用开发奠定基础。办公自动化篇(第3~7章)详细介绍了如何使用Python对文件和目录进行操作,包括文件读写、目录遍历、文件复制和删除等内容,以及如何使用Python进行自动化办公,包括Excel自动化、PDF自动化和邮件自动化等内容。读者将学习如何使用Python对本地文件和目录进行操作,以及如何对常用办公软件进行自动化处理,从而提高工作效率。数据自动化篇(第8~12章)详细介绍了如何使用Python对数据库进行操作,包括MySQL、SQLite和MongoDB等,以及进行GUI编程
本书基于作者对企业架构进行多年研究的成果,共19章,分三个核心部分和两个附录。第一部分对企业架构的概念和其他相关主题进行了总体介绍。第二部分特别关注作为企业架构实践核心元素的企业架构工件,定义了6种通用的企业架构工件 经营考量、技术标准、业务愿景、IT景观、概要设计和详细设计。第三部分对企业架构的其他重要方面和企业架构实践进行了高层次的讨论。附录A对现代企业架构学科的复杂历史起源和本书所述的相应最佳实践进行了扩展讨论和分析,附录B介绍了企业架构教学包。本书面向对企业架构感兴趣的广大读者,包括在职和有抱负的架构师、架构经理、企业架构学术研究人员、企业架构讲师和大学生。阅读本书无需任何企业架构的理论知识或实践经验,但要对业务和IT有一定理解。
本书深入探讨了构建自动驾驶汽车和机器人的全过程。作为刘少山博士的得意之作,本书不仅被国际电气和电子工程师协会计算机学会(IEEE Computer Society)推荐为无人驾驶国际标准教材,还涵盖了从基础硬件设备到通信、定位、感知、规划、控制、建图和边缘计算等一系列核心知识点。书中还以一个标准的自动驾驶样车为例,生动地展示了每个部分在整个系统中的关键作用。本书为广大的学生、研究者、工程师、教育工作者、行业从业者、技术爱好者,以及对未来技术发展感兴趣的公众提供了宝贵的知识和启示,对我国自动驾驶行业的快速发展也将产生深远的影响。无论您是从事自动驾驶、自动化、智能机器人、V2X、SLAM等领域的工程师,还是高等院校的相关专业师生,或者是对这一领域感兴趣的技术爱好者,本书都将为您提供宝贵的参考和指导。
本书是面向对象分析和设计(OOA/OOD)领域的圣经级著作,为面向对象编程思想的普及做出了巨大贡献。历经3个版本的锤炼,本书在全球范围内被翻译为10余种文字,畅销20余年,历久弥新。同时,本书还是UML和设计模式应用领域的标准性著作。本书根据软件项目开发的过程来组织内容,充满着Craig的真知灼见,巧妙地将面向对象分析与设计的基本原则、开发方法和辅助工具结合起来,同时吸收了大量的轻量级的敏捷方法以及现代软件开发方法。学完本书不仅能系统地掌握面向对象分析与设计的概念、过程、方法和原则,而且还能掌握UML建模的标准方法以及GRASP和流行的GoF设计模式在面向对象设计中的应用。此外,本书还将指导我们如何将面向对象设计成果映射成Java代码。本书的内容源于作者多年来教授和培训成千上万的学生的经验,已经被实践证明是一种精炼的、