这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
内容简介 这是一本从架构视角讲解如何构建大型分布式系统的著作,是超级畅销书《深入理解Java虚拟机》的作者周志明多年架构和研发经验的总结,得到了多位行业资深架构专家的联袂推荐。 全书共16章,分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分。 第1部分 演进中的架构(第1章) 着重介绍了软件开发历史中多种主流架构风格出现的契机、解决的问题以及带来的新缺陷。 第二部分 架构师的视角(第2~5章) 总结了一名架构师应该在架构设计时思考哪些问题,有哪些主流的解决方案和行业标准做法,各种方案有什么优缺点,不同的解决方法会带来什么不同的影响,等等。 第三部分 分布式的基石(第6~10章) 重点讨论了 不同架构风格是应该在技术规范上统一,还是由应用系统自行解决 这个问题,给出了解决思路、方法
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
《SOLIDWORKS 2018 中文版从入门到精通》一书重点介绍了SOLIDWORKS 2018 在工程设计中的应用方法与技巧。全书共11 章,主要包括SOLIDWORKS 2018 概述、草图绘制、草绘特征、放置特征、特征编辑、曲线与曲面、装配零件、生成工程图、钣金设计、运动仿真、VR 动画制作工具 SOLIDWORKS Composer 等内容,电子书部分包括模型显示和阀门凸轮机构运动仿真实例。全书内容由浅入深,从易到难,图文并茂,语言简洁,思路清晰。每一章的知识点都配有案例讲解,以加深读者对知识点的理解,在每章的*后还配有实践与练习,帮助读者进一步巩固并综合运用所学知识。另外,本书还配备了丰富的学习资源,可扫描书后 文泉云盘 二维码获取下载方式,具体内容如下。1. 256 集(段)本书实例配套教学视频扫码观看,可像看电影一样轻松学习,然后对照书中实例进行练习。2. 2 章扩展学习内容
本书主要讲解了Go语言一些关键特性的实现原理,Nicklaus Wirth大师曾经说过:算法 数据结构=程序,语言特性的实现也不外乎就是数据结构 代码逻辑。 全书共分为4个部分:部分是基础特性(第1章~第3章),第二部分是对象模型(第4章~第5章),第三部分是调度系统(第6章~第7章),第四部分是内存管理(第8章~第9章)。书中主要内容包括:指针、函数栈帧、调用约定、变量逃逸、Function Value、闭包、defer、panic、方法、Method Value、组合式继承、接口、类型断言、反射、goroutine、抢占式调度、同步、堆和栈的管理,以及GC等。 书中包含大量的探索示例和源码分析,在学会应用的同时还能了解实现原理。书中绝大部分代码都是用Go语言实现,还有少部分使用汇编语言,都可以使用Go官方SDK直接编译。探索过程循序渐进条理清晰,用到的工具也都是SDK自带,方便读者亲自上
本书从技术和业务方面介绍了开发成功的系统需要了解的知识,涵盖了基于模型的系统工程、生命周期和过程的基本方面,以及开发系统的方法,给出了关键管理过程和系统工程实践和指南。
最优化技术是科学与工程领域中的重要数学工具。本书首先介绍非线性方程组的解析与数值解法,然后介绍各个分支的最优化问题建模与求解方法,包括无约束最优化、凸优化(如线性规划、二次型规划与几何规划等)、非线性规划、混合整数规划、多目标规划与动态规划等,最后简要介绍智能优化方法,并与常规方法进行对比研究。与传统的最优化技术方面的教材不同,本书侧重于利用MATLAB语言直接描述与求解最优化问题。本书可作为一般读者学习和掌握最优化技术的教材或教辅读物,还可以作为高等学校理工科各专业的本科生和研究生学习计算机数学语言的教材,并适合作为相关人员查询最优化计算方法的工具书。
《嵌入式实时操作系统 基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》(原书第2版)从实战角度出发,依托STM32F4 Discovery开发套件丰富的软硬件开发资源,基于嵌入式实时多任务操作系统FreeRTOS,通过一系列的实验,深入分析了RTOS的工作原理和实现机制。《嵌入式实时操作系统 基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》(原书第2版)*篇介绍了嵌入式系统应用开发流程及软硬件开发工具。第二篇内核基础实验将RTOS理论付诸实践,演示了任务创建,优先级调度策略,多任务应用面临的共享资源的争用、性能降低及优先级反转等问题。实验实现了各种任务交互的机制,帮助读者直观地了解RTOS的工作机理。第三篇针对多任务RTOS应用的运行时行为,采用Tracealyzer工具,可视化FreeRTOS的运行行为,展示了运行时分析工具的价值,通过具体的应用分析,帮助读者理解和控制软件
《从零开始学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构建图书管理系统。
华为自主研发的HarmonyOS(鸿蒙系统)是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。借助HarmonyOS全场景分布式系统和设备生态定义全新的硬件、交互和服务体验。本书采用新的HarmonyOS 2版本作为基石,详细介绍如何基于HarmonyOS进行手机应用的开发,内容涵盖HarmonyOS架构、DevEco Studio、应用结构、Ability、任务调度、公共事件、通知、剪切板、Java UI、JS UI、多模输入、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理、原子化服务、流转等多个主题。本书列举了大量解决实际问题的案例,具有很强的前瞻性、应用性、趣味性。 本书主要面向的是对移动应用或HarmonyOS应用感兴趣的学生、开发人员、架构师。
本书通过基础知识和案例的相辅相成,使读者快速掌握Vue.js3编程知识,并围绕Vue.js3的生态搭建并讲解一个企业级应用框架,更贴合实际开发。 本书共14章,内容包括搭建开发环境、熟悉Vue.js基础、路由--Vue-Router、全局状态管理--Pinia、CSS扩展语言--SCSS、UI框架--Element-Plus、数据请求--Axios与Express、类型校验--Typescript、脚手架--Vite,代码管理仓库--Git等,最后给出管理系统实战案例供读者了解Vue.js项目的开发过程与一些常见业务。本书内容丰富、理论结合实践,适合Web前端开发初学者,也适合作为高等院校
IntelliJ IDEA 是一款优秀的软件开发工具,学习和掌握IntelliJ IDEA对于开发者来讲具有十分重要的意义。本书以IntelliJ IDEA的操作使用为主线,同时贯穿示例教学,全面地向读者展示了其强大的开发与管理能力。本书为读者准备了比较全面的技术体系,共16章。第1章与第2章主要讲解了IntelliJ IDEA的使用技巧;第3章主要讲解了IntelliJ IDEA中的工程结构及组织方式;第4章与第5章主要讲解了IntelliJ IDEA下项目的编译、部署、运行与调试;第6章与第7章讲解了Maven等项目构建管理工具的使用;第8章Git版本管理是开发者需要着重学习的知识技能;第9章讲解了Spring项目的使用原理并深化了示例;第10章讲解了数据库管理工具的使用技巧;第11章至第14章进行了全方位的拓展,引入了Docker容器、Vue.js、Scala、Python等相关内容;第15章为辅助教学篇,主要讲解了持续化部署工具的使用;第16章
本书聚焦于当今高性能多核处理器的并行编程系统的理论和实践方面,探讨实现并行编程模型所需的关键算法的有效实现。此类实现需要考虑底层计算机体系结构的特定体系结构方面以及执行环境提供的功能。本书简要回顾了现代计算机体系结构的关键概念,特别关注并行代码的性能以及并行编程模型中的相关概念。然后,本书转向用于实现并行编程模型的基本算法,并讨论它们如何与现代处理器交互。虽然本书将重点介绍一般机制,但我们将主要使用英特尔处理器体系结构来举例说明所讨论的实现概念,但也将在适当的情况下介绍其他处理器体系结构。所有的算法和概念都以一种易于理解的方式进行了讨论,并附有许多示例、图表和源代码片段。
进度失控,几乎是每一个软件开发项目挥之不去的噩梦。如何从容赶急,如何通过正确的开发策略和原则,避免典型错误,有效地进行风险管理,从多个方面贯彻执行快速软件开发,都可以从本书中找到答案。《快速开发(纪念版)》借助于实际案例和数据,阐述了快速软件开发方法的要领和精髓。 《快速开发(纪念版)》前两部分描述快速开发的策略和理念,其中的案例讨论有助于读者清楚地领略到策略和理念在实践中的作用。第Ⅲ部分则由27个快速开发实践构成,对于技术领导、程序员和项目经理具有重要的参考和指导意义。
《Vue.js从入门到企业级实战》是一本以高薪就业为目的,完全还原真实项目、真实服务端数据接口的Vue实 战教程。全书共分为两大篇:Vue2篇和Vue3篇。其中,Vue2篇由基础知识和实战两大部分组成,包括学习Vue前 的准备工作、Vue基础、组件、过渡与动画、可复用性组合、vue-cli的安装与配置、Vue全家桶之router、Postman 软件的使用、Vue全家桶之axios、使用Fetch与服务端通信、Vue全家桶之Vuex、第三方插件和UI库的使用、项目架 构搭建和企业级项目实战;Vue3篇为电子书,包括Vue3开发必学的TypeScript语法、用Vue3创建项目、Vue3新特性 Composition API、用Vue3开发插件及使用第三方UI库。 《Vue.js从入门到企业级实战》内容丰富,实用性强,以面试内容和实战项目为基础进行讲解,所讲解的每个知 识点都会让读者知道在实际项目的开发中如何使用,教会读者如何快速学会Vue编程并进行实
本书是一部系统解析操作系统原理及openEuler核心技术著作。为便于读者高效学习,本书结合openEuler中的实现代码,详细介绍了操作系统的基本原理和核心技术。全书共分为10章: 第1章操作系统概述,介绍了操作系统的基本概念、发展历史、基本功能、设计目标、发展趋势,以及openEuler简介; 第2章鲲鹏处理器,介绍了鲲鹏处理器的体系架构、CPU编程模型、CPU访存原理,以及鲲鹏处理器与openEuler; 第3章进程与线程,介绍了进程的概念、进程描述、进程控制、系统调用、进程切换机制及线程; 第4章CPU调度,介绍了调度性能指标、常见调度算法、多核调度策略及CFS调度器; 第5章内存管理,介绍了虚拟内存、分页机制、地址转换加速机制、多级页表及物理内存扩充机制; 第6章线程/进程间通信,介绍了互斥与锁、自旋锁、同步与信号量、共享内存、消息传递等机制及内存
本书以多智能体系统协同群集运动控制为主线,首先介绍了图论和控制器设计所用到的基础理论知识;其次,分别从拓扑结构的边保持和代数连通度两个角度介绍了连通性保持条件下的协同群集运动控制协议设计方法;进而,针对典型的轮式移动机器人非完整约束模型介绍了连通性保持条件下的协同控制策略,为简化系统复杂拓扑结构,还介绍了基于骨干网络提取的协同群集运动控制策略;书中将个体动态模型提升到高阶非线性系统模型,介绍了高阶非线性系统协同控制协议设计方法;最后,针对多智能体系统非合作行为检测与隔离进行了详细介绍,并提出了相关算法。
本书以基础知识和实例相结合的方式成体系地介绍鸿蒙应用程序开发的常用技术。全书共10章。第1~3章介绍鸿蒙应用程序开发的基础知识,从创建应用程序工程开始手把手介绍用户界面开发的基本流程。第4和5章按照Java和JavaScript这两种编程语言分别介绍了用户界面开发的基本知识。第6~10章介绍鸿蒙应用程序开发的众多基础特性,包括通知、公共事件、Service Ability、数据持久化、Data Ability、网络访问、媒体访问、相机拍照、订阅传感器、获取地理位置等众多功能。 本书定位为鸿蒙应用程序开发的入门教程,成体系地介绍鸿蒙应用开发的基础知识,面向对鸿蒙操作系统感兴趣的学生、开发者和相关从业人员。
本书系统全面地讲解鸿蒙操作系统下的应用开发所需基础知识,并通过丰富的案例实践提高应用能力。 整本书共11章,第1章对鸿蒙操作系统进行概述,并搭建应用开发环境。第2~5 章分别讲解了Java、JavaScript语言基础及Java、JavaScript下的UI布局实现。第6章讲解了鸿蒙轻量级智能穿戴设备的开发。第7章讲解了应用所具备能力Ability。第8章讲解了本地应用数据管理及分布式服务。第9章讲解了包括图像、相机及音视频的多媒体功能。第10和11章为应用实战,包含两个完整实践案例。本书通俗易懂,循序渐进,且包含丰富的代码讲解和应用实例,操作性较强,并配套PPT和视频讲解,是鸿蒙应用开发入门者的不二之选。 本书主要面向鸿蒙应用的入门开发者,也可作为培训机构的参考用书。
本书是被誉为UNIX编程“”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。 本书内容,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。
《Premiere Pro CC 2018 中文版基础培训教程》全面、系统地介绍了Premiere Pro CC 的基本操作方 法和视频处理技巧,包括进入理论知识大讲堂、初识Adobe Premiere Pro CC 2018、素材的导入与采集、 Premiere 的编辑基础、视频效果、视频过渡特效、调色技术、文字效果、音频处理、关键帧动画和运动特效、 抠像与合成等内容,另附3 章电子书内容,包括输出影片、电子相册和旅游片头等实战内容。 本书内容均以课堂案例为主线,通过对各案例的实际操作,使读者可以快速上手,熟悉软件功能和 艺术设计思路。书中的思维点拨部分能够使读者深入了解视频编辑的基础知识;案例实战可以拓展读者 的实际应用能力,提高软件操作技巧;综合实战可以帮助读者快速地掌握商业视频的设计理念和编辑方式, 顺利达到实战水平。 本书适合Premiere 软件的初学者阅读,同时可作为相关教
本书的编写目的是让读者尽可能全面地掌握After Effects CC 2018软件的使用方法。书中深入讲解了软件的每个功能和命令,可以作为一本手册随时查阅。实例部分由浅入深,步骤清晰简明、文字通俗易懂,适合不同层次的读者学习。本书还着重介绍了Trapcode RED GIANT效果插件中Particular、Form、Mir、Tao等插件的应用方法。本书配套素材中收录了大量的素材视频,读者可以根据需要练习和使用。本书结构清晰、语言流畅、内容翔实,从各个方面展现了After Effects CC 2018的强大功能,书中的实例突出实用性,适合广大初中级After Effects CC 2018用户阅读,也可以作为高等院校相关专业的教材。
编写本书是为了向学生和专业人员提供在Linux内核中实现网络功能时所需的基础知识,本书也适合所有希望深入理解操作系统内部网络特定进程的人。本书介绍了Linux内核的关键网络组件及机制,同时也介绍了通信系统的设计。 本书详细地描述了新近Linux内核版本中的网络子系统。 这里解释了协议的工作方式,建立了Linux网络体系结构中的多种重要概念——从设备驱动程序概念一直到应用程序接口概念。 除了PPP、IP、防火墙、路由、TCP、NAT、UDP及套接字等核心问题外,本书还讨论了的协议及协议扩展,譬如各种DSL访问技术中用到的PPPoE协议、Bluetooth(蓝牙)?驱动程序及QoS(Quality-of-Service,服务质量)支持等。