本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
这是一本指导AI产品真正实现商业化落地的专业技术书。书中内容完全围绕产品落地、商业化展开,既提供了不同类型AI产品的落地方案,又提供了具体的方法、技巧,还提供了安防、制造、汽车等多个典型行业的应用案例。 无论是从技术或其他岗位转型AI产品经理,还是从其他方向的产品经理岗位转型AI产品经理,都可以通过本书弥补欠缺的相关知识。而对于已经入门的AI产品经理,阅读本书可以了解算法、中台、业务等各类AI产品的落地方案,掌握快速、高效、高质量落地产品的方法论。 本书共包括4篇13章的内容。 篇(第1~2章)对AI产品及AI产品经理进行全方位深入解读,目的是让读者真正理解AI产品经理这个职位,这是做好这份工作的基础。另外,本篇还重点介绍了如何成为AI产品经理和如何规划AI产品经理职业发展路径。 第二篇(第3~6章)从机器学习入手,
《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》针对嵌入式、物联网开发的工程需求,在全面介绍UART接口、RS485接口等硬件接口的工作原理、调试方法的基础上,介绍了Qt跨平台开发的知识,如GUI编程、信号和槽、定时器、事件循环、HTTP和TCP通信等。尤其是着重介绍了网络通信中常用的JSON的原理和cJSON库的使用方法。本书以一个气象站程序为例,对介绍的知识加以应用,同时展示了工程实践中程序迭代升级的过程。 《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》可以分为3部分:第一部分(第1章和第2章)主要介绍硬件接口知识,包括硬件接口(UART、RS485)、通信协议(Modbus)、调试工具(逻辑分析仪、串口调试助手)等的原理和使用方法;第二部分(第3~6章)主要介绍Qt开发的知识,包括GUI程序开发、控件、信号和槽、事件的使用等;第
大模型技术是目前人工智能领域的重要发展方向之一,具有广阔的应用前景和巨大的发展潜力。本书结合当前高等院校创新实践课程,基于大模型应用程序的开发方法,给出可执行实战案例。大模型技术主要开发方向为人机聊天、自动生成代码、旅游图鉴等,本书案例主要包括系统架构、系统流程、开发环境、开发工具、系统实现、功能测试等内容。本书中所述案例多样化,可满足不同层次的人员需求; 同时,本书附赠视频讲解、工程文件、拓展知识、插图素材、程序代码,供读者自我学习和自我提高使用。本书可作为大学信息与通信工程及相关专业的本科生教材,也可作为从事物联网、创新开发和设计的专业技术人员的参考用书。
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。第1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。第2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。
机器学习是以概率论、统计学、信息论、**化理论、计算理论等为基础的计算机应用理论学科,也是人工智能、数据挖掘等领域的基础学科。《机器学习方法》全面系统地介绍了机器学习的主要方法,共分三篇。篇介绍监督学习的主要方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与**熵模型、支持向量机、Boosting、EM算法、隐马尔可夫模型、条件随机场等;第二篇介绍无监督学习的主要方法,包括聚类、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配、PageRank算法等。第三篇介绍深度学习的主要方法,包括前馈神经网络、卷积神经网络、循环神经网络、序列到序列模型、预训练语言模型、生成对抗网络等。书中每章介绍一两种机器学习方法,详细叙述各个方法的模型、策略和算法。从具
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统是解决这一矛盾的重要工具。推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
本书由系统架构领域3位领军人物亲笔撰写,系统架构领域资深专家Norman R. Augustine作序推荐,Amazon全五星评价。 全书共分四部分。 第1部分(第1~3章)的重点是系统架构所展现出来的机遇,这种机遇使我们能够厘清定义系统所需的关键决策点,并选出能够应对复杂挑战的架构。第1章通过一些范例来展示架构理念,指出良好的架构,并给出本书的概要;第2章列出了进行系统分析的思路;第3章给出了分析系统架构所用的思维模式。 第二部分(第4~8章)着重对架构进行分析。第4章讨论了系统的形式;第5章讨论了系统的功能;第6章讲解形式与功能之间的映射,并以此给出系统架构的定义;第7章研究如何从独立于解决方案的功能陈述中衍生出系统;第8章演示样把这些概念汇聚成一套架构。 第三部分(第9~13章)讲解如何为复杂的系统定义架构。第9章从任务和可交付
本书从哲学高度和底层逻辑视角剖析了中国ToB行业过去30年沉积下来的弊病和面临的各种困局,作者基于自己在ToB行业深耕10余年后的丰富实践、深度洞察和系统思考,为中国ToB行业的发展给出了破局之法,助力中国ToB企业破茧化蝶,构建服务全球的产业体系和综合能力。对于中国ToB行业而言,作者的经历独特而难得,他是极少数同时具备深厚的科技和人文素养并真正跨越了ToB软件创业全周期的人,这使得本书同时具备中国视角与全球视角、创业者视角与平台视角、产品视角与产业视角,为中国ToB从业者正确理解行业格局、客户需求、产品经营、市场竞争、发展机会给出了明确的指引。本书将解开中国ToB领域企业家和创业者的困惑,激发他们重新思考自己的核心竞争力,走出泥潭、摆脱逆境,走向世界的大舞台。具体内容方面,全书分为上下两篇:上篇以理论分析为
本书是AB实验领域的标准化著作,它将带领你快速理解AB实验原理、掌握AB实验方法、搭建AB实验平台、塑造基于数据和实验的企业文化,高效开展AB实验、实现用AB实验驱动增长。 作者是某BAT大厂的数据科学家,在数据产品、AB实验等数据科学领域有10余年经验,亲自主导了该厂AB实验平台的搭建和AB实验产品的设计与分析,积累了丰富的经验。 学习本书,你将收获以下知识和技能: AB实验的基础知识、关键问题及其挑战; AB实验的统计学知识、参与单元、随机分流; AB实验的SRM问题、灵敏度、长期影响; AB实验的产品指标体系、评估指标体系; AB实验的平台建设、组织和文化建设; AB实验的增长实践和解决方案; AB实验的难点和局限性; 因果分析方法和用户调查分析方法 本书内容具有以下3个特点: (1)全面系统、主次分明:如上所述,本书涵盖AB实验
本书系统地讲述了智能现象的发展历史。全书共分为9 章。第1 章介绍本书的写作背景、智能的不同定义、智能现象问题、智能现象新的假说;第2 章介绍宇宙从无到有(物质、能量和空间)、不安分的宇宙、改变以稳定宇宙等内容;第3 章介绍物理学中的智能,包括美丽的物理世界、引力智能、引力和暗能量、熵引力、最小作用量原理、量子隐形传态等内容;第4 章介绍化学中的智能,包括化学发展的简要历程、耗散结构、熵增、最大熵产生;第5 章介绍生物学中的智能,包括生命的定义、生命为什么存在、微生物的智能、植物的智能、动物的智能;第6 章介绍人类的智能,包括大脑中的新皮质、人类特殊的思维方式、关于大脑的理论(贝叶斯大脑假说、高效编码原理、神经达尔文主义、自由能最小原理),以及信息过载与信息茧房;第7 章介绍机器的智能,包括1950
本书着重讨论以下核心内容,并层层递进,逐步深入。 首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。 其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。 后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。
如何量化用户体验对有效提高产品的使用质量至关重要。本书详尽地介绍了如何有效且可靠地收集、分析和呈现典型的用户体验度量数据:操作绩效(正确率等)、用户体验问题(频率和严重程度)、自我报告式的满意度及生理/行为数据(眼动追踪等)。同时对 综合性量化度量数据 等问题进行了专门介绍,而且结合案例等形式对当前与用户体验相关的新内容(如用户体验对NPS的影响)进行了说明。本书内容翔实,是一本值得用户体验从业人员研读的指导性书籍,同时也可以作为相关课程的参考教材。
本书是一本系统讲解管理软件需求分析的书,以实战为主。包括大量案例以及来自工作实践中的经验心得。主要讲述了:需求分析的工作步骤;需求分析的工作内容;如何进行需求调研;如何进行系统规划;如何设计软件;如何设计出好软件;快速原型开发模型;需求文档的撰写;如何应对需求变更;如何成为需求分析高手。本书适合从事需求分析工作的专业人士、希望从事需求分析工作的IT人、希望了解需求分析工作的IT人、计算机相关专业的大学生、管理相关专业的大学生、企事业单位从事管理工作的各级管理者,以及企业信息化管理体系中的关键用户等。
本书分为两大部分,其中第一部分 基础篇 包括第1~11章,第二部分 进阶篇 包括第12~18章。Unity 3D初学者在学习第一部分后,完全可以制作出属于自己的游戏。但是能做出来不代表做得好,这里的 好 主要是指游戏性能高以及开发难度大。从商业游戏的角度来说,必须做到这两点,所以第二部分主要讲解Unity 3D的性能与原理。除第1章外,书中的每一章都包含丰富的示例和源代码,它们是非常宝贵的实战经验,可以直接应用在实际开发中。
在软件架构中没有哪个决定是轻而易举的。相反,有许多艰难的部分,要么是难题,要么是缺少实践,这迫使你在各种妥协中做出选择。通过本书,你将学会如何批判性地思考分布式体系结构的利弊。 软件架构老兵和实践顾问Neal Ford、Mark Richards、Pramod Sadalage、Zhamak Dehghani讨论了选择适合架构的策略。全书交织着一群虚构的技术专业人员(Sysops Squad)的故事,他们研究了从如何确定服务粒度、管理工作流和编排、管理和解耦合约、管理分布式事务到如何优化可扩展性、弹性和性能等操作特性的一切问题。 本书通过关注常见的问题,提供了一些技术,帮助你在面对架构问题时进行权衡。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
在这本书中,作者给出在过程工业中所需要的先进控制技术的概念和术语。这本书是为熟悉传统控制过程却在先进控制领域缺少相关经验的控制工程师编写的。这本书的每一章的结构允许快速了解技术及如何应用。应用大量实例来说明什么是需要处理应用程序。而且,每一章的*段介绍相关技术的数学基础,章末则给出探索性的内容。读者可通过转到本书附带的 web 站点查看车间解决方案。
《逆向工程核心原理》十分详尽地介绍了代码逆向分析的核心原理。作者在Ahnlab 研究所工作多年,书中不仅包括其以此经验为基础亲自编写的大量代码,还包含了逆向工程研究人员必须了解的各种技术和技巧。彻底理解并切实掌握逆向工程这门技术,就能在众多IT相关领域进行拓展运用,这本《逆向工程核心原理》就是通向逆向工程大门的捷径。 想成为逆向工程研究员的读者或正在从事逆向开发工作的开发人员一定会通过《逆向工程核心原理》获得很大帮助。同时,想成为安全领域专家的人也可从《逆向工程核心原理》轻松起步。
本书系统讲解了树莓派智能系统设计与Python编程,内容涉及传感器接口、物联网开发、 语音、图像、视频等方面的应用。全书共8 章,分别介绍了树莓派的使用与配置过程、Python 程序设计基础知识、树莓派GPIO 与传感器接口、环境参数监测智能小车、树莓派本地服务器构建与Web端监控软件以及树莓派在语音、视觉和深度学习中的典型应用。通过本书的学习,读者可以快速掌握树莓派智能系统的设计与应用。 为便于读者高效学习,快速掌握树莓派智能系统的开发与实践,作者制作了完整的源代码以及典型案例的讲解视频,并且收集、整理了大量学习的资料与工具。 本书适合作为高等院校电子信息类专业学生学习嵌入式系统、人工智能、Python编程语言相关课程的参考书,也可以作为树莓派爱好者的自学用书。
本书针对新一代GUI开发平台MATLAB App Designer(MATLAB R2019b)的应用分两个部分加以详细介绍。部分结合两个综合案例详细介绍用MATLAB App Designer设计App(GUI)的方法与步骤、重点与难点;第二部分以机械工程领域中各种专业案例为基础详细介绍每个App设计的编程解决方法。 本书可作为高职高专及高等院校的机械工程及相近专业的专业课辅助教材,也可作为相关领域工程技术人员进行设计的辅助工具书。
全书共25 章,分成三个部分,分别介绍了精益产品开发的原则、方法和实施。原则部分,从精益及敏捷产品开发的目标入手,梳理了敏捷和精益思想的来龙去脉和具体的实践框架,构建了系统和完整的精益产品开发体系。方法部分,以作者在华为、招商银行、平安科技以及数家互联网创业公司的大量成功案例为基础,详细介绍了这些案例背景、应用细节以及背后的原理和方法,构建了坚实、系统和可应用的实践方法体系。实施部分继续以真实案例为基础,总结了完备的精益产品开发实施路径,涵盖了需求管理、过程改进、质量提升、团队建设、DevOps 落地等实施中的重点要素。本书适合所有准备实施或正在实施敏捷和精益方法以及希望改善组织价值交付效率、质量、灵活性以及产品创新能力的团队阅读与参考。
每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《Google软件测试之道》从内部视角告诉你这个世界上有名气的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试之道》抓住了Google做测试的本质,抓住了Google测试这个时代**复杂软件的精华。《Google软件测试之道》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在Google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似Google的测试流程或团队的人受益
本书主要讲述如何自己动手制作( DIY )一个微型多旋翼飞行器。书中内容主要分四篇:篇主要介绍飞行器的相关基础知识,让读者对多旋翼飞行器有个感性的认知;第二篇重点介绍飞行器的硬件平台,包括模块详细解说、实物组装、固件下载方法和飞行器的操作说明等;第三篇重点介绍飞行器的软件开发环境、软件各个功能部分的讲解和各个模块部分的连接、飞控系统的核心算法等;第四篇介绍多旋翼飞行器的拓展,控制操作入门和技巧,以及其在不同行业的应用。 本书配套资料里面包含了微型多旋翼飞行器的代码,同时也包含遥控器代码。这些代码均有详细的注释,读者可参考它设计自己的固件,亦可通过书中介绍的方法,将编译后的代码下载到飞行器和遥控器中来体验飞行。 本书主要针对未入门而有强烈意愿DIY的飞行器爱好者和即将参加赛事的大学生朋友