这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
内容简介 这是一本从架构视角讲解如何构建大型分布式系统的著作,是超级畅销书《深入理解Java虚拟机》的作者周志明多年架构和研发经验的总结,得到了多位行业资深架构专家的联袂推荐。 全书共16章,分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分。 第1部分 演进中的架构(第1章) 着重介绍了软件开发历史中多种主流架构风格出现的契机、解决的问题以及带来的新缺陷。 第二部分 架构师的视角(第2~5章) 总结了一名架构师应该在架构设计时思考哪些问题,有哪些主流的解决方案和行业标准做法,各种方案有什么优缺点,不同的解决方法会带来什么不同的影响,等等。 第三部分 分布式的基石(第6~10章) 重点讨论了 不同架构风格是应该在技术规范上统一,还是由应用系统自行解决 这个问题,给出了解决思路、方法
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
《Shell从入门到精通(第2版)》是获得大量读者好评的 Linux典藏大系 中的经典畅销书《Shell从入门到精通》的第2版。本书结合大量实例,详细介绍系统管理员和Linux程序员解决实际问题的得力工具 Bash Shell的用法,并对一些易混淆的内容进行重点提示和讲解。本书提供442分钟教学视频、程序源代码、高清思维导图、教学PPT和习题参考答案等超值配套资源,帮助读者高效、直观地学习。 《Shell从入门到精通(第2版)》共15章,分为3篇。第1篇认识Shell编程,主要介绍Shell编程的入门知识,以及Shell编程环境的搭建;第2篇Shell编程核心技术,主要介绍Shell变量和引用、条件测试和判断语句、循环结构、函数、数组、正则表达式、文本处理、流编辑器、文本处理利器awk命令、文件操作、子Shell与进程处理等;第3篇Shell编程实战,主要介绍Shell脚本调试技术和2个综合案例的实现
《LangChain大模型AI应用开发实践》是一本深度探索LangChain框架及其在构建高效AI应用中所扮演角色的权威教程。本书以实战为导向,系统介绍了从LangChain基础到高级应用的全过程,旨在帮助开发者迅速掌握这一强大的工具,解锁人工智能开发的新维度。 本书内容围绕LangChain快速入门、Chain结构构建、大模型接入与优化、提示词工程、高级输出解析技术、数据检索增强(RAG)、知识库处理、智能体(agent)开发及其能力拓展等多个层面展开。通过详实的案例分析与步骤解说,读者可以学会整合如ChatGLM等顶尖大模型,运用ChromaDB进行高效的向量检索,以及设计与实现具有记忆功能和上下文感知能力的AI智能体。此外,书中还介绍了如何利用LangChain提升应用响应速度、修复模型输出错误、自定义输出解析器等实用技巧,为开发者提供了丰富的策略与工具。 本书主要面向AI开
本书是一本旨在帮助读者深入理解和应用AIGC与大模型技术的实用指南。写作目的是为了让读者了解AIGC与大模型技术的发展趋势、核心驱动力、定义与关键特征,以及如何利用大模型的能力进行实际应用。书籍分多个部分,包括AIGC与大模型技术概览、入门大模型开发、娱乐产业应用、多媒体行业应用、金融业应用、大数据分析应用、企业知识库应用和电商平台应用。其中,亮点案例包括娱乐产业的角色扮演应用、多媒体行业的音视频处理创新、金融业的股票分析以及电商平台的智能购物体验等。这些案例展示了AIGC与大模型技术在不同领域的实际应用,以及如何通过技术拓展应用思维和巩固程序设计思维。 本书适合对AIGC与大模型技术感兴趣的读者,特别是大模型从业人事、程序员、产品经理、项目经理等。通过阅读本书,读者可以了解AIGC与大模型技术的基本概念
《循序渐进Node.js企业级开发实践》结合作者多年一线开发实践,系统地介绍了Node.js技术栈及其在企业级开发中的应用。全书共分5部分,第1部分基础知识(第1~3章),介绍Node.js的基础知识,包括模块化、测试等;第2部分核心编程(第4~9章),介绍Node.js的缓冲区、事件、定时、文件、进程、流等方面的处理;第3部分网络编程(第10~16章),介绍Node.js的TCP、UDP、HTTP、WebSocket、TSL/SSL、常用Web中间件、Vue.js与响应式编程等方面的内容;第4部分数据存储(第17~19章),介绍Node.js关于MySQL、MongoDB、Redis等数据存储的操作;第5部分综合应用(第20章),介绍Node.js实现即时聊天应用的完整过程。除了Node.js技术外,本书还讲述了Express、Socket.IO、Vue.js、MySQL、MongoDB、Redis等热门技术的应用。本节还精心设计了26个实战案例和43个上机练习,所有练习都提供了操作步骤,便于读
全书分为3篇。第1篇介绍编译器基础知识,包括中间表示,重点介绍SSA、数据流分析、支配、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。第二篇剖析分LLVM代码生成,其中对代码生成的每一步骤都有提及,着重介绍指令选择、指令调度、寄存器分配和编译优化。同时还以BPF后端为例总结了如何基于LLVM开发一款新后端的编译器。第三篇附录主要总结了LLVM代码生成过程中使用的IR、BPF指令集以及如何在Linux运行BPF应用,Pass和PassManager的运行机制等知识。通过阅读本书,读者理解和掌握LLVM代码生成过程,可以根据本书指导为基于LLVM开发一款新后端的编译器。同时本书还介绍了各种编译过程中使用到的算法,读者可以根据场景对算法进行增强从而达到性能优化目的。
内容简介 这是一本系统梳理并深入解析大模型的基础理论、算法实现、数据构造流程、模型微调方法、偏好对齐方法的著作,也是一本能手把手教你构建角色扮演、信息抽取、知识问答、AI Agent等各种强大的应用程序的著作。本书得到了零一万物、面壁智能、通义千问、百姓AI、澜舟科技等国内主流大模型团队的负责人的高度评价和鼎力推荐。具体地,通过本书你能了解或掌握以下知识:(1)大型语言模型的基础理论,包括常见的模型架构、领域大型语言模型以及如何评估大模型的性能。(2)大模型微调的关键步骤:从数据的收集、清洗到筛选,直至微调训练的技术细节。(3)大模型人类偏好对齐方法,从基于人工反馈的强化学习框架到当前主流的对齐方法。(4)通过GPTs快速搭建个性化的专属ChatGPT应用。(5)通过开源模型在多种场景下搭建大模型应用,包括:
本书基于开源的 WebGIS 开发技术,内容涵盖 WebGIS 开发的基础知识和技术要点,并通过实际应 用和案例分析,帮助读者更好地掌握相关知识,理解 WebGIS 的应用场景和开发需求。 本书共 12 章,系统论述 WebGIS 开发的技术要点和项目实践。其中:第 1 ~ 3 章为基础篇,第 1 章主要讲解 WebGIS 开发中的 Web 基础,第 2 章为 GIS 基础介绍,第 3 章介绍开源的 WebGIS 开发框架。 第 4 ~ 10 章为高级篇,是基础篇的提升,内容涵盖 WebGIS 开发中的大部分技能和知识点。第 4 章为 GIS 应用服务介绍,第 5 章介绍使用较多的开源 GIS 服务器 GeoServer,第 6 章为空间数据管理的相关 知识,第 7 章和第 8 章主要讲解 WebGIS 开发中的矢量数据和栅格数据渲染,第 9 章为地图控件的使用, 第 10 章讲解常用的地图交互。三维篇是第 11 章,主要介绍 Cesium 框架的使用。实践篇是第 12 章,通 过一个完
这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章: 第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。 第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。 第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。 第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员技能。本篇提供了三种自动化部署方式。
本书系统论述了Altium Designer 24 软件的高级功能及案例实践(含纸质图书、实践案例、配套视频教程),是一本进阶学习高速PCB 设计的优秀工具书。全书分为8 章,第1 章为Altium Designer 24高级功能及应用,介绍PCB 设计流程中需要使用的高级功能;第2 章为设计规则的高级应用,介绍多层板中常见的规则、Query 语句的设置及应用、规则的导入和导出;第3 章为层叠应用及阻抗控制,介绍层叠添加和阻抗的计算等;第4 章为PCB 总体设计要求及规范,介绍PCB 常见设计规范、拼板、PCB 表面处理工艺、组合装配等;第5 章为EMC设计规范,包括EMC概述、常见EMC器件、布局、布线等;第6~8 章为综合实例,包含4 层STM32 开发板、4 层MT6261 智能手表、6 层全志A64 平板计算机3 个完整案例。这些案例从PCB 设计的总体流程、创建工程文件、位号标注与封装匹配、原理图验证与导入、板框绘
本书以技术新手阿云的巧妙提问和答主的点睛指导为引线,以Spring Cloud Alibaba微服务开发框架 为脉络,带领读者全面系统地探索Spring Cloud Alibaba微服务开发过程中应用到的技术和解决方案。 本书技术包含了各种组件及框架的用法,包括注册和配置中心Nacos、负载均衡器LoadBalancer、远程 调用组件OpenFeign、远程调用框架Dubbo、流量控制组件Sentinel、网关组件GateWay、消息驱动框架 Stream及消息中间件RocketMQ、链路追踪组件SkyWalking、分布式事务管理框架Seata、分库分表中间件 ShardingSphere、分布式缓存数据库Redis、分布式任务调度框架XXL-JOB。 技术新手阿云在开发过程中的巧妙提问,能够激发读者主动学习的兴趣;而答主的巧妙解答和本书知 识结构的设计,把看似深奥复杂的分布式微服务系统如庖丁解牛般解析得浅显易懂。本书不仅详细介绍了 各种组件及框架技术的使用步骤,
《SOLIDWORKS 2018 中文版从入门到精通》一书重点介绍了SOLIDWORKS 2018 在工程设计中的应用方法与技巧。全书共11 章,主要包括SOLIDWORKS 2018 概述、草图绘制、草绘特征、放置特征、特征编辑、曲线与曲面、装配零件、生成工程图、钣金设计、运动仿真、VR 动画制作工具 SOLIDWORKS Composer 等内容,电子书部分包括模型显示和阀门凸轮机构运动仿真实例。全书内容由浅入深,从易到难,图文并茂,语言简洁,思路清晰。每一章的知识点都配有案例讲解,以加深读者对知识点的理解,在每章的*后还配有实践与练习,帮助读者进一步巩固并综合运用所学知识。另外,本书还配备了丰富的学习资源,可扫描书后 文泉云盘 二维码获取下载方式,具体内容如下。1. 256 集(段)本书实例配套教学视频扫码观看,可像看电影一样轻松学习,然后对照书中实例进行练习。2. 2 章扩展学习内容
《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》从 Compose 项目背景介绍开始,到开发环境搭建、基础知识储备,再到基本使用方式、高阶用法展开讲解,结合示例,使读者从零开始逐步掌握 Compose 的使用。通过原理解析、最佳工程实践,以及创新性的 Compose Web3 实战项目,读者可更进一步深入了解和夯实 Compose 知识,循序渐进,由浅入深。 《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》为读者提供了全部案例的源代码下载和高清学习视频,读者可以直接扫描二维码观看。 《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》适合零基础或者有一定移动端开发经验,特别是 Android 开发经验的开发者、爱好者,另外也适合所有前端开发工程师、相关院校师生,以及所有对 Compose 声明式开发范式有兴趣的读者。
本书以如何设计后台管理系统为主线,穿插前后端不同技术栈的核心知识点,引导读者渐进式地学习Express.js MySQL Vue.js,达到从0到1完成一个完整项目。Express.js是基于Node.js的Web服务器框架,具有快速、开放和极简的特点。MySQL是一个具有高性能、可靠性和灵活性的久经大型企业考验的数据库管理系统。Vue.js则是目前最流行的前端框架之一。基于Express.js MySQL Vue.js,能够让我们在应对不同的业务场景时游刃有余,运用自如。 本书共18章,分为Node.js篇、Vue.js篇和上线篇。Node.js篇(第1~9章)系统性地讲述了MySQL、Node.js和Express.js框架知识点,从设计字段、实现功能及测试接口的角度对常见的系统功能模块进行了详细地讲解。Vue.js篇(第10~16章)从Vue.js的核心知识点出发,结合ElementPlus组件库由浅及深地构建系统页面。上线篇(第17章和第18章)详细阐述了如何配置服务器和域
人体动作识别是计算机视觉以及相关领域的重要研究内容,旨在识别出具有高层语义的人体动作。客观环境的复杂性以及运动的多样性使基于视觉的人体姿态估计和动作识别极具挑战性,因此研究人体动作识别方法具有十分重要的理论意义和应用价值。 本书在总结分析人体动作识别研究现状的基础上,从单人动作和群组动作两个层面研究人体动作识别技术,即人体2D姿态估计、人体3D姿态估计、单人动作识别,以及群体动作识别。 本书结构合理,内容全面,既有严格的理论基础,又有实际的应用。 本书既可以作为机器学习和计算机视觉领域研究人员的技术用书,也可作为高等院校相关专业师生的教学用书。
本书主要讲解了Go语言一些关键特性的实现原理,Nicklaus Wirth大师曾经说过:算法 数据结构=程序,语言特性的实现也不外乎就是数据结构 代码逻辑。 全书共分为4个部分:部分是基础特性(第1章~第3章),第二部分是对象模型(第4章~第5章),第三部分是调度系统(第6章~第7章),第四部分是内存管理(第8章~第9章)。书中主要内容包括:指针、函数栈帧、调用约定、变量逃逸、Function Value、闭包、defer、panic、方法、Method Value、组合式继承、接口、类型断言、反射、goroutine、抢占式调度、同步、堆和栈的管理,以及GC等。 书中包含大量的探索示例和源码分析,在学会应用的同时还能了解实现原理。书中绝大部分代码都是用Go语言实现,还有少部分使用汇编语言,都可以使用Go官方SDK直接编译。探索过程循序渐进条理清晰,用到的工具也都是SDK自带,方便读者亲自上
《从零开始学Spring Cloud微服务架构》专注于介绍Spring Cloud微服务架构,内容涵盖构建和应用微服务架构所需的关键知识和技术。《从零开始学Spring Cloud微服务架构》共分为14章。第1~3章介绍微服务架构的发展历程、Spring Cloud概述以及使用Spring Boot构建微服务应用的实战技巧;第4~7章重点讲解Eureka服务注册与发现,Ribbon客户端负载均衡和Feign服务调用,Hystrix的限流、降级和熔断,帮助读者理解和应用微服务架构中的核心组件;第8、9章深入研究微服务网关Spring Cloud Gateway和微服务配置中心Spring Cloud Config的实现;第10~12章介绍微服务架构下的统一认证和授权、微服务全链路跟踪SkyWalking,并展示如何集成Prometheus Grafana实现微服务监控的方法和技巧;第13、14章引导读者使用Docker和Docker Compose实现微服务容器化部署,并通过项目实战展示如何使用Spring Cloud构建图书管理系统。
虽然HTML/CSS作为非常经典的技术,已经有很多人写过相关的教程,但它依然没有足够简单到任何人都可以尝试来学习。尽管作为前端技术方向,它有着丰富的界面交互,但里面隐藏的逻辑规则却很容易被人忽略。本书的主要内容为HTML/CSS的相关技术,包含了基础标签、智能表单和语义化标签等,同时还讲解了CSS选择器、文本修饰、图片修饰、浮动、溢出、经典盒模型与弹性盒模型、伪元素等,除PC端布局外还讲解了针对移动端的网页适配。 为了更好的阅读体验和学习效果,本书除了全彩印刷、扫码看视频,还大胆地做了几项创新性尝试,包括预计阅读时间、知识补给站、编程单词表、知识点案例化,以及在线练习平台等。 即便是非理工科出身的人,或者已经脱离系统学习多年的上班族,只要你对网页制作有兴趣,就可以学懂书中的内容。本书的读者对象主要针对网
最优化技术是科学与工程领域中的重要数学工具。本书首先介绍非线性方程组的解析与数值解法,然后介绍各个分支的最优化问题建模与求解方法,包括无约束最优化、凸优化(如线性规划、二次型规划与几何规划等)、非线性规划、混合整数规划、多目标规划与动态规划等,最后简要介绍智能优化方法,并与常规方法进行对比研究。与传统的最优化技术方面的教材不同,本书侧重于利用MATLAB语言直接描述与求解最优化问题。本书可作为一般读者学习和掌握最优化技术的教材或教辅读物,还可以作为高等学校理工科各专业的本科生和研究生学习计算机数学语言的教材,并适合作为相关人员查询最优化计算方法的工具书。
本书从技术和业务方面介绍了开发成功的系统需要了解的知识,涵盖了基于模型的系统工程、生命周期和过程的基本方面,以及开发系统的方法,给出了关键管理过程和系统工程实践和指南。
本书主要讲解使用 UE5(Unreal Engine 5)引擎开发 2D 游戏,介绍 UE5 制作 2D 内容所需要的全部技术知识。 全书内容包括:使用 UE5 开发 2D 游戏需要掌握的基础知识(第 1 ~ 6 章),包括 UE5 的安装、项目结构分析、界面布局,也包括针对 2D 项目的特殊设置;2D 游戏项目实例(第 7 ~ 9 章),每章都是一个完整的 2D 游戏,从易到难地介绍 2D 内容制作的各技术方向;最后第 10 章介绍使用 UE5制作 2D 交互艺术作品,以及游戏之外的交互内容。书中的实例都提供配套的资源和源代码。 本书适合 UE5 引擎的初学者、独立游戏开发者和有兴趣使用 UE5 引擎制作交互内容的读者,也适合学校作为交互艺术设计、游戏开发等专业的初级课程。
本书展示了以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的常见功能应用;最后从零开始,以经典的前后端项