这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习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程序正确地运行,这些函数也是必须实现的。
这是一本从实战角度介绍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 学院的配套实验教材,用来增强学生的实际动手能力,也可以作为计算机网络相关专业的实验指导书,还可以作为相关企业的培训教材,同时对于从事网络管理和运维的技术人员来说,也是一本很实用的技术参书。
《ADS信号完整性仿真与实战 第2版》主要是以ADS软件为依托,结合信号完整性和电源完整性的基础理论以及实际案例,完整地介绍了使用ADS进行信号完整性以及电源完整性仿真的流程和方法,最终以实际的案例呈现给读者,具体内容包括信号完整性基本概念、ADS基本概念及使用、PCB材料和层叠设计、传输线及端接、过孔及过孔仿真、串扰案例、S参数及其仿真应用、IBIS与SPICE模型、HDMI仿真、DDR4/DDR5仿真、高速串行总线仿真、PCB板级仿真SIPro、PCB板级仿真PIPro等。 《ADS信号完整性仿真与实战 第2版》内容翔实,深入浅出,结合实际案例的应用进行讲解,实用性强,非常适合作为信号完整性以及ADS仿真入门教程,也可以作为资深仿真工程师的工具书,还可以作为大学电子、电路、通信、电磁场等专业的教学实验教材。
本书为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操作系统内部工作原理的开发者、系统管理员及安全研
操作系统目前已成为我国 卡脖子 的关键技术之一,这对操作系统的教材建设提出了新的要求。首先,教材需要体现操作系统的核心原理与设计,帮助读者构筑系统性的认识;其次,教材需要反映国际研究前沿,帮助读者开拓新思路;*后,教材需要反映工业界实践,不可陷入纸上谈兵的陷阱。 作为操作系统教材的新尝试,本书融合了作者的教学经验与工业实践经验,以三个 面向 为导向,即面向经典基础理论与方法,面向国际前沿研究,面向*新工业界实践,深入浅出地介绍操作系统的理论、架构、设计方法与具体实现。本书将原理与实现解耦,从具体问题导出抽象概念,然后分析实现方法。全书内容以ARM架构为主,x86架构为辅;以微内核架构为主,同时兼顾宏内核与外核等架构。 除纸质版教材外,本书还配有网络章节、在线社区和课程实验。与本书配套的微内
在Windows系统中没有什么比内核更强大了,但是如何编写内核驱动程序来利用这种强大能力呢?这本书为读者描述如何编写Windows系统的软件内核驱动程序。这些驱动程序不涉及硬件,而是处理系统本身:进程、线程、模块、注册表等等。内核代码可用于监视重要事件,防止在需要时发生某些事件。读者可以通过编写各种过滤器来拦截驱动程序中感兴趣的调用。
系统编程是指编写系统软件,其代码在底层运行,直接跟内核和核心系统库对话。 《Linux系统编程(第 2版)》是一本关于Linux系统编程的教程,也是一本介绍Linux系统编程的手册,还是一本如何实现更优雅更快代码的内幕指南。全书分为11章和2个附录,详细介绍了Linux系统编程基本概念、文件I/O、缓冲I/O、高 级文件I/O、进程管理、高 级进程管理、线程、文件和目录管理、信号和时间等主题。附录给出了gcc和GNU C提供的很多语言扩展,以及推荐阅读的相关书目。 《Linux系统编程(第 2版)》的作者是Linux内核专业人士,多本技术图书的作者。《Linux系统编程(第 2版)》需要在C编程和Linux编程环境下工作的程序员阅读,对于想要巩固基础或了解内核的高 级编程人员,《Linux系统编程(第 2版)》也很有参考价值。
《Linux就该这么学(第2版)》源自日均访问量近60000次的线上同名课程,口碑与影响力俱佳,旨在打造简单易学且实用性强的轻量级Linux入门教程。 《Linux就该这么学(第2版)》在上一版的基础上进行了大量的更新,基于红帽RHEL 8系统编写,且内容适用于CentOS、Fedora等系统。本书共分为20章,内容涵盖了部署Linux系统,常用的Linux命令,与文件读写操作有关的技术,使用Vim编辑器编写和修改配置文件,用户身份与文件权限的设置,硬盘设备分区、格式化以及挂载等操作,部署RAID磁盘阵列和LVM,firewalld防火墙与iptables防火墙的区别和配置,使用ssh服务管理远程主机,使用Apache服务部署静态网站,使用vsftpd服务传输文件,使用Samba或NFS实现文件共享,使用BIND提供域名解析服务,使用DHCP动态管理主机地址,使用Postfix与Dovecot部署邮件系统,使用Ansible服务实现自动化运维,
一个好的架构就像一个好的制度,我们不会时时刻刻感受到它的存在,但在关键时刻,它决定了系统能够到达的高度。本书浓缩了携程公司的整个技术架构,可以帮助读者了解支撑一家大型企业所需要的核心技术产品,以及它们的架构和面临的挑战。本书由携程的一线研发工程师们精心编写,他们对携程各个领域的技术实践了如指掌,本书所提到的各种系统离不开他们的耕耘。在给读者呈现携程架构实践的同时,也希望本书能给读者带来一些警示和启发,共同推动技术的进步。不同领域的架构关注点各有侧重,但是方法论是相通的。希望读者通过本书了解携程的架构实践,拓宽视野,丰富自己的架构工具箱,在遇到难题时,看看其他领域的解决思路,就可能碰撞出意想不到的 火花 。
本书介绍了嵌入式Linux系统开发过程中,从底层系统支持到上层GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、Makefile语法、ARM汇编指令等),硬件部件的使用及编程(囊括了常见硬件,?热?UART、I*IC、LCD等),U-Boot、Linux内核的分析、配置和移植,根文件系统的构造(包括移植busybox、glibc、制作映象文件等),内核调试技术(比如添加kgdb补丁、栈回溯等),驱动程序编写及移植(LED、按键、扩展串口、网卡、硬盘、SD卡、LCD和USB等),GUI系统的移植(包含两个G UI系统:基于Qtopia和基于X),应用程序调试技术。 本书从**简单的点亮一个LED开始,由浅入深地讲解,使读者**终可以配置、移植、裁剪内核,编写驱动程序,移植GUI系统,掌握整个嵌入式Linux系统的开发方法。 本书由浅入深
本书对Linux命令行进行详细的介绍,全书内容包括4个部分,*部分由Shell的介绍开启命令行基础知识的学习之旅;第二部分讲述配置文件的编辑,如何通过命令行控制计算机;第三部分探讨常见的任务与工具;第四部分全面介绍Shell编程,读者可通过动手编写Shell脚本掌握Linux命令的应用,从而实现常见计算任务的自动化。通过阅读本书,读者将对Linux命令有更加深入的理解,并且可以将其应用到实际的工作中。 本书适合Linux初学人员、Linux系统管理人员及Linux爱好者阅读。
本书全面深入地讲解了 Windows10 操作系统的关键特性,帮助读者深刻理解和掌握 Windows10 的更新变化与各项功能。本书覆盖的主题包括:版本更新带来的主要变化;桌面使用技巧;Microsoft Edge 浏览器的新特性;操作系统的安装与配置步骤;存储管理知识;Windows10 文件系统;虚拟化技术;Windows 云网络特性;专业的操作系统设置方法;系统启动与任务管理方法;多种账户管理功能;操作系统安全知识。通过掌握书中所介绍的知识、方法和技巧,读者将可以更高效地用好 Windows10,提高生产力。