软件与程序设计
-
Java高并发核心编程 卷1尼恩、陈健、徐明冠、岳阳博本书从操作系统底层的IO原理入手讲解Java高并发核心编程知识,同时提供高性能开发的实战案例,是一本Java高并发编程的基础原理和实战图书。 本书共15章。第1~4章为高并发基础,浅显易懂地剖析高并发IO的底层原理,图文并茂地介绍Java异步回调模式,细致地讲解Reactor高性能模式。这些原理方面的基础知识非常重要,会为读者打下坚实的基础,也是日常开发Java后台应用时解决实际问题的金钥匙。第5~8章为Netty的原理和实战,是本书的重中之重,主要介绍高性能通信框架Netty、Netty的重要组件、单体IM的实战设计和模块实现。第9~12章从TCP、HTTP入手,介绍客户端与服务端、服务端与服务端之间的高性能HTTP通信和WebSocket通信。第13~15章对ZooKeeper、Curator API、Redis、Jedis API的使用进行详尽的说明,以提升读者设计和开发高并发、可扩展系统的能力。 本书兼具基础知识和实战案例,既可作为对Java NIO、高性能IO、高并发编程感兴趣的大专院校学生以及初、中级Java工程师的自学图书,也可作为在生产项目中需要用到Netty、Redis、ZooKeeper三大框架的架构师或项目人员的参考书。
-
SRE原理与实践张观石 著这是一本从架构、开发、测试、运维全流程讲解如何进行软件可靠性工程建设的著作,它将帮助读者构建针对软件可靠性工程的完整的知识体系、工程体系和理论体系。本书作者是虎牙科技的SRE架构师,他基于20余年的架构、研发和运维经验,用4年时间反复打磨,代表中国的工程师总结了中国互联网企业的SRE方法和经验。本书得到了中国SRE奠基人、虎牙科技CEO以及华为、腾讯、阿里、B站、亚马逊等企业的10余位技术专家高度评价并一致推荐。本书参考传统可靠性工程及软件可靠性工程体系,把传统可靠性工程中的“六性”(可靠性、维修性、测试性、保障性、安全性、环境适应性)转化为互联网软件可靠性工程的6种能力(可靠性设计能力、观测能力、修复能力、保障能力、反脆弱能力、管理能力)。每一项能力都包括:互联网SRE体系中的概念、能力的设计、能力建设的原则与方法、能力的度量与改进,以及相应的实践案例。通过这6种能力把可靠性相关的工作组织起来,6种能力对应6个工作方向,不仅清晰地描绘出互联网软件可靠性工程体系的全貌,而且详细阐述了每一种能力的获得方法。本书基于传统可靠性和软件可靠性的研究成果,借鉴和应用它们的成熟理论和工程方法,结合互联网软件的实际情况并加以融合和改进,提出了一套符合互联网时代的软件可靠性工程方法。此外,本书还介绍了可靠性管理能力,对互联网软件开发团队、运维团队的技术领导者以及希望转型为可靠性工程师的传统运维人员、开发人员应该都有一定参考价值。
-
Kubernetes Operator开发进阶胡涛(Daniel Hu)编著本书详细讲解Operator开发过程中所涉及的各个知识点,从简单的Operator示例应用入手,帮助读者快速上手Operator的开发流程,接着深入分析client-go、Deployment控制器等的源码,通过一个进阶应用的开发过程详细介绍Operator开发的各方面知识。通过本书的学习,读者能够轻松掌握Operator的开发技巧,深入理解Operator的底层原理,进而在日常工作中更好地利用Operator实现各种复杂的应用治理逻辑的开发。
-
视觉惯性SLAM程小六本书系统介绍以相机和惯性测量单元为主传感器的视觉、视觉惯性SLAM 算法。本书通过选取该领域有代表性的两个开源项目,从原理阐述、公式推导、代码解析和工程经验等多个维度,对SLAM 技术进行全面的解读。为了让读者在轻松的氛围中快速理解专业知识,本书以小白和师兄对话的形式娓娓道来,帮助读者在学习的过程中不断思考和提升。同时,本书秉承“一图胜千言”的理念,把大量复杂的原理或流程绘制成清晰、易懂的示意图,降低了初学者的学习门槛。本书理论和实践并重,引导读者循序渐进地掌握项目实践经验。 本书兼具技术的广度和深度,适合有一定SLAM 基础的高等院校学生、科研机构研究人员和企业从业者阅读,尤其适合希望深入研究视觉(惯性)SLAM 的算法工程师参考。
-
现代CPU性能分析与优化[美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著本书旨在指导大家优化运行在现代CPU上的应用程序的性能。具体来说,主要分为两部分内容:第一部分介绍性能分析,包括对CPU微架构、术语和指标的简要概述,还探讨了分析性能的不同方法和现代平台上可用的硬件监控功能。第二部分展示如何发现优化机会,以及可以做哪些转换来提高程序的性能。此外,还提供了一份可应用于用户应用程序的优化清单,包括循环优化、向量化、函数内联等,并讨论了有助于消除CPU微架构层面的问题(如缓存未命中、分支预测错误等)的代码转换。 本书对于从事性能关键型应用程序开发和进行系统底层优化的技术人员来说是不可或缺的。对于任何想更好地了解应用程序性能并探索其诊断和改进方法的开发者来说,这本书也很有用。
-
零基础学Web 3.0陈飞宇Web3如今作为被市场普遍看好的行业,是未来十年人人都需要了解的。但是另一方面,行业内却缺乏一本专业性和通俗性兼顾的读物。本书从通俗易懂的角度出发,既兼顾了完整性,又能使一个完全不了解web3的人能够读懂。本书分8个部分,主要内容包括web3 的身份证、web3 的公链、解决方案、公链和公链之间的桥梁、DEFI链上经典不可或缺的应用、GAMEFI,web3游戏革命,非同质化代币,web3写作。内容全面,知识性、科技性和专业性都强,文字通俗易懂,适合大众读者阅读。
-
RT-Thread设备驱动开发指南杨洁 郭占鑫 刘康 熊谱翔 著本书由自研开源嵌入式实时操作系统RT-Thread核心开发者撰写,专业性毋庸置疑,系统讲解RT-Thread设备驱动开发方法,剖析26种设备驱动开发案例,助力开发者快速掌握RT-Thread设备驱动开发技能。本书的内容共27章,分为三篇。基础篇(第1~11章),先对RT-Thread以及设备框架进行总体介绍,再分别介绍RT-Thread中常用的设备,包括串口、I2C、SPI等,适合刚接触驱动开发的人学习。进阶篇(第12~20章),介绍稍复杂一些的外设驱动,如SDIO、触摸、显示、传感器、加解密设备等。高级篇(第21~27章),介绍一些复杂的驱动,如网络、音频、USB、CAN等,开发此类设备驱动要求开发者本身对相应的外设协议比较熟悉。各章均配有配套案例,方便读者动手实践和参考。
-
Qt 6 C++开发指南王维波本书以Qt 6为开发平台,系统介绍如何用Qt C开发应用程序。首先介绍Qt C应用程序的基本结构、界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,然后深入讲解常用界面组件、模型/视图结构、事件处理、对话框和多窗口程序设计、文件读写等功能的编程方法,以及数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用。本书内容丰富,辅以大量精心设计的完整示例程序,涵盖进行GUI程序设计所需掌握的各种技术主题。
-
PHP从零基础到项目实战未来科技《PHP从零基础到项目实战(微课视频版)(第2版)》从初学者角度出发,以基础知识、实例、实战案例相结合的方式,详细介绍了使用PHP进行网络开发、游戏开发、移动端后台开发、OA系统开发、服务器端开发等应该掌握的各方面技术。全书共27章,主要内容包括PHP概述、PHP运行环境搭建、PHP语言基础、流程控制语句、字符串、使用正则表达式、使用数组、使用函数、面向对象程序设计、错误和异常处理、PHP与Web页面交互、PHP与JavaScript交互、PHP会话管理、日期和时间处理、图形图像处理、文件处理、PHP加密技术、MySQL数据库基础、使用phpMyAdmin管理MySQL、使用PHP操作MySQL、使用PDO操作数据库、PHP与XML技术、PHP与Ajax技术、PHP与Socket技术,最后三章通过购物网站、移动私人社区和技术论坛三个综合案例诠释PHP在实际项目中的具体应用。书中所有知识都结合具体实例进行介绍,将基础知识和实例相结合,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。《PHP从零基础到项目实战(微课视频版)(第2版)》配备了极为丰富的学习资源,其中配套资源有424集微视频(可使用手机扫码看视频)、实例源代码;拓展学习资源有项目源码库、框架源码库、参考工具箱、专题集、代码集、习题集、面试题集、前端开发资源库等。《PHP从零基础到项目实战(微课视频版)(第2版)》适合PHP从入门到精通各层次的读者使用,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
-
图解数据结构胡昭民本书以图解的方式讲述数据结构及其算法,力求简洁明了地阐述复杂的算法理论,以C作为描述语言解析算法的执行过程,以大量的范例程序来展示数据结构的使用及其相关算法的具体实现。 数据结构是计算机专业的核心课程之一,也是编程爱好者程序设计的重要基础。本书内容包含这门必修课的完整知识体系:数组、链表、堆栈、队列、树、图等数据结构,以及基于这些数据结构的各类算法等。为了教学的需要,每章都提供了丰富的课后习题及详细的参考答案。 本书图文并茂,文字简洁、清晰,范例丰富、可操作性强,并配有视频教学、PPT课件和范例程序源码,适合学习数据结构和算法的读者作为自学参考书,也适合作为高等院校计算机及信息相关专业的教材。