这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为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计算机的运行原理,不仅对逆向工程和软件破解来说至关重要,还能帮助读者在代码优化、效率提高、调试、编译器设置调整以及芯片选择等方面成为更出色的开发者。
本书聚焦于当今高性能多核处理器的并行编程系统的理论和实践方面,探讨实现并行编程模型所需的关键算法的有效实现。此类实现需要考虑底层计算机体系结构的特定体系结构方面以及执行环境提供的功能。本书简要回顾了现代计算机体系结构的关键概念,特别关注并行代码的性能以及并行编程模型中的相关概念。然后,本书转向用于实现并行编程模型的基本算法,并讨论它们如何与现代处理器交互。虽然本书将重点介绍一般机制,但我们将主要使用英特尔处理器体系结构来举例说明所讨论的实现概念,但也将在适当的情况下介绍其他处理器体系结构。所有的算法和概念都以一种易于理解的方式进行了讨论,并附有许多示例、图表和源代码片段。
本书分为三部分:第1部分介绍代码的整理(微型重构);第二部分讨论如何将整理工作整合到开发工作流程中;第三部分深入探讨什么是软件设计、软件设计如何驱动软件开发和运营成本以及软件开发和运营成本又如何驱动软件设计、投资软件结构与不投资软件结构之间的权衡是什么、我们可以利用哪些经济和人文原则来决定是否以及如何改变软件结构。
地理计算是一个地理学、计算机科学、统计学等多个学科的交叉领域,在交通运输、生态、市场营销和店铺选中等行业都有丰富的应用需求。在过去的几十年里,地理空间的免费开源软件飞速发展,但随之而来的问题是它的分析结果也很难再复现。本书的主题便是使用R语言打造可重现的地理数据分析工作流程,同时也展示R语言中强大的地理数据分析功能。《地理计算与R语言》从基础到应用娓娓道来,包含基础篇、扩展篇和应用篇三个部分。 《地理计算与R语言》适合作为在交通、生态环境等领域的工作人员为跨学科的入门读物,也适合希望使用开源软件分析、可视化和建模地理数据的人员,以及对地理计算感兴趣的中高级 R 语言用户和具有地理数据经验的 R语言初学者阅读。
本书介绍使用Unity设计和开发3D游戏的各方面知识,包括如何设计、创建和实现游戏角色、环境、UI、音效等。全书分为三部分:第一部分介绍基础知识,包括3D术语、安装Unity并创建项目的方法以及C#的相关知识;第二部分介绍3D角色的设计、游戏环境设计、游戏机制及项目交互、如何在任意项目上开发整体游戏界面等;第三部分从视觉效果、音效、游戏测试、渲染等维度对游戏进行打磨和细化,以提供更好的用户体验。本书配有丰富的随书资源,便于读者查找。
本书从技术和业务方面介绍了开发成功的系统需要了解的知识,涵盖了基于模型的系统工程、生命周期和过程的基本方面,以及开发系统的方法,给出了关键管理过程和系统工程实践和指南。
本书由浅入深、循序渐进地介绍了使用3ds Max 2024制作三维模型和动画的基础知识。全书共分14章,内容涵盖了3ds Max 2024简介、对象的基本操作、利用二维图形建模、几何体建模、复合和多边形建模、NURBS建模、物体的修改、材质的使用、贴图的使用、灯光与摄像机、空间变形和粒子系统、环境效果、动画制作初步及渲染与输出。 本书图文并茂,采用参数讲解与应用举例相结合的方式,力求让读者通过有限的篇幅学到尽可能多的知识,使读者在了解参数含义的同时能最大限度地学会应用。另外,各章的课后习题能帮助读者熟练地掌握操作技巧,独立制作出各种美妙的三维模型及精彩的动画作品。 为了满足广大读者的不同需求,本书对每一个命令既提供了英文名称,也提供了相应的中文解释。 本书适用于效果图与动画制作初、中级用户,也可用作高校相关专业和社会培训班的培训
本书首先从搜集、整理技术信息的角度切入,指出在信息爆炸时代如何更客观且更直观地处理和使用技术信息,并以经典TRIZ中的进化法则为理论基础,给出可操作性强的技术系统进化路线;其次介绍了进化树的概念、结构及特点,并以显示器为例介绍了构建进化树的方法;最后介绍了构建进化树的意义和作用,以及使用者如何借助进化树明晰当前竞争格局、预测技术和产品未来走向、有效进行专利攻防等。
本书以Altium Designer 24为平台,介绍了电路设计的方法和技巧,主要包括Altium Designer 24概述、原理图设计基础、原理图的绘制、原理图的后续处理、层次结构原理图的设计、原理图编辑中的高级操作、PCB设计基础知识、PCB的布局设计、印制电路板的布线、电路板的后期制作、创建元器件库及元器件封装、电路仿真系统、信号完整性分析、自激多谐振荡器电路设计实例和游戏机电路设计实例。 本书内容由浅入深,讲解详实,图文并茂,思路清晰,各章节既相对独立又前后关联。在介绍的过程中,编者根据自己多年的经验及教学心得,及时给出总结和相关提示,以帮助读者快速掌握相关知识。 随书配赠的电子资料包包含本书实例操作过程的视频讲解文件和实例源文件,读者可以方便、直观地学习本书内容。 本书可以作为初学者的入门教材,也可以作为电路设计及相关行业工程技术人员
本书介绍网页动画创作软件 Animate 2024的基本使用方法与技巧。全书用丰富的实例,大量的图示,详细地介绍了Animate 2024的基本功能与技巧。本书从快速入门、技能提高和实战演练3个方面介绍了动画制作的完整过程;从概念入手,引导读者快速入门,达到灵活应用的目的。内容包括Animate 2024的特色与功能,操作环境的基础知识,基本图形与文本的操作,图层、帧、元件、实例和库的使用方法,基础动画、交互动画的制作与创建多媒体动画的方法以及如何将制作好的作品导出与发布,最后提供了6个当今较为流行、经典的综合实例的制作方法。 本书内容翔实,包含了作者多年的网页制作经验,既适合初级用户入门学习,也适合中、高级用户作为参考。
全书以Protel的新版本Altium Designer 24为平台,介绍了电路设计的方法和技巧,主要包括Altium Designer 24概述、设计电路原理图、层次化原理图的设计、原理图的后续处理、印制电路板设计、电路板的后期处理、信号完整性分析、创建元件库及元件封装、电路仿真系统、综合实例等。本书的介绍由浅入深,从易到难,各章节既相对独立又前后关联。在介绍的过程中,编者根据自己多年的经验及教学心得,及时给出总结和相关提示,以帮助读者快捷掌握相关知识。全书内容讲解详实,图文并茂,思路清晰。 随书电子资料包包含全书所有实例的源文件和操作过程录屏讲解动画,总时长达300分钟。为了开阔读者的视野,促进读者的学习,电子资料包中还免费赠送时长达200分钟的Protel和Altium Designer设计实例操作过程学习录屏讲解动画教程以及相应的实例源文件。 本书可以作为初学者的入门教材,也