这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
nbsp nbsp《架构基础:从需求到架构》根据各种企业级真实场景总结,提出合理的设计思路和解决方案,从需求、问题、解决方案、原理、设计方法、落地方案多个角度,给出架构设计方法。 《架构基础:从需求到架构》主要内容包括大型互联网架构设计的四大原则、分布式微服务架构设计、登录功能架构设计、用户安全架构设计、系统日志架构设计、系统攻防架构设计、系统消息架构设计、监控预警架构设计、关系型大数据架构设计、批处理调度架构设计、系统配置架构设计、企业级核心架构设计实战等,详细讲解了各种场景的架构方案。 《架构基础:从需求到架构》与任何编程语言无关,目的是提升读者的设计思维、培养读者的设计能力、开启读者的架构思维。同时,《架构基础:从需求到架构》也是一本设计方案指南,开发人员、设计人员、架构人员均可参
这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章,从LLM基础知识开始,通过LangChain这个开源框架为读者解读整个LLM应用开发流程。第1~2章概述LLM技术的发展背景和LangChain框架的设计理念。从第3章开始,分章深入介绍LangChain的6大模块,包括模型I/O、数据增强、链、记忆等,通过大量代码示例让读者了解其原理和用法。第9章通过构建PDF问答程序,帮助读者将之前学习的知识应用于实践。第10章则介绍集成,可拓宽LangChain的用途。第11章为初学者简要解析LLM的基础理论,如Transformer模型等。本书以LangChain这个让人熟悉的框架为主线,引导读者一步一步掌握LLM应用开发流程,适合对大语言模型感兴趣的开发者、AI应用程序开发者阅读。
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章: 第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。 第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。 第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。 第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员技能。本篇提供了三种自动化部署方式。
本教程详细介绍了ZooKeeper Dubbo 3联合开发时的高频实战技能,包含ZooKeeper的数据模型、Watch观察者机制、服务器角色、领导选举、ZAB协议、ZooKeeper架构、节点类型、ZooKeeper运用场景、搭建单机和主从环境、常用的Command命令、ACL授权、配额等高频使用技术点。在Dubbo 3章节中详细介绍了单体/水平集群/垂直集群/SOA架构的发展历程、CAP理论、Dubbo特性、RPC原理、Dubbo中的五大核心组件、直连提供者、隐式参数、服务分组、多版本、启动时检查、令牌验证、超时和线程池大小、Nacos注册中心、服务提供者集群、集群容错、负载均衡等实用技能。 读者通过阅读《ZooKeeper Dubbo 3分布式高性能RPC通信》并结合实际代码的训练,完全可以自行开发基于RPC技术的应用系统,为进一步学习和工作打下良好的技术基础。
本书全面细致地剖析了LinuxCNC系统架构、功能以及运行机制,并按照自上而下的层次结构逐步分析各个功能模块的结构和原理,包括HAL模块 、运动控制器、I/O控制器、任务控制器以及人机界面的开发设计。针对各种多轴的数控设备属性阐明了设备坐标系创建与配置、刀具库与刀具创建、回零过程设置、多轴控制系统及路径规划、插补算法及运行方式的初始化文件配置与开发。 从工程实际应用出发,通过图文并茂的实例讲解,详尽介绍了如何应用LinuxCNC构建专用领域的数控系统以及机器人控制系统。本书配有光盘,包含LinuxCNC的安装包、EtherCAT总线主站驱动程序、Python语言和Pyqt库安装程序以及英文LinuxCNC介绍文档等。 本书可以作为希望学习LinuxCNC软件平台系统知识、获得 数控系统开发技术的科研院所和高校师生学习用书,也可供数控及机器人控制技术行业的
人体动作识别是计算机视觉以及相关领域的重要研究内容,旨在识别出具有高层语义的人体动作。客观环境的复杂性以及运动的多样性使基于视觉的人体姿态估计和动作识别极具挑战性,因此研究人体动作识别方法具有十分重要的理论意义和应用价值。 本书在总结分析人体动作识别研究现状的基础上,从单人动作和群组动作两个层面研究人体动作识别技术,即人体2D姿态估计、人体3D姿态估计、单人动作识别,以及群体动作识别。 本书结构合理,内容全面,既有严格的理论基础,又有实际的应用。 本书既可以作为机器学习和计算机视觉领域研究人员的技术用书,也可作为高等院校相关专业师生的教学用书。
业务架构是跨系统的业务蓝图,应用架构、数据架构、技术架构是解决方案的不同方面。多年来,业界已在业务架构、应用架构、数据架构、技术架构方面积累了大量经验。近几年,数字化转型更是呼唤“懂行人”打通四种架构,确保技术支撑业务、业务支撑战略。本书的主要内容即在于此。首先,解读战略、业务架构、应用架构、数据架构、技术架构五者的对应岗位、产物、脉络关系。然后,结合大案例,详探下列实战法: ·战略驱动的业务架构设计; ·业务驱动的应用架构设计; ·业务驱动的数据架构设计; ·业务和技术趋势双轮驱动的技术架构设计。 再后,分享业界较为稀缺的《业务架构书》《技术方案书》优秀模板。 最后,分享ToG/ToB解决方案规划方法体系。
本书是一本介绍Axure RP原型设计的教程。全书分为三篇,分别为Axure RP基础、Axure RP高级功能和Axure RP原型设计实践。包括产品原型设计、Axure RP概述、基础元件、高级元件、元件交互、母版、Axure Share共享原型、团队项目、输出文档、Web原型设计实践、App原型设计实践、菜单原型设计实践、整站原型设计—默趣书城共13章内容。 本书内容系统全面,注重实践,配套资源丰富,主要面向产品经理、需求分析师、架构师、用户体验设计师、网站策划师、交互设计师等,以及高校计算机及相关专业师生。
本书提供了一套实用的方法和工具,帮助读者更好地理解、设定和管理SLO。书中主要介绍了SLO的基本概念、设计过程、实施方法及相关案例研究。作者不仅解释了SLO的重要性,以及为什么在现代IT环境中需要它们,详细阐述了SLO的定义、类型和级别,以及如何将它们与业务目标相结合,而且详细介绍了设计SLO的过程,包括需求收集、目标设定、指标选择、约束条件设定等步骤,旨在确保SLO既符合业务需求,又具有可度量性和可操作性,同时提供了一些实用的方法和工具,帮助读者有效地实施和管理SLO,包括使用监控工具、定期审查和调整SLO等。此外,书中还包含了一系列实际案例研究,展示了如何将SLO应用于不同的场景和环境。这些案例可以帮助读者更好地理解SLO的实际应用价值。
嵌入式实时操作系统是嵌入式人工智能与物联网终端的重要工具和运行载体。本书以ARM Mbed OS实时操作系统为背景,阐述实时操作系统的线程、调度、延时函数、事件、消息队列、线程信号、信号量、互斥量等基本要素,给出实时操作系统下的程序设计方法。本书分为基础应用篇(第1~7章)、原理剖析篇(第8~12章)及综合实践篇(第13、14章)三大部分,如果读者只做实时操作系统下的应用开发,可只阅读基础应用篇与综合实践篇;如果希望理解实时操作系统原理,那么建议通读全书。
本书是项目导向、任务驱动式的教材,将C51语言的知识、编程技巧和单片机原理及接口技术融入键控花样灯、音乐门铃、DS18B20测温、PWM调光灯、打地鼠等42个任务中。以工程教育为理念,采用五步软件开发流程(谋、写、仿、测、判)来组织内容。涵盖C51的基本语法,单片机的中断、定时及动态扫描、LCD及点阵、键盘、A/D、D/A等接口技术,代码调试、串口助手数据监测等内容。本书例程均经仿真调试与实验板运行验证。多个程序模块可直接移植到其他项目开发中。 为配合本书的教学,作者在"浙江省高等学校在线开放课程共享平台 "学银在线 提供了配套的在线开放课程,还提供PPT、微课讲解、源代码、在线测试实验、作业、试卷库等配套资源,形成立体化移动式教学资源,供读者免费使用。另外,扫描书中的二维码,可以观看配套视频。
本书从实战角度讲解了Knative的原理与开发。 br 全书正文一共11章,共4个部分: br 一、准备篇( ~2章) br 全面介绍了Serverless,Knative的概念、优势、架构设计、工作原理,以及开发环境的搭建。 br 二、基础篇(第3~5章) br 详细讲解了Knative的三大核心组件:Serving、Eventing和Tekton pipeline。 br 三、实战篇(第6~8章) br 主要介绍了Knative的云原生微服务的设计与实现、Knative的FaaS实现,以及性能优化相关的主题。 br 四、扩展篇(第9~11章) br 讲解了与Knative相关的日志中心、监控报警平台和可视化工具。
本书内容上分为三篇,共计13章内容。 br 第1篇( ~5章)基础知识篇,第1章主要讲解了Nginx源码目录介绍的作用及编译与安装,第2章讲解了Nginx的整体架构与设计思路的实现,第3~5章主要讲解了Nginx的基本数据结构、内存管理与配置文件解析等实现。 br 第2篇(第6~11章)核心模块篇,这一篇为本书的核心内容,其中第6章讲解了Nginx生命周期的实现,第7章讲解了Event模块及其用到的事件模型实现,第8章讲解了HTTP模块及11阶段的实现,第9章讲解了Upstream模块实现, 0章讲解了FastCGI与proxy模块实现, 1章讲解了负载均衡、限流、SSL、log等模块实现。 br 第3篇( 2~13章)实战应用篇,讲解了Nginx的rtmp模块实现,让读者对跨平台原理实现、多进程管理、信号、信号量、共享内存、事件等知识点有一个 深入的理解。 br
这是一部从技术、流程、管理等多个维度系统讲解华为数据治理和数字化转型的著作。华为是一家超大型企业,华为的数据底座和数据治理方法支撑着华为在 170多个 /地区开展多业态、差异化的运营。书中凝聚了大量数据治理和数字化转型方面的有价值的经验、方法论、规范、模型、解决方案和案例,不仅能让读者即学即用,还能让读者了解华为数字化建设的历程。全书共10章,内容从逻辑上分为四个部分。 部分( ~3章)第1章以非数字原生企业在数字化转型方面面临的挑战开篇,介绍了华为在数据治理和数字化转型方面的目标、愿景、蓝图和框架;第2章从企业政策和架构协同的角度,介绍了企业级的数据综合治理体系,理顺了数据与变革、运营、IT之间的协同关系,明确了数据管理的责任主体在业务;第3章详细阐述了不同类型的数据的管理方式和要点。第二部分
本书详细介绍了实际运维工作中虚拟化工程师应该熟练掌握的虚拟化技术。全书共7章,分别是虚拟化技术概述、虚拟化工程师应知必会的六件事、部署IT基础架构服务器、实现服务器虚拟化 基于VMware vSphere、实现桌面/应用虚拟化 基于Citrix Virtual Apps and Desktops、虚拟化备份 基于Veeam Backup Replication,实现对虚拟化环境的灵活监控。 本书图文并茂,步骤详细,介绍了大量的实用知识,能够让读者清晰地理解虚拟化项目部署中的操作细节。 本书适合于从事企业信息化运维工作的虚拟化工程师学习,也可以作为项目管理人员实施企业虚拟化项目的参考书,还可作为高等院校虚拟化技术相关课程的教材。
内容简介 br 这是一本从工具、原理、算法3个维度指导读者零基础快速掌握目标检测技术及其应用的入门书。 br 两位作者是 的AI技术专家和计算机视觉算法专家,在阿里、腾讯、百度、三星等大企业从事计算机视觉相关的工作多年,不仅理论功底扎实、实践经验丰富,而且知道初学者进入计算机视觉领域的痛点和难点。据此,两位作者编写了这本针对目标检测初学者的入门书,希望从知识体系和工程实践的角度帮助读者少走弯路。 br ~2章是目标检测的准备工作,主要介绍了目标检测的常识、深度学习框架的选型、开发环境的搭建以及数据处理工具的使用。 br 第3~5章是目标检测的技术基础,主要讲解了数据预处理和卷积神经网络等图像分类技术的基础知识。 br 第6章比较详细地介绍了香港中文大学的开源算法库mmdetection。 br 第7~10章详细地讲解了目标检测的概念、原
Linux是一个免费的多用户、多任务的操作系统,其稳定性、安全性与网络功能特别显著。目前Linux已经成为全球增长极快的操作系统,其应用将更加丰富,特别是在系统级的数据库、消息管理、Web应用、桌面办公和嵌入式开发等方面。 《Linux命令应用大词典》涵盖了Linux系统常用的命令,内容涉及基础入门、系统管理、网络管理、网络安全、服务器配置和程序编译等多方面,共计729个命令,1935个例子,内容非常全面。每一个命令都讲述了它的功能描述、命令语法、选项含义和命令实例,内容清晰明了,正所谓一书在手,万事不愁。 《Linux命令应用大词典》可以作为读者学习Linux系统的参考书、案头书,遇到不懂的命令或命令选项一查即可;适合Linux爱好者、Linux系统管理工程师、培训机构教师和学生以及高等院校计算机专业教师和学生使用。
这是一部从技术、流程、管理等多个维度系统讲解华为数据治理和数字化转型的著作。华为是一家超大型企业,华为的数据底座和数据治理方法支撑着华为在 170多个 /地区开展多业态、差异化的运营。书中凝聚了大量数据治理和数字化转型方面的有价值的经验、方法论、规范、模型、解决方案和案例,不仅能让读者即学即用,还能让读者了解华为数字化建设的历程。全书共10章,内容从逻辑上分为四个部分。 部分( ~3章)第1章以非数字原生企业在数字化转型方面面临的挑战开篇,介绍了华为在数据治理和数字化转型方面的目标、愿景、蓝图和框架;第2章从企业政策和架构协同的角度,介绍了企业级的数据综合治理体系,理顺了数据与变革、运营、IT之间的协同关系,明确了数据管理的责任主体在业务;第3章详细阐述了不同类型的数据的管理方式和要点。第二部分
本书全面介绍了图论的基本概念、基本定理和算法,帮助读者理解并掌握图的结构和解决图论问题的技巧。另外,书中包含很多图论的新研究成果,并介绍了一些悬而未决的图论问题。证明与应用并举是本书的一个重要特点,书中对所有定理和命题给出了完整的证明,同时讨论了大量的实例和应用,并提供了1200多道习题。 本书可以作为高等院校数学系本科生和研究生、计算机专业和其他专业研究生的图论课程教材,也可以作为有关教师和工程技术人员的参考书。
本书分为三部分。 部分探讨了计算机硬件,包括内部语言、组合逻辑、顺序逻辑、组成原理、系统结构、通信接口等。第二部分研究了在硬件上运行的软件的行为和表现。第三部分涉及编程的艺术--与他人合作写出好的程序。