这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
内容简介 这是一本从架构视角讲解如何构建大型分布式系统的著作,是超级畅销书《深入理解Java虚拟机》的作者周志明多年架构和研发经验的总结,得到了多位行业资深架构专家的联袂推荐。 全书共16章,分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分。 第1部分 演进中的架构(第1章) 着重介绍了软件开发历史中多种主流架构风格出现的契机、解决的问题以及带来的新缺陷。 第二部分 架构师的视角(第2~5章) 总结了一名架构师应该在架构设计时思考哪些问题,有哪些主流的解决方案和行业标准做法,各种方案有什么优缺点,不同的解决方法会带来什么不同的影响,等等。 第三部分 分布式的基石(第6~10章) 重点讨论了 不同架构风格是应该在技术规范上统一,还是由应用系统自行解决 这个问题,给出了解决思路、方法
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章: 第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。 第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。 第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。 第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员技能。本篇提供了三种自动化部署方式。
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》从 Compose 项目背景介绍开始,到开发环境搭建、基础知识储备,再到基本使用方式、高阶用法展开讲解,结合示例,使读者从零开始逐步掌握 Compose 的使用。通过原理解析、最佳工程实践,以及创新性的 Compose Web3 实战项目,读者可更进一步深入了解和夯实 Compose 知识,循序渐进,由浅入深。 《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》为读者提供了全部案例的源代码下载和高清学习视频,读者可以直接扫描二维码观看。 《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》适合零基础或者有一定移动端开发经验,特别是 Android 开发经验的开发者、爱好者,另外也适合所有前端开发工程师、相关院校师生,以及所有对 Compose 声明式开发范式有兴趣的读者。
全书分为3篇。第1篇介绍编译器基础知识,包括中间表示,重点介绍SSA、数据流分析、支配、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。第二篇剖析分LLVM代码生成,其中对代码生成的每一步骤都有提及,着重介绍指令选择、指令调度、寄存器分配和编译优化。同时还以BPF后端为例总结了如何基于LLVM开发一款新后端的编译器。第三篇附录主要总结了LLVM代码生成过程中使用的IR、BPF指令集以及如何在Linux运行BPF应用,Pass和PassManager的运行机制等知识。通过阅读本书,读者理解和掌握LLVM代码生成过程,可以根据本书指导为基于LLVM开发一款新后端的编译器。同时本书还介绍了各种编译过程中使用到的算法,读者可以根据场景对算法进行增强从而达到性能优化目的。
本书展示了以GitLab CI/CD 流水线为基础,结合时下十分火热的云原生技术,打造企业级DevOps应用体系的全流程。 全书共分为3篇,第1篇为第1~3章,主要介绍云计算、云原生、微服务、敏捷开发、持续集成、DevOps、docker容器技术以及Kubernetes(简称K8s)核心技术等。第2篇为第4~9章,主要介绍了GitLab安装部署与基础使用、GitLab CI/CD中Runner的类型以及部署、GitLab CI/CD流水线模型、GitLab CI/CD变量、GitLab CI/CD流水线的触发方式以及GitLab CI/CD流水线中的缓存和附件等。第3篇为第10~13章,主要介绍了前后端项目的创建、GitLab CI/CD中基于SonarQube的静态代码检查,以及GitLab CI/CD 中的编译、构建、发布、部署、测试和上线等流程。 全书以搭建企业级DevOps应用平台为目标,从云原生技术基础容器以及Kubernetes技术入手;然后介绍了GitLab CI/CD的常见功能应用;最后从零开始,以经典的前后端项
这是一本讲解如何在真实环境中部署、使用和管理Proxmox VE的实战性著作。作者采用全真物理环境,融合自己丰富的工程实践经验,提供大量操作步骤,手把手教你从零基础掌握Proxmox VE。 通过阅读本书,你将: ?了解什么是开源Proxmox VE ?掌握Proxmox VE在企业生产环境中部署 ?掌握Proxmox VE存储配置 ?掌握Proxmox VE网络配置 ?掌握Proxmox VE虚拟机、容器配置 ?掌握Proxmox VE高级特性使用 ?掌握Proxmox VE备份与恢复 ?掌握Proxmox VE系统管理
内容简介 这是一本系统梳理并深入解析大模型的基础理论、算法实现、数据构造流程、模型微调方法、偏好对齐方法的著作,也是一本能手把手教你构建角色扮演、信息抽取、知识问答、AI Agent等各种强大的应用程序的著作。本书得到了零一万物、面壁智能、通义千问、百姓AI、澜舟科技等国内主流大模型团队的负责人的高度评价和鼎力推荐。具体地,通过本书你能了解或掌握以下知识:(1)大型语言模型的基础理论,包括常见的模型架构、领域大型语言模型以及如何评估大模型的性能。(2)大模型微调的关键步骤:从数据的收集、清洗到筛选,直至微调训练的技术细节。(3)大模型人类偏好对齐方法,从基于人工反馈的强化学习框架到当前主流的对齐方法。(4)通过GPTs快速搭建个性化的专属ChatGPT应用。(5)通过开源模型在多种场景下搭建大模型应用,包括:
本书以软件反汇编技术为中心,首先带领读者从x86的基础知识开始,学习如何读取、编写和构建赋能全球大量计算机的汇编语言;然后介绍如何使用IDA、Ghidra、Olly 等业界最受欢迎的工具对应用程序进行逆向工程;接着介绍如何利用补丁和密钥生成等技术进行软件破解,所有这些都利用了汇编和逆向工程的知识;最后从防御的角度向读者介绍相关技术,使他们能够更好地保护自己的软件。本书将引领好奇的读者深入软件破解和计算机的核心,探索其运作机制。深入学习x86计算机的运行原理,不仅对逆向工程和软件破解来说至关重要,还能帮助读者在代码优化、效率提高、调试、编译器设置调整以及芯片选择等方面成为更出色的开发者。
本书聚焦于当今高性能多核处理器的并行编程系统的理论和实践方面,探讨实现并行编程模型所需的关键算法的有效实现。此类实现需要考虑底层计算机体系结构的特定体系结构方面以及执行环境提供的功能。本书简要回顾了现代计算机体系结构的关键概念,特别关注并行代码的性能以及并行编程模型中的相关概念。然后,本书转向用于实现并行编程模型的基本算法,并讨论它们如何与现代处理器交互。虽然本书将重点介绍一般机制,但我们将主要使用英特尔处理器体系结构来举例说明所讨论的实现概念,但也将在适当的情况下介绍其他处理器体系结构。所有的算法和概念都以一种易于理解的方式进行了讨论,并附有许多示例、图表和源代码片段。
地理计算是一个地理学、计算机科学、统计学等多个学科的交叉领域,在交通运输、生态、市场营销和店铺选中等行业都有丰富的应用需求。在过去的几十年里,地理空间的免费开源软件飞速发展,但随之而来的问题是它的分析结果也很难再复现。本书的主题便是使用R语言打造可重现的地理数据分析工作流程,同时也展示R语言中强大的地理数据分析功能。《地理计算与R语言》从基础到应用娓娓道来,包含基础篇、扩展篇和应用篇三个部分。 《地理计算与R语言》适合作为在交通、生态环境等领域的工作人员为跨学科的入门读物,也适合希望使用开源软件分析、可视化和建模地理数据的人员,以及对地理计算感兴趣的中高级 R 语言用户和具有地理数据经验的 R语言初学者阅读。
本书从技术和业务方面介绍了开发成功的系统需要了解的知识,涵盖了基于模型的系统工程、生命周期和过程的基本方面,以及开发系统的方法,给出了关键管理过程和系统工程实践和指南。
本书首先从搜集、整理技术信息的角度切入,指出在信息爆炸时代如何更客观且更直观地处理和使用技术信息,并以经典TRIZ中的进化法则为理论基础,给出可操作性强的技术系统进化路线;其次介绍了进化树的概念、结构及特点,并以显示器为例介绍了构建进化树的方法;最后介绍了构建进化树的意义和作用,以及使用者如何借助进化树明晰当前竞争格局、预测技术和产品未来走向、有效进行专利攻防等。
本书以Altium Designer 24为平台,介绍了电路设计的方法和技巧,主要包括Altium Designer 24概述、原理图设计基础、原理图的绘制、原理图的后续处理、层次结构原理图的设计、原理图编辑中的高级操作、PCB设计基础知识、PCB的布局设计、印制电路板的布线、电路板的后期制作、创建元器件库及元器件封装、电路仿真系统、信号完整性分析、自激多谐振荡器电路设计实例和游戏机电路设计实例。 本书内容由浅入深,讲解详实,图文并茂,思路清晰,各章节既相对独立又前后关联。在介绍的过程中,编者根据自己多年的经验及教学心得,及时给出总结和相关提示,以帮助读者快速掌握相关知识。 随书配赠的电子资料包包含本书实例操作过程的视频讲解文件和实例源文件,读者可以方便、直观地学习本书内容。 本书可以作为初学者的入门教材,也可以作为电路设计及相关行业工程技术人员
全书以Protel的新版本Altium Designer 24为平台,介绍了电路设计的方法和技巧,主要包括Altium Designer 24概述、设计电路原理图、层次化原理图的设计、原理图的后续处理、印制电路板设计、电路板的后期处理、信号完整性分析、创建元件库及元件封装、电路仿真系统、综合实例等。本书的介绍由浅入深,从易到难,各章节既相对独立又前后关联。在介绍的过程中,编者根据自己多年的经验及教学心得,及时给出总结和相关提示,以帮助读者快捷掌握相关知识。全书内容讲解详实,图文并茂,思路清晰。 随书电子资料包包含全书所有实例的源文件和操作过程录屏讲解动画,总时长达300分钟。为了开阔读者的视野,促进读者的学习,电子资料包中还免费赠送时长达200分钟的Protel和Altium Designer设计实例操作过程学习录屏讲解动画教程以及相应的实例源文件。 本书可以作为初学者的入门教材,也
本书对Ansys 2024有限元分析的基本思路、操作步骤、应用技巧进行了详细介绍,并结合典型工程应用实例详细讲述了Ansys的具体应用方法。 本书前7章为操作基础,详细介绍了Ansys分析的基本步骤和方法:第1章Ansys概述;第2章几何建模;第3章建模实例;第4章网格划分;第5章施加载荷;第6章求解;第7章后处理。后8章为专题实例,按不同的分析专题讲解了各种分析专题的参数设置方法与技巧:第8章静力分析;第9章模态分析;第10章谐响应分析;第11章瞬态动力学分析;第12章谱分析;第13章结构屈曲分析;第14章非线性分析;第15章接触问题分析。 本书可作为理工科院校相关专业的高年级本科生、研究生及教师学习Ansys软件的培训教材,也可作为结构分析相关行业的工程技术人员使用Ansys软件的参考书。
本书旨在帮助视觉设计从业人员进入飞速发展的3D建模和扩展现实(XR)设计领域,并给出了行之有效的方法和有效的设计思维过程,并以熟悉的设计原则为基础,探讨了如何在这些基础上进行构建沉浸式用户体验,使其适应虚拟和增强现实环境。本书首先介绍了XR和沉浸式3D体验设计的基础知识,以及它们是如何发展的;然后探索了核心概念和技术,包括人机交互、空间计算、投影映射和头戴式显示器。无论目标场景承载于移动端、云端还是可穿戴设备,设计师都可以借助本书中的相关技术完成目标设计。
虽然HTML/CSS作为非常经典的技术,已经有很多人写过相关的教程,但它依然没有足够简单到任何人都可以尝试来学习。尽管作为前端技术方向,它有着丰富的界面交互,但里面隐藏的逻辑规则却很容易被人忽略。本书的主要内容为HTML/CSS的相关技术,包含了基础标签、智能表单和语义化标签等,同时还讲解了CSS选择器、文本修饰、图片修饰、浮动、溢出、经典盒模型与弹性盒模型、伪元素等,除PC端布局外还讲解了针对移动端的网页适配。 为了更好的阅读体验和学习效果,本书除了全彩印刷、扫码看视频,还大胆地做了几项创新性尝试,包括预计阅读时间、知识补给站、编程单词表、知识点案例化,以及在线练习平台等。 即便是非理工科出身的人,或者已经脱离系统学习多年的上班族,只要你对网页制作有兴趣,就可以学懂书中的内容。本书的读者对象主要针对网
本书深入剖析了互联网主导下的数字广告系统,详细阐述了如何通过数据驱动的产品技术、计算算法和动态定价模型来推进广告主的数字营销,并使其在广告领域与技术广告体系全面融合。同时,本书还探讨了数字化升级对广告业流程的影响,包括市场研究、内容匹配、定制化广告、广告竞投以及消费者沉浸式互动和用户忠诚度提升等营销职能。这些内容共同构建了数字化和智能化广告发展的综合知识体系。 全书分为三篇(共10章):第一篇为基础篇(第1~3章),立足基础理论,阐述数字广告系统在互联网市场的视角,探讨数字广告到数字营销的演变,并将技术创新理论纳入数字广告知识体系,以数据科学和接触点理论为基础,构建新型数字广告的理论框架;第二篇为核心篇(第4~6章),详细解释数字广告的三个主要进化阶段,结合计算机科学的基础知识,以便读
伴随着物联网设备的指数级增长,在需要高算力的场景,例如软件定义汽车驾驶舱、工业领域的工作负载整合,开源虚拟化技术在嵌入式系统上受到了越来越多的关注和应用。本书首先介绍虚拟化技术的基本原理,包括CPU虚拟化、内存虚拟化、中断虚拟化和设备虚拟化,对比KVM在云服务器上参考实现,重点介绍了开源嵌入式虚拟机ACRN的架构设计、原理和实现。还特别总结了虚拟化系统的实时性能调优方法和功能安全认证实践,以及嵌入式虚拟化技术的典型应用场景案例分析。本书作为嵌入式虚拟化技术入门参考书,通过对ACRN开源软件的介绍,帮助读者从代码开始了解、学习、开发虚拟机软件,掌握嵌入式虚拟化技术并应用于工程实践。
内容介绍这是一本可帮助读者迅速掌握Drools的精髓并将其应用于实际项目,为企业构建智能决策系统提供可用经验和方法的专业技术书。全书以作者15年实战经验为基础,以作者在支付系统中的风控、反洗钱业务板块实际运用Drools规则引擎并构建一套完整的规则引擎体系为基础,以CSDN上超36万阅读量的规则引擎专栏文章为参考,以近3.7万人购买的收费视频课程为蓝本,从入门知识、底层原理、一线架构到实战项目深入解读运用Drools 8规则引擎所有知识。无论你是程序开发人员,还是项目管理者或决策者,都能在本书中找到自己想要的内容,比如提升规则引擎使用能力的方法、实现智能决策的技巧等。本书共分为12章,外加2个附录。第1~5章 带领大家初步了解Drools规则引擎,包括什么是规则引擎、什么是Drools规则引擎框架、规则引擎适用的业务场景以及规则引擎运行
这是一本从点、线、面、体4个维度深度解读分布式系统性能优化方法的专业工具书,更是一套全栈性能优化解决方案。其中, 点 指的是代码中的单个语句或函数, 线 指的是代码中的执行路径, 面 则上升到模块、子系统级别, 体 则指的是整个系统。4个维度对应4个不同的优化层次,只有这4个维度配合,才可以真正实现分布式系统的整体性优化。 全书融合了5位长期(最长有近30年工作经验)从事软件开发及优化工作的一线专家的实践经验和深刻理解,不仅从理论层面深入解读了性能优化的本质,还从软件开发整体流程的角度构建性能优化体系和评估策略。全书本着 没有jue对的好设计,只有适合的设计 的理念展开介绍,不仅提供可落地的技巧,还直指本质,让读者知其然并知其所以然,从而设计出适合自己的性能优化方案。 本书共分为17章。 第1~4章 主要介绍作
本书全面细致地剖析了LinuxCNC系统架构、功能以及运行机制,并按照自上而下的层次结构逐步分析各个功能模块的结构和原理,包括HAL模块 、运动控制器、I/O控制器、任务控制器以及人机界面的开发设计。针对各种多轴的数控设备属性阐明了设备坐标系创建与配置、刀具库与刀具创建、回零过程设置、多轴控制系统及路径规划、插补算法及运行方式的初始化文件配置与开发。 从工程实际应用出发,通过图文并茂的实例讲解,详尽介绍了如何应用LinuxCNC构建专用领域的数控系统以及机器人控制系统。本书配有光盘,包含LinuxCNC的安装包、EtherCAT总线主站驱动程序、Python语言和Pyqt库安装程序以及英文LinuxCNC介绍文档等。 本书可以作为希望学习LinuxCNC软件平台系统知识、获得 数控系统开发技术的科研院所和高校师生学习用书,也可供数控及机器人控制技术行业的