本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
本书由CCF组织富有程序设计教学经验的钻石教练编写。通过详实的例题,循序渐进地介绍中学生计算机程序设计的各种知识及其应用,内容包括树及其应用、二叉树及其应用、集合与并查集、图及其应用、二分图及其应用、散列表及其应用、排序及其应用、基础算法及其应用、动态程序设计、数学在程序设计中的应用等,旨在普及计算机科学教育,培养中学生的计算思维能力。
《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》针对嵌入式、物联网开发的工程需求,在全面介绍UART接口、RS485接口等硬件接口的工作原理、调试方法的基础上,介绍了Qt跨平台开发的知识,如GUI编程、信号和槽、定时器、事件循环、HTTP和TCP通信等。尤其是着重介绍了网络通信中常用的JSON的原理和cJSON库的使用方法。本书以一个气象站程序为例,对介绍的知识加以应用,同时展示了工程实践中程序迭代升级的过程。 《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》可以分为3部分:第一部分(第1章和第2章)主要介绍硬件接口知识,包括硬件接口(UART、RS485)、通信协议(Modbus)、调试工具(逻辑分析仪、串口调试助手)等的原理和使用方法;第二部分(第3~6章)主要介绍Qt开发的知识,包括GUI程序开发、控件、信号和槽、事件的使用等;第
大模型技术是目前人工智能领域的重要发展方向之一,具有广阔的应用前景和巨大的发展潜力。本书结合当前高等院校创新实践课程,基于大模型应用程序的开发方法,给出可执行实战案例。大模型技术主要开发方向为人机聊天、自动生成代码、旅游图鉴等,本书案例主要包括系统架构、系统流程、开发环境、开发工具、系统实现、功能测试等内容。本书中所述案例多样化,可满足不同层次的人员需求; 同时,本书附赠视频讲解、工程文件、拓展知识、插图素材、程序代码,供读者自我学习和自我提高使用。本书可作为大学信息与通信工程及相关专业的本科生教材,也可作为从事物联网、创新开发和设计的专业技术人员的参考用书。
机器学习是以概率论、统计学、信息论、**化理论、计算理论等为基础的计算机应用理论学科,也是人工智能、数据挖掘等领域的基础学科。《机器学习方法》全面系统地介绍了机器学习的主要方法,共分三篇。篇介绍监督学习的主要方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与**熵模型、支持向量机、Boosting、EM算法、隐马尔可夫模型、条件随机场等;第二篇介绍无监督学习的主要方法,包括聚类、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配、PageRank算法等。第三篇介绍深度学习的主要方法,包括前馈神经网络、卷积神经网络、循环神经网络、序列到序列模型、预训练语言模型、生成对抗网络等。书中每章介绍一两种机器学习方法,详细叙述各个方法的模型、策略和算法。从具
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统是解决这一矛盾的重要工具。推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
本书是全面、系统学习Mastercam 2024 软件的参考书,全书以Mastercam2024 中文版为蓝本进行编写,内容包括Mastercam 2024 基础知识、系统配置与基本操作、基本图形的绘制与编辑、图形尺寸标注、曲面的创建与编辑、创建曲面曲线、实体的创建与编辑、Mastercam 2024 数控加工入门、2D 加工、曲面粗加工、曲面精加工、多轴铣削加工、车削加工和线切割加工。 本书是根据北京兆迪科技有限公司给国内外几十家不同行业的知名公司(含国外独资和合资公司)编写的培训教案整理而成的,具有很强的实用性和广泛的适用性。本书附赠学习资源,包括大量数控加工编程技巧和具有针对性的实例教学视频,并进行了详细的语音讲解。另外,学习资源中还包含本书所有的素材文件、练习文件及已完成的范例文件。 本书章节的安排次序采用由浅入深、循序渐进的原则。在内容安排上,本
《WTF Solidity智能合约教程(入门篇)》内容源自GitHub上发布的“WTF Solidity教程”,丰富且实用,用通俗易懂的语言描述Solidity的基础知识,通过实例和代码示例,深入浅出地介绍Solidity编程的关键概念,以及智能合约的优化、安全等高级主题,让读者能够编写出更安全、更高效的智能合约。
本书以目前流行的大语言模型ChatGPT为基础,用丰富的案例演示ChatGPT在软件测试中的赋能作用。本书主要介绍如何用ChatGPT生成需求规格说明书、测试计划、功能测试用例、自动化测试用例、接口测试用例、测试数据和性能测试用例,以及?ChatGPT?在分析测试结果、辅助?CI(Continuous Integration,持续集成)、生成测试总结报告和职业发展中的应用等。 本书内容通俗易懂,案例丰富,涵盖软件测试的功能测试、性能测试、接口测试和自动化测试等。通过阅读本书,读者可以借助大语言模型(简称大模型)提高测试效率和研发效率,提升测试工作质量。本书适合软件测试人员、项目管理人员、研发人员及关注软件效能提升的相关人员阅读,也适合希望借助大语言模型提升工作效率的技术人员阅读。
《交互设计创新方法与实践》以交互设计的创新理论方法为重点,配合设计实践案例的介绍,全面讲解了与交互设计领域相关的各方面知识,包括:交互设计学科的核心学习方向;用户体验、用户研究、信息设计、交互设计等分支方向的理论方法与案例分析;如何在具体情境中应用相应知识点的交互设计实践指导;进行学术研究、论文阅读与写作的方法;各个知识点的历史发展脉络、未来发展趋势及其可能性。 全书共分8章,可以分成3部分。第一部分(第1章)是学科基础,系统地介绍了交互设计学科的基本概念、历史发展和入门知识。第二部分(第2~6章)是创新理论与实践,从用户研究、信息设计、用户体验、交互设计、原型与评价5个方面的前沿知识点出发,通过具体案例讲解如何将理论转化为设计应用实践。第三部分是(第7、8章)前沿与研究,介绍了交互设
本书是面向数字芯片设计与验证的入门书籍,是微电子相关专业的基础课程。 本书以理论基础为核心,以参考实例为主线,帮助读者迅速建立数字芯片设计和验证的概念和设计基础,包括两篇:数字电路及Verilog篇讲解数字逻辑电路基础,硬件描述语言Verilog的基础语法,对应的实例分析,以及组合逻辑电路和时序逻辑电路的设计和验证的参考实例;SystemVerilog篇讲解包括兼顾设计和验证的语言SystemVerilog的基础语法,对应的实例分析,以及由简单到相对复杂的运算器的设计和验证的参考实例。 本书根据实际工程项目的经验,做了精简和重难点分析,并提供了丰富的实例和源代码供学习参考,通俗易懂,并且易于上机实践,提升学习效果,适合初学者入门,也可作为高等院校和培训机构相关专业的教学参考书。
本书系统地讲述了智能现象的发展历史。全书共分为9 章。第1 章介绍本书的写作背景、智能的不同定义、智能现象问题、智能现象新的假说;第2 章介绍宇宙从无到有(物质、能量和空间)、不安分的宇宙、改变以稳定宇宙等内容;第3 章介绍物理学中的智能,包括美丽的物理世界、引力智能、引力和暗能量、熵引力、最小作用量原理、量子隐形传态等内容;第4 章介绍化学中的智能,包括化学发展的简要历程、耗散结构、熵增、最大熵产生;第5 章介绍生物学中的智能,包括生命的定义、生命为什么存在、微生物的智能、植物的智能、动物的智能;第6 章介绍人类的智能,包括大脑中的新皮质、人类特殊的思维方式、关于大脑的理论(贝叶斯大脑假说、高效编码原理、神经达尔文主义、自由能最小原理),以及信息过载与信息茧房;第7 章介绍机器的智能,包括1950
如何量化用户体验对有效提高产品的使用质量至关重要。本书详尽地介绍了如何有效且可靠地收集、分析和呈现典型的用户体验度量数据:操作绩效(正确率等)、用户体验问题(频率和严重程度)、自我报告式的满意度及生理/行为数据(眼动追踪等)。同时对 综合性量化度量数据 等问题进行了专门介绍,而且结合案例等形式对当前与用户体验相关的新内容(如用户体验对NPS的影响)进行了说明。本书内容翔实,是一本值得用户体验从业人员研读的指导性书籍,同时也可以作为相关课程的参考教材。
本书是一本系统讲解管理软件需求分析的书,以实战为主。包括大量案例以及来自工作实践中的经验心得。主要讲述了:需求分析的工作步骤;需求分析的工作内容;如何进行需求调研;如何进行系统规划;如何设计软件;如何设计出好软件;快速原型开发模型;需求文档的撰写;如何应对需求变更;如何成为需求分析高手。本书适合从事需求分析工作的专业人士、希望从事需求分析工作的IT人、希望了解需求分析工作的IT人、计算机相关专业的大学生、管理相关专业的大学生、企事业单位从事管理工作的各级管理者,以及企业信息化管理体系中的关键用户等。
本书系统讲解了树莓派智能系统设计与Python编程,内容涉及传感器接口、物联网开发、 语音、图像、视频等方面的应用。全书共8 章,分别介绍了树莓派的使用与配置过程、Python 程序设计基础知识、树莓派GPIO 与传感器接口、环境参数监测智能小车、树莓派本地服务器构建与Web端监控软件以及树莓派在语音、视觉和深度学习中的典型应用。通过本书的学习,读者可以快速掌握树莓派智能系统的设计与应用。 为便于读者高效学习,快速掌握树莓派智能系统的开发与实践,作者制作了完整的源代码以及典型案例的讲解视频,并且收集、整理了大量学习的资料与工具。 本书适合作为高等院校电子信息类专业学生学习嵌入式系统、人工智能、Python编程语言相关课程的参考书,也可以作为树莓派爱好者的自学用书。
照由浅入深、循序渐进的方式,讲解软件的新特性和操作方法,使读者能够快速掌握SolidWorks软件的设计技巧。 对于SolidWorks软件的基础应用,《SolidWorks 2022完全实战技术手册》内容讲解得非常详细。通过实例和方法的有机统一,使本书内容既有操作上的针对性,也有方法上的普遍性。《SolidWorks 2022完全实战技术手册》图文并茂,讲解深入浅出、繁就简、贴近工程,把众多专业和软件知识点有机地融合到每章的具体内容中。《SolidWorks 2022完全实战技术手册》的体例结构生动而不涩滞,内容编排张驰有度,实例叙述实用而不浮烦,能够开拓读者思路,提高读者阅读兴趣,使其掌握方法,提高对知识综合运用的能力。 通过对《SolidWorks 2022完全实战技术手册》内容的学习、理解和练习,能使读者真正具备SolidWork设计者的水平和素质。《SolidWorks 2022完全实战技术手册》既可
本书针对新一代GUI开发平台MATLAB App Designer(MATLAB R2019b)的应用分两个部分加以详细介绍。部分结合两个综合案例详细介绍用MATLAB App Designer设计App(GUI)的方法与步骤、重点与难点;第二部分以机械工程领域中各种专业案例为基础详细介绍每个App设计的编程解决方法。 本书可作为高职高专及高等院校的机械工程及相近专业的专业课辅助教材,也可作为相关领域工程技术人员进行设计的辅助工具书。
在软件架构中没有哪个决定是轻而易举的。相反,有许多艰难的部分,要么是难题,要么是缺少实践,这迫使你在各种妥协中做出选择。通过本书,你将学会如何批判性地思考分布式体系结构的利弊。 软件架构老兵和实践顾问Neal Ford、Mark Richards、Pramod Sadalage、Zhamak Dehghani讨论了选择适合架构的策略。全书交织着一群虚构的技术专业人员(Sysops Squad)的故事,他们研究了从如何确定服务粒度、管理工作流和编排、管理和解耦合约、管理分布式事务到如何优化可扩展性、弹性和性能等操作特性的一切问题。 本书通过关注常见的问题,提供了一些技术,帮助你在面对架构问题时进行权衡。
在这本书中,作者给出在过程工业中所需要的先进控制技术的概念和术语。这本书是为熟悉传统控制过程却在先进控制领域缺少相关经验的控制工程师编写的。这本书的每一章的结构允许快速了解技术及如何应用。应用大量实例来说明什么是需要处理应用程序。而且,每一章的*段介绍相关技术的数学基础,章末则给出探索性的内容。读者可通过转到本书附带的 web 站点查看车间解决方案。
本书分为两大部分,其中第一部分 基础篇 包括第1~11章,第二部分 进阶篇 包括第12~18章。Unity 3D初学者在学习第一部分后,完全可以制作出属于自己的游戏。但是能做出来不代表做得好,这里的 好 主要是指游戏性能高以及开发难度大。从商业游戏的角度来说,必须做到这两点,所以第二部分主要讲解Unity 3D的性能与原理。除第1章外,书中的每一章都包含丰富的示例和源代码,它们是非常宝贵的实战经验,可以直接应用在实际开发中。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
《逆向工程核心原理》十分详尽地介绍了代码逆向分析的核心原理。作者在Ahnlab 研究所工作多年,书中不仅包括其以此经验为基础亲自编写的大量代码,还包含了逆向工程研究人员必须了解的各种技术和技巧。彻底理解并切实掌握逆向工程这门技术,就能在众多IT相关领域进行拓展运用,这本《逆向工程核心原理》就是通向逆向工程大门的捷径。 想成为逆向工程研究员的读者或正在从事逆向开发工作的开发人员一定会通过《逆向工程核心原理》获得很大帮助。同时,想成为安全领域专家的人也可从《逆向工程核心原理》轻松起步。
本书重点介绍了基于Qt开发体系结构中面向底层和顶层程序设计的项目研究结果,以一套集成软件层、硬件层、网络层、跨语言层和虚拟服务与虚拟设备层等完整应用程序的开发为例,对Qt平台的相关原理、方法与技巧进行说明。在底层方面,主要研究了Qt在桌面系统底层驱动程序开发的模块结构与特点,并以我国二代*读卡器及SIM 卡读/写卡器为对象,给出系统设计、代码与实例。在顶层方面,重点研究了当前跨平台、跨语言、跨代码的远程程序通信协议,重点讲解了基于C 的Qt应用与基于Java语言的Web应用,其通过第三方远程通信协议进行跨语言级的函数调用,尤其重点介绍了允许二进制通信的Hessian远程通信协议,并给出了相应的解析实例。此外本书还介绍了Qt主要的高级功能模块,包括界面设计、Web网站文件的上传与下载、应用实例检测、外部动态链接库调用、系统托盘管理、网
本书主要讲述如何自己动手制作( DIY )一个微型多旋翼飞行器。书中内容主要分四篇:篇主要介绍飞行器的相关基础知识,让读者对多旋翼飞行器有个感性的认知;第二篇重点介绍飞行器的硬件平台,包括模块详细解说、实物组装、固件下载方法和飞行器的操作说明等;第三篇重点介绍飞行器的软件开发环境、软件各个功能部分的讲解和各个模块部分的连接、飞控系统的核心算法等;第四篇介绍多旋翼飞行器的拓展,控制操作入门和技巧,以及其在不同行业的应用。 本书配套资料里面包含了微型多旋翼飞行器的代码,同时也包含遥控器代码。这些代码均有详细的注释,读者可参考它设计自己的固件,亦可通过书中介绍的方法,将编译后的代码下载到飞行器和遥控器中来体验飞行。 本书主要针对未入门而有强烈意愿DIY的飞行器爱好者和即将参加赛事的大学生朋友
本书是微软DAX语言在商业智能分析、数据建模和数据分析方面的指南。 通过对本书的学习,你将了解如何使用DAX语言进行商业智能分析、数据建模和数据分析;你将掌握从基础表函数到高级代码,以及模型优化的所有内容;你将确切了解在运行DAX表达式时,引擎内部所执行的操作,并利用这些知识编写可以高速运行且健壮的代码。 本书第2版的重点内容包括基于免费的Power BI Desktop来构建和运行示例,帮助你在Power Bl、SQL Server Analysis Services或Excel中充分利用强大的变量(VAR)语法。你想要使用DAX所有的强大功能吗?那么这本未进行任何删减、深入浅出的著作正是你所需要的。 本书适合Excel高级用户、商业智能分析人员、使用DAX和微软分析工具的专业人士。