这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
《LangChain大模型应用开发》帮助读者在项目中探索微调、提示工程以及部署和监控的最佳实践时,解锁LLM的全部潜力。无论你是构建创意写作工具、开发复杂的聊天机器人,还是制作尖端的软件开发辅助工具,《LangChain大模型应用开发》都将是你的路线图,帮助你自信且创造性地掌握生成式人工智能的变革力量。 主要内容 ●使用LangChain创建LLM应用,如问答系统和聊天机器人 ●理解变换模型和注意力机制 ●使用pandas和Python自动进行数据分析和可视化 ●掌握提示工程以提高LLM性能 ●微调LLM并了解释放其力量的工具 ●将LLM作为服务部署,并应用评估策略 ●使用开源LLM与文档本地互动,以防止数据泄露
本书基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时本书也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。本书采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
本书讲解了Linux驱动开发的基础知识以及所用到的开发环境,全书分为22章,其内容涵盖了各种Linux子系统,包含内存管理、PWM、RTC、IIO和IRQ管理等,还讲解了直接内存访问和网络设备驱动程序的实用方法。在学完本书之后,读者将掌握设备驱动开发环境的概念,并可以从零开始为任何硬件设备编写驱动程序。 阅读本书需要具备基本的C语言程序设计能力,且熟悉Linux基本命令。本书主要是为嵌入式工程师、Linux系统管理员、开发人员和内核黑客而设计的。无论是软件开发人员,还是系统架构师或制造商,只要愿意深入研究Linux驱动程序开发,阅读本书后都将有所收获。
nbsp nbsp《架构基础:从需求到架构》根据各种企业级真实场景总结,提出合理的设计思路和解决方案,从需求、问题、解决方案、原理、设计方法、落地方案多个角度,给出架构设计方法。 《架构基础:从需求到架构》主要内容包括大型互联网架构设计的四大原则、分布式微服务架构设计、登录功能架构设计、用户安全架构设计、系统日志架构设计、系统攻防架构设计、系统消息架构设计、监控预警架构设计、关系型大数据架构设计、批处理调度架构设计、系统配置架构设计、企业级核心架构设计实战等,详细讲解了各种场景的架构方案。 《架构基础:从需求到架构》与任何编程语言无关,目的是提升读者的设计思维、培养读者的设计能力、开启读者的架构思维。同时,《架构基础:从需求到架构》也是一本设计方案指南,开发人员、设计人员、架构人员均可参
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了 古早 工具链障碍,模块实现环环相扣,带你穿透 迷雾 ,窥见Linux系统设计的绚丽 天光 。 本书共8章,从逻辑上分为四部分。第一部分(第1和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
《Linux UNIX系统编程手册(上、下册)》是介绍Linux与UNIX编程接口的权 威之作。Linux编程资 深专业人士Michael Kerrisk在书中详细描述了Linux UNIX系统编程所涉及的系统调用和库函数,并辅之以全而清晰的代码示例。《Linux UNIX系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。 《Linux UNIX系统编程手册(上、下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用POSIX线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字API编写网络应用等内容。 《Linux UNIX系统编程手册(上、下册)》在汇聚大批 Linux专有特性(epoll、inotify、 proc)的同时,还特意强化了对UNIX标准(POSIX、SUS)
本书以软件反汇编技术为中心,首先带领读者从x86的基础知识开始,学习如何读取、编写和构建赋能全球大量计算机的汇编语言;然后介绍如何使用IDA、Ghidra、Olly 等业界最受欢迎的工具对应用程序进行逆向工程;接着介绍如何利用补丁和密钥生成等技术进行软件破解,所有这些都利用了汇编和逆向工程的知识;最后从防御的角度向读者介绍相关技术,使他们能够更好地保护自己的软件。本书将引领好奇的读者深入软件破解和计算机的核心,探索其运作机制。深入学习x86计算机的运行原理,不仅对逆向工程和软件破解来说至关重要,还能帮助读者在代码优化、效率提高、调试、编译器设置调整以及芯片选择等方面成为更出色的开发者。
《Linux高性能网络详解:从DPDK、RDMA到XDP》主要介绍了DPDK、RDMA和XDP三种高性能网络技术的原理、使用方法和实现方案。 《Linux高性能网络详解:从DPDK、RDMA到XDP》总计26章,分为四大部分。第1部分介绍了计算机网络、计算机硬件和Linux操作系统的基础知识,以及软件和硬件之间传递信息的方式、以内核协议栈为基础的网络方案和Corundum。第2部分介绍了DPDK的入门知识、DPDK的内存管理、UIO/DPDK的基本使用方法、测试和分析高性能网卡,以及如何为Corundum编写DPDK驱动程序。第3部分包括RDMA技术简介、软件架构、基本元素、基本操作类型及其配套机制、传输服务类型、应用程序执行流程、主要元素的实现、数据传输、RoCEv2网卡的配置、性能测试工具等内容。第4部分包括XDP简介、XDP教程代码分析、简单的XDP性能测试、如何让网卡驱动程序支持XDP功能等内容。 《Linux高性能网
《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》从 Compose 项目背景介绍开始,到开发环境搭建、基础知识储备,再到基本使用方式、高阶用法展开讲解,结合示例,使读者从零开始逐步掌握 Compose 的使用。通过原理解析、最佳工程实践,以及创新性的 Compose Web3 实战项目,读者可更进一步深入了解和夯实 Compose 知识,循序渐进,由浅入深。 《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》为读者提供了全部案例的源代码下载和高清学习视频,读者可以直接扫描二维码观看。 《Jetpack Compose 实战:面向未来的大前端式客户端开发体验》适合零基础或者有一定移动端开发经验,特别是 Android 开发经验的开发者、爱好者,另外也适合所有前端开发工程师、相关院校师生,以及所有对 Compose 声明式开发范式有兴趣的读者。
这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章: 第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。 第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。 第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。 第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员技能。本篇提供了三种自动化部署方式。
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
本书以新版的华为网络技术职业认证 HCIA-Datacom(考试代码为H12-811)为基础,以 eNSP 模拟器为仿真平台,从行业的实际出发组织全部内容,全书共 19 章,主要内容包括 eNSP 的安装和使用,华为 VRP 系统,IP 地址的配置,静态路由,OSPF,交换机的基本配置,VLAN、Trunk 和 Hybrid,STP,实现 VLAN 间的通信,Eth-Trunk,ACL 的原理与配置,AAA 的原理与配置,NAT,网络服务与应用,WLAN,广域网技术,网络管理与运维,IPv6,网络编程与自动化。 本书既可以作为华为 ICT 学院的配套实验教材,用来增强学生的实际动手能力,也可以作为计算机网络相关专业的实验指导书,还可以作为相关企业的培训教材,同时对于从事网络管理和运维的技术人员来说,也是一本很实用的技术参书。
本书为Linux操作系统的实验指导书,主要介绍Linux操作系统的环境搭建、基础知识、服务器架设三部分内容。环境搭建部分主要介绍虚拟机和操作系统的安装;基础知识部分主要介绍基本命令相关实验内容;服务器架设部分主要介绍FTP服务器、DNS服务器。 本书以实例为引导,实验步骤详细,同时又兼顾学习的系统性,可作为普通高等院校、中高等职业技术院校以及各类计算机教育培训机构的专用实验教材,也可供广大操作系统爱好者自学使用。
《ADS信号完整性仿真与实战 第2版》主要是以ADS软件为依托,结合信号完整性和电源完整性的基础理论以及实际案例,完整地介绍了使用ADS进行信号完整性以及电源完整性仿真的流程和方法,最终以实际的案例呈现给读者,具体内容包括信号完整性基本概念、ADS基本概念及使用、PCB材料和层叠设计、传输线及端接、过孔及过孔仿真、串扰案例、S参数及其仿真应用、IBIS与SPICE模型、HDMI仿真、DDR4/DDR5仿真、高速串行总线仿真、PCB板级仿真SIPro、PCB板级仿真PIPro等。 《ADS信号完整性仿真与实战 第2版》内容翔实,深入浅出,结合实际案例的应用进行讲解,实用性强,非常适合作为信号完整性以及ADS仿真入门教程,也可以作为资深仿真工程师的工具书,还可以作为大学电子、电路、通信、电磁场等专业的教学实验教材。
全书分为3篇。第1篇介绍编译器基础知识,包括中间表示,重点介绍SSA、数据流分析、支配、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。第二篇剖析分LLVM代码生成,其中对代码生成的每一步骤都有提及,着重介绍指令选择、指令调度、寄存器分配和编译优化。同时还以BPF后端为例总结了如何基于LLVM开发一款新后端的编译器。第三篇附录主要总结了LLVM代码生成过程中使用的IR、BPF指令集以及如何在Linux运行BPF应用,Pass和PassManager的运行机制等知识。通过阅读本书,读者理解和掌握LLVM代码生成过程,可以根据本书指导为基于LLVM开发一款新后端的编译器。同时本书还介绍了各种编译过程中使用到的算法,读者可以根据场景对算法进行增强从而达到性能优化目的。
本书由浅入深、循序渐进地讲解Windows 11的使用方法,以及一些高级的管理和应用技巧,以便读者能够更加深入地使用Windows 11。 本书以Windows 11的相关管理任务为主线,内容由浅入深,包括体验全新的Windows 11,拥有属于自己的Windows 11,Windows 11的基本设置,打造属于自己的Windows 11,文件与文件夹的高效设置,精通Windows 11文件系统,Windows 11软硬件管理,Windows 11多媒体管理与应用,Windows 11共享与远程操作,认识Microsoft Edge浏览器,体验精彩的Windows 11云,Hyper-V虚拟化,让Windows 11 飞 起来,Windows 11的系统重置、备份与还原,Windows 11故障解决方案等。 本书适合计算机初学者、计算机办公人员学习参考,对计算机管理员来说也有一定的参考价值。
本书为Linux之父林纳斯 托瓦兹的自传。书中以林纳斯 托瓦兹对人生和社会走向的独特理解(生存、社会秩序、娱乐)为线索,在讲述林纳斯 托瓦兹成长经历的同时,阐述他对技术、自由、信息共享以及创造激情的体会与感悟,以及黑客精神与商业现实之间的冲突的深入思考,描绘出了以 自由与激情 为主导价值和内在驱动的黑客人生信仰模式,是了解林纳斯成功之路与人生哲学,以及Linux操作系统幕后故事的佳作。 本书适合计算机相关从业者阅读,也作为对Linux系统、黑客精神感兴趣的读者的参考资料。
本书基于Windows 10和Windows Server 2016编写,深入解析Windows操作系统的系统架构、进程、线程、内存管理等知识,旨在帮助读者了解Windows 10和Windows Server 2016操作系统内部工作原理,使之在针对Windows平台开发应用程序时,可以更好地理解不同设计机制间的关系。 本书先介绍Windows的基本概念和工具以及Windows的架构和主要组件,然后详细介绍进程和作业、内存管理、I/O系统等内容,*后介绍Windows内置的安全机制以及用于阻止滥用的各种缓解措施。 本书辅以大量实验,并给出了具体步骤,可供读者自行尝试,让他们通过内核调试器、Sysinternals工具和专为本书内容开发的其他工具一窥Windows的工作原理,进而能够将这些知识应用于改进应用程序设计、调试以及系统性能和支持。 本书适合希望了解Windows 10和Windows Server 2016操作系统内部工作原理的开发者、系统管理员及安全研
这是一本深度解读Android性能优化底层原理并给出可落地的一线实践指导的专业技术书。书中不仅原理讲解透彻,而且会给出很多基于读者实际工作成绩的实战案例。本书共分为11章,其中第1章总体介绍Android性能优化的背景、本质、方法论和落地方向,第2~10章从原理和实战两个层面分别对内存优化、速度优化、稳定性优化、包体积优化及其他优化进行解读。最后一章是作者多年优化从业经验的总结。