企业AI工程化之路:如何实现高效、低成本、高质量的落地?
MLOps工程实践
- 概述
- 面临挑战
- 目的
- 内容简介
- 读者对象
- 专家推荐
- 目录
- 写在末尾:
主页传送门:📀 传送
概述
作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律,帮助人们解决众多实际问题。随着机器学习技术的发展,越来越多的企业将机器学习技术作为核心竞争力,并运用在实际业务中。
面临挑战
但是,机器学习应用落地并非一件轻松的事情,AI开发者往往需要面对各个环节的挑战。这些环节包括目标定义、数据收集、数据清洗、特征提取、模型选择、模型训练、模型部署和模型监控等,其中任何一个环节出现失误,都可能影响算法和策略在最终业务中落地的效果,造成成倍的损失。反过来看,利用工程化技术去优化模型的自学习能力,能让模型保持持续更新、迭代和演进,随着数据和业务的变化不断进行自适应,避免衰退,始终保持在最佳状态,为业务场景带来更好的效果、更多的价值。
除了效果之外,机器学习应用的开发效率也是阻碍落地的关键因素。像Google这样的互联网领头羊企业,其AI科学家与AI工程师也常常会遇到“开发一周,上线三月”的情况。因此需要针对每个模型花费数月时间进行正确性排查,覆盖模型鲁棒性、数据时序穿越、线上线下一致性、数据完整性等各个维度。
从团队协作角度来看,数据、模型、算法的开发和部署需要不同的技能和知识,需要团队敏捷地进行沟通和协作。因此,建设一种可以在任何时间、任何环境被信任的团队合作模式、沟通渠道以及反馈机制,形成一个如敏捷迭代、Kubernetes一样的事实标准,可方便AI工程师敏捷、快速地上线AI应用。
除了效果和效率两个AI开发者所关注的维度外,成本、人才、安全也是机器学习应用开发落地时需要权衡的。
-
成本:无论软件、硬件成本还是人力成本,企业需要在落地AI应用的效益和成本之间进行权衡,确保投入产出比是可行的,而这要求开发者对成本和产出有更加精准的预测和判断。
-
人才:人才短缺是一个普遍问题,哪怕是在硅谷、中关村等科技人才聚集地,具备机器学习和软件开发能力的人也是供不应求的。开发者需要更好地精进技能,规划好AI工程化的技能树和学习路径,把自己变成有竞争力的人才。
-
安全:几乎所有的企业都会要求AI应用背后的数据、算法和模型符合法规和标准。开发者需要确保AI应用和系统不会向企业外部泄露数据,不让非法的攻击侵入并影响业务系统。
正是在这样的背景下,MLOps快速成为机器学习生产落地中不可或缺的关键能力。构建一个靠谱、永远可以信任、从容应对新技术演进的机器学习系统,匹配让AI开发者高效且省心省力的机器学习应用开发流程,成为当前机器学习领域面临的极为关键的问题之一。
《MLOps工程实践:工具、技术与企业级应用》
陈雨强 郑曌 谭中意 卢冕 等著
第四范式创始人领衔撰写
腾讯、小米、百度、网易等分享MLOps工程经验
指导企业构建可靠、高效、可复用、可扩展机器学习模型
目的
作为当今企业和研究人员关注的热点领域,MLOps相关的知识和实践仍然相对分散,因此,迫切需要一本系统化介绍MLOps实践方法的书籍。希望本书能够:
-
梳理MLOps的核心概念和方法,帮助读者全面了解MLOps的基本原理;
-
提供实用的案例分析和操作指南,使读者能够在实际项目中应用MLOps,提高工作效率;
-
针对不同规模的企业和团队,给出相应的MLOps最佳实践,帮助它们量身定制MLOps策略;
-
探讨MLOps的未来发展趋势,以及如何将新技术方向(如人工智能伦理、可解释性等)融入MLOps实践。
MLOps实践的推广和普及需要时间和努力,希望本书可以为研究人员提供全面、系统和实用的指南,以便他们在实际应用中构建可靠、高效和稳健的机器学习模型,实现业务价值最大化。
内容简介
这是一本能指导企业利用MLOps技术构建可靠、高效、可复用、可扩展的机器学习模型,从而实现AI工程化落地的著作。本书由国内AI领域的独角兽企业第四范式的联合创始人领衔撰写,从工具、技术、企业级应用、成熟度评估4个维度对MLOps进行了全面的讲解。
本书的主要内容包括如下9个方面:
(1)MLOps的核心概念和方法,可以帮助读者全面了解MLOps的基本原理;
(2)MLOps涉及的几种角色,以及这些角色之间如何协作;
(3)机器学习项目的基础知识和全流程,是学习和应用MLOps的基础;
(4)MLOps中的数据处理、主要流水线工具Airflow和MLflow、特征平台和实时特征平台OpenMLDB、推理工具链Adlik,为读者系统讲解MLOps的技术和工具;
(5)云服务供应商的端到端MLOps解决方案;
(6)第四范式、网易、小米、腾讯、众安金融等企业的MLOps工程实践案例和经验;
(7)MLOps的成熟度模型,以及微软、谷歌和信通院对MLOps成熟度模型的划分;
(8)针对不同规模的企业和团队的MLOps最佳实践,帮助他们量身定做MLOps策略;
(9)MLOps的未来发展趋势,以及如何将新技术融入MLOps实践。
本书深入浅出、循序渐进地讲解了如何在实际项目中利用MLOps进行机器学习模型的部署、监控与优化,以及如何利用MLOps实现持续集成与持续交付等高效的工作流程。同时,本书通过企业级的MLOps案例和解决方案,帮助读者轻松掌握MLOps的设计思路以及学会应用MLOps解决实际问题。
读者对象
本书旨在帮助读者掌握MLOps技术,从而构建可靠、可重复使用和可扩展的机器学习工作流程。我们更加强调实践和操作,通过示例来帮助读者更好地理解并应用这些技术和工具。
本书适用的读者对象如下。
-
数据科学家和AI研究人员:希望了解如何将自己的模型和算法更有效地部署到实际生产环境,提高工作效率和质量。
-
机器学习工程师和DevOps工程师:想要掌握MLOps的最佳实践,以便在组织内更好地支持AI和ML项目的开发、部署与维护。
-
产品经理和业务负责人:希望了解MLOps的概念和实践,以便更好地推动组织内AI和ML项目的落地,提高项目成功率和产出价值。
-
教育者和学者:在教学和研究过程中需要掌握MLOps的理论和实践知识,以便为学生和咨询者提供指导。
专家推荐
本书作者根据自己多年在软件研发、运维、DevOps和机器学习等领域的从业经验,对MLOps这一新生事物的原理和工具进行了全面系统的介绍,并结合多家企业的实践案例总结整理出一系列MLOps最佳实践,覆盖端到端机器学习全生命周期,涉及AI科学家和AI工程师在内的多个角色,知识新颖,内容丰富,极具参考价值。相信大部分AI从业人员会从中受益,强烈推荐!
—— 崔宝秋 小米集团前副总裁
这是一本业界真正需要的书。它全面介绍了AI工程化落地的全过程,包括面对的挑战、要解决的问题、常用工具和平台,以及企业的实践案例。这样一本内容全面、翔实的工具书能让读者对AI技术在企业落地方面有比较深的认识。希望它能帮助更多企业AI的应用者、工程师跨越AI工程化的鸿沟。
—— 堵俊平 LFAI & DATA基金会前董事主席
本书介绍了MLOps的完整流程、方法论、开源工具,并包含了网易云音乐、众安保险、小米商城、腾讯金融等的一手实践案例,对行业内外的工程师都有很高的学习和参考价值。
—— 戈君 字节跳动架构师
bRPC项目创始人/Apache VP
MLOps可以使得人工智能应用从低效能的手工制作模式,逐渐演变成自动化的、高效的流水线生产模式,将有力地促进人工智能规模化应用。盼此关于MLOps的书也能为大家学习人工智能指明方向。
—— 孟伟 中兴通讯开源战略总监
本书不仅从原理上阐述了MLOps的基本概念、方法、核心技术,更从实践角度给出了MLOps全流程搭建工具,并提供了丰富的互联网大厂典型MLOps平台搭建案例,以飨读者。内容专业翔实,极具可操作性。强烈推荐给AI算法和平台工程师,常读常新,大有裨益。
—— 陶阳宇 腾讯机器学习平台部总监
MLOps是现代软件工程理念下的机器学习系统构建方法论,指导企业在智能化升级中构建AI中台。本书全面介绍了MLOps的核心技术,结合丰富的业界实践向读者展示了AI原生时代下的AI中台技术全貌!
—— 王耀 百度智能云技术委员会主席
MLOps可以降低人工智能应用开发和维护的技术门槛和成本,是人工智能走进各行各业的关键技术。本书介绍了业界多家领先企业在MLOps方面的实践经验,具有非常高的参考价值。
—— 汪源 网易副总裁
本书作者长期工作在业务或咨询第一线,从工程师视角介绍机器学习在企业实践中的落地,系统阐述机器学习在实际工作中的困难和解决方案,是一本很好的实践指南。
—— 于洋 众安保险首席风险官
MLOps最重要的任务是保证机器学习应用生命周期中各个环节紧密协作,让应用的智能程度不断提高,真正解决用户在现实世界中的问题。感谢谭中意等专家的长期努力,让我们在CSDN中文社区中能看到高质量的经验和智慧结晶。期待这本书能帮助我们的研究员和工程师跨越各式各样的AI应用大峡谷。
—— 邹欣 CSDN副总裁
目录
目 录作者简介前言第1章 全面了解MLOps11.1 人工智能的趋势和现状 11.1.1 趋势1:人工智能在企业中加速落地,彰显更多业务价值 11.1.2 趋势2:人工智能应用从以模型为中心向以数据为中心转变 31.1.3 现状:人工智能落地成功率低,成本高 41.2 人工智能的问题、挑战以及应对措施 51.2.1 问题1:机器学习代码只是整个系统的一小部分 51.2.2 问题2:数据是最主要的问题 61.2.3 挑战:人工智能系统如何规模化落地 71.2.4 应对措施:MLOps 81.3 MLOps简介 81.3.1 MLOps的定义 81.3.2 MLOps相关的工具和平台 121.3.3 MLOps的优势 131.4 MLOps与DevOps 141.4.1 DevOps的3个优点 141.4.2 MLOps延续了DevOps的优点 171.4.3 MLOps和DevOps的不同之处 191.4.4 MLOps和DevOps的目标与实践理念 201.5 MLOps与其他XOps的区别 201.5.1 MLOps与AIOps的区别 211.5.2 MLOps与DataOps的区别 211.5.3 MLOps与ModelOps的区别 221.5.4 XOps的相同点:都基于DevOps原则 221.6 本章小结 22第2章 MLOps涉及的角色232.1 角色类型 232.1.1 产品经理 242.1.2 数据科学家 242.1.3 数据工程师 252.1.4 机器学习工程师 262.1.5 DevOps工程师 272.1.6 IT运维工程师 272.2 角色划分以及角色之间存在的问题 282.2.1 角色划分 282.2.2 问题1:技术栈不一致导致人工智能模型线上、线下效果不一致 282.2.3 问题2:关注点不同导致对系统的需求不同 292.2.4 协作问题及解决办法 302.3 本章小结 30第3章 机器学习项目概论313.1 机器学习项目简介 313.1.1 机器学习的定义 313.1.2 机器学习相关概念 333.1.3 机器学习能解决的问题 373.1.4 机器学习项目度量 383.1.5 机器学习项目难以落地的原因 413.2 深入理解机器学习项目全流程 443.2.1 方案调研 453.2.2 方案投产 493.3 本章小结 51第4章 MLOps中的数据部分524.1 从以模型为中心到以数据为中心 524.1.1 以模型为中心的时代 524.1.2 以数据为中心的时代 534.2 MLOps中的数据生命周期管理 554.3 数据存储架构演进 564.4 MLOps中主要的数据问题及解决方案 574.4.1 常见的数据质量问题及解决方案 574.4.2 时序数据穿越问题及解决方案 594.4.3 离线和实时数据一致性问题及解决方案 644.4.4 数据安全问题及解决方案 664.4.5 数据共享与复用问题及解决方案 674.5 本章小结 67第5章 流水线工具695.1 Airflow 695.1.1 Airflow的功能和应用场景 695.1.2 Airflow的核心概念 725.1.3 Airflow的使用方法 725.2 MLflow 805.2.1 MLflow的功能和应用场景 805.2.2 MLflow的核心概念 815.2.3 MLflow的使用方法 825.3 其他流水线工具 915.4 本章小结 93第6章 特征平台946.1 特征平台的概念和起源 946.2 特征平台的特性 966.3 特征平台的现状 976.4 主流的特征平台 986.4.1 Tecton的特征平台 996.4.2 AWS的SageMaker特征平台 1006.4.3 Databricks的特征平台 1026.4.4 Feast项目 1036.4.5 OpenMLDB项目 1056.5 特征平台的发展趋势 1066.6 本章小结 107第7章 实时特征平台OpenMLDB1087.1 实时特征平台构建方法论 1087.1.1 机器学习闭环 1087.1.2 实时特征计算 1097.1.3 痛点:线上线下计算一致性校验带来的高成本 1107.1.4 目标:开发即上线 1127.1.5 技术需求 1127.1.6 抽象架构 1137.1.7 OpenMLDB架构设计实践 1147.2 OpenMLDB项目介绍 1167.2.1 设计理念 1167.2.2 生产级机器学习特征平台 1167.2.3 核心特性 1177.2.4 常见问题 1177.3 核心模块—在线引擎 1187.3.1 概览 1187.3.2 Apache ZooKeeper 1197.3.3 Nameserver 1197.3.4 Tablet 1207.4 核心数据结构 1227.4.1 背景介绍 1227.4.2 双层跳表索引 1227.4.3 预聚合技术 1247.4.4 性能表现 1257.5 高级特性—主从集群部署 1277.5.1 定义和目标 1277.5.2 技术方案 1277.5.3 主从集群搭建实践 1307.5.4 主从集群部署常见问题 1317.6 高级特性—双存储引擎 1337.6.1 内存和磁盘双存储引擎架构 1337.6.2 功能支持对比 1347.6.3 性能对比 1357.7 执行流程介绍 1367.7.1 执行流程概览 1367.7.2 执行模式概览 1377.7.3 离线模式 1377.7.4 在线模式 1387.7.5 请求模式 1387.8 实践 1397.8.1 准备 1407.8.2 使用流程 1417.8.3 实时特征计算的结果说明 1447.9 生态整合—在线数据源Kafka 1457.9.1 简介 1457.9.2 准备工作 1467.9.3 步骤1:启动OpenMLDB并创建数据库 1467.9.4 步骤2:启动Kafka并创建Topic 1477.9.5 步骤3:启动Connector 1477.9.6 步骤4:测试 1487.10 生态整合—离线数据源Hive 1497.10.1 配置 1497.10.2 数据类型 1497.10.3 通过LIKE语法快速建表 1507.10.4 将Hive数据导入OpenMLDB 1507.10.5 将OpenMLDB数据导出到Hive 1517.11 案例:出租车行程时间预测 1517.11.1 环境准备和预备知识 1517.11.2 全流程演示 1527.12 本章小结 155第8章 Adlik推理工具链1568.1 机器学习模型落地挑战 1568.2 Adlik的优势 1578.3 Adlik的架构 1588.3.1 模型优化器 1598.3.2 模型编译器 1618.3.3 推理引擎模块 1618.4 快速入门 1648.4.1 编译模型 1648.4.2 部署模型 1668.4.3 模型推理 1668.4.4 引入自定义运行时 1678.5 Adlik端到端模型推理优化实践 1688.5.1 模型结构优化 1688.5.2 模型推理引擎 1708.6 本章小结 171第9章 云服务供应商的端到端MLOps解决方案1729.1 认识SageMaker 1739.1.1 SageMaker的主要组成部分 1739.1.2 广泛的数据源和数据集成支持 1749.2 无代码实现供应链中到货时间的预测 1769.2.1 数据准备 1779.2.2 简单的数据合并 1799.2.3 构建、训练和分析机器学习模型 1809.2.4 模型预测 1839.3 应用SageMaker Notebook进行 MLOps 管理 1839.3.1 数据导入 1849.3.2 数据清洗和特征设计 1849.3.3 模型训练 1859.3.4 模型评估 1869.3.5 模型上线 1879.3.6 使用模型仓库和 Pipeline系统管理训练成果 1879.4 本章小结 194第10章 MLOps 在反欺诈与推荐系统中的应用19610.1 案例1:信用卡交易反欺诈系统 19610.1.1 定义业务目标 19610.1.2 系统设计的挑战 19810.1.3 数据准备与特征设计思路 20110.1.4 系统设计与实现 20210.2 案例2:推荐系统 20510.2.1 推荐系统介绍 20510.2.2 定义优化目标 20610.2.3 系统设计挑战与实现思路 20810.3 本章小结 210第11章 网易云音乐实时模型大规模应用之道21111.1 从云音乐直播推荐中的实时性说起 21111.1.1 直播对实时性的强需求 21311.1.2 推荐引擎实时性的三要素 21311.1.3 直播精排模型的实时化演进 21611.2 实时增量模型的构建 21611.2.1 实时特征快照 21711.2.2 实时样本归因 21911.2.3 实时样本拼接 22211.2.4 增量训练和更新 22311.2.5 线上效果 22411.3 特征平台将实时能力泛化到更多场景 22511.4 FeatureBox 22611.4.1 FeatureBox解决的问题 22611.4.2 FeatureBox整体架构 22711.4.3 DataHub模块 22711.4.4 Transform模块 23111.4.5 MFDL模块 23211.4.6 Storage模块 23311.4.7 Monitor模块 23411.5 在线预估基于FeatureBox的构建 23611.5.1 特征与模型的高效迭代 23611.5.2 高性能预估计算 24211.5.3 预估与FeatureBox实时性方案 24611.6 本章小结 248第12章 小米广告机器学习平台实践24912.1 小米广告一站式机器学习平台简介 24912.1.1 传统机器学习流程的问题 24912.1.2 小米广告机器学习平台模块简介 25112.2 特征工程模块 25212.2.1 特征工程简介 25212.2.2 数据源管理 25312.2.3 特征管理 25312.2.4 样本管理 25712.3 模型训练平台 25912.3.1 算法管理 26012.3.2 离线模型训练管理 26112.3.3 模型更新 26212.4 线上推理模块 26412.4.1 线上推理服务介绍 26412.4.2 高性能和高可用保证 26612.4.3 模型部署 26812.5 本章小结 273第13章 腾讯金融推荐中台实践27413.1 业务介绍 27413.1.1 业务优化目标 27413.1.2 业务特点 27513.2 现状及挑战 27613.2.1 推荐系统复杂性 27713.2.2 算法工程技术壁垒 27813.3 MLOps实践 27813.4 推荐系统产品体系 28013.4.1 特征系统 28113.4.2 模型训练系统 28113.4.3 模型服务系统 28213.4.4 推荐运营系统 28313.5 系统设计 28313.5.1 特征系统 28413.5.2 模型服务系统 29013.6 本章小结 293第14章 众安金融实时特征平台实践29414.1 众安金融的MLOps建设背景 29414.2 众安金融的MLOps建设思路 29514.2.1 众安金融的MLOps流程说明 29514.2.2 众安金融特征平台能力要求 29714.3 实时特征平台的架构设计 29714.3.1 实时特征平台架构说明 29814.3.2 实时特征数据源层 29814.3.3 实时特征平台的核心功能 29914.4 实时业务特征计算 30014.4.1 实时业务特征计算系统设计 30014.4.2 实时业务特征核心数据模型 30114.4.3 实时业务特征计算引擎 30214.5 反欺诈场景中的特征计算 30314.5.1 反欺诈特征计算系统设计 30314.5.2 反欺诈特征分类说明 30414.5.3 用户关系图谱实现方案 30514.6 本章小结 306第15章 MLOps成熟度模型30815.1 能力成熟度模型概述 30815.2 谷歌的MLOps成熟度模型 30915.2.1 谷歌对MLOps的理解和认识 30915.2.2 谷歌对MLOps成熟度等级的定义 31015.3 微软的MLOps成熟度模型 31715.3.1 微软对MLOps成熟度模型的理解和认识 31715.3.2 微软对MLOps成熟度等级的定义 31815.4 信通院的MLOps成熟度模型 32215.4.1 需求管理能力子域相关内容 32315.4.2 数据工程能力子域相关内容 32515.5 本章小结 329
直播预告
AI工程化—— 如何让AI在企业多快好省的落地?
AI 2.0时代,要不要学习MLOPS?MLOps推理的挑战以及大模型时代的推理优化思路如何?以及基于MLOps构建网易云音乐实时模型大规模应用实践分享~
10月14日19:00,第四范式平台架构师李瀚、中兴通讯AI高级工程师袁丽雅、网易云音乐算法工程高级总监吴官林、星策社区发起人及LF AI & Data TAC成员兼 Outreach主席谭中意 四位嘉宾将与您分享~
写在末尾:
根据博客阅读量本次活动一共赠书若干本,评论区抽取若干位小伙伴送出,中奖了会私信通知
参与方式:关注博主、点赞、收藏 + 评论
(任意评论不折叠即可,切记要点赞+收藏,否则抽奖无效,每个人最多评论三次)
如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏 🙌一起讨论你的支持就是我✍️创作的动力! 💞💞💞
相关文章:
企业AI工程化之路:如何实现高效、低成本、高质量的落地?
MLOps工程实践 概述面临挑战目的内容简介读者对象专家推荐目录 写在末尾: 主页传送门:📀 传送 概述 作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律&#x…...
最短路径专题8 交通枢纽 (Floyd求最短路 )
题目: 样例: 输入 4 5 2 0 1 1 0 2 5 0 3 3 1 2 2 2 3 4 0 2 输出 0 7 思路: 由题意,绘制了该城市的地图之后,由给出的 k 个编号作为起点,求该点到各个点之间的最短距离之和最小的点是哪个,并…...
文件扫描模块
文章目录 前言文件扫描模块设计初级扫描方案一实现单线程扫描整合扫描步骤 设计初级扫描方案二周期性扫描 总结 前言 我们这个模块考虑的是数据库里面的内容从哪里获取。 获取完成后,这时候,我们就需要把目录里面文件/子文件都获取出来,并存入数据库。 文件扫描模…...
MySQL之主从复制
概述: 将主库的数据 变更同步到从库,从而保证主库和从库数据一致。 它的作用是 数据备份,失败迁移,读写分离,降低单库读写压力 原理: 主服务器上面的任何修改都会保存在二进制日志( Bin-log日志…...
[leetcode 单调栈] 901. 股票价格跨度 M
设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。 例如,如果未来 7 天股票的价格是 [100…...
Java线程池:并发编程的利器
Java线程池:并发编程的利器 在多任务、高并发的时代,Java并发编程显得尤为重要。其中,Java线程池是一种高效的管理线程的工具,能够提高应用程序的性能和响应速度。本文将深入探讨Java线程池的工作原理、应用场景以及简单示例&…...
ARM硬件断点
hw_breakpoint 是由处理器提供专门断点寄存器来保存一个地址,是需要处理器支持的。处理器在执行过程中会不断去匹配,当匹配上后则会产生中断。 内核自带了硬件断点的样例linux-3.16\samples\hw_breakpoint\data_breakpoint.c static void sample_hbp_h…...
Java使用WebSocket(基础)
准备一个html页面 <!DOCTYPE HTML> <html> <head><meta charset"UTF-8"><title>WebSocket Demo</title> </head> <body><input id"text" type"text" /><button onclick"send()&…...
图像处理与计算机视觉--第五章-图像分割-自适应阈值分割
文章目录 1.自适应阈值分割介绍2.自适应阈值函数参数解析3.高斯概率函数介绍4.自适应阈值分割核心代码5.自适应阈值分割效果展示6.参考文章及致谢 1.自适应阈值分割介绍 在图片处理过程中,针对铺前进行二值化等操作的时候,我们希望能够将图片相应区域内所…...
记一次问题排查
1785年,卡文迪许在实验中发现,把不含水蒸气、二氧化碳的空气除去氧气和氮气后,仍有很少量的残余气体存在。这种现象在当时并没有引起化学家的重视。 一百多年后,英国物理学家瑞利测定氮气的密度时,发现从空气里分离出来…...
【Spring Boot】创建一个 Spring Boot 项目
创建一个 Spring Boot 项目 1. 安装插件2. 创建 Spring Boot 项目3. 项目目录介绍和运行注意事项 1. 安装插件 IDEA 中安装 Spring Boot Helper / Spring Assistant / Spring Initializr and Assistant插件才能创建 Spring Boot 项⽬ (有时候不用安装,直…...
flutter中使用缓存
前言 在flutter项目中使用ListView或者PageView等有滚动条组件的时候,切换页面的时候,再切换回来会丢失之前的滑动状态,这个时候就需要需要使用缓存功能 缓存类 import package:flutter/material.dart;class KeepAliveWrapper extends Sta…...
京东数据分析平台:9月中上旬白酒消费市场数据分析
9月份,围绕白酒的热点不断。9月5日,瑞幸咖啡官微发布消息称,瑞幸与贵州茅台跨界合作推出的酱香拿铁刷新单品纪录,首日销量突破542万杯,销售额破1亿元。9月14日,贵州茅台官微发布消息称与德芙推出联名产品“…...
Linux安装 spark 教程详解
目录 一 准备安装包 二 安装 scala 三 修改配置文件 1)修改 workers 文件 2)修改 spark-env.sh文件 四 进入 spark 交互式平台 一 准备安装包 可以自行去 spark 官网下载想要的版本 这里准备了 spark3.1.2的网盘资源 链接: https://pan.baidu.com…...
动态内存管理函数(malloc,calloc,realloc,free)
动态内存函数 1.1malloc和free C语言提供了一个动态内存开辟的函数: void* malloc (size_t size); 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。 如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败&#…...
云表|都有生产管理模块,MES和ERP有什么不同,该如何选择
MES和ERP是生产制造领域的两大知名系统,虽然早已声名鹊起,但仍有不少人难以明确区分两者的差异。下面将详细阐述这两个系统的不同之处。首先,要了解MES和ERP的定义。 MES系统:全称制造执行系统(Manufacturing Executio…...
C语言 - 数组
目录 1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 3. 数组越界 4. 数组作为函数参数 4.1…...
Vue 中的插槽(Slot),有什么用,不同插槽的区别?
Vue 中的插槽(Slot案例详解) 是一种非常有用的功能,用于组件之间的内容分发和复用。以下是关于插槽的一些重要概念: 插槽的作用: 插槽允许你将组件的内容分发到其子组件中,以实现灵活的组件复用和自定义布局。通过插槽…...
Linux登录自动执行脚本
一、所有用户每次登录时自动执行。 1、在/etc/profile文件末尾添加。 将启动命令添加到/etc/profile文件末尾。 2、在/etc/profile.d/目录下添加sh脚本。 在/etc/profile.d/目录下新建sh脚本,设置每次登录自动执行脚本。有用户登录时,/etc/profile会遍…...
架构方法、模型、范式、治理
从架构方法、模型、范式、治理等四个方面介绍架构的概念和方法论、典型业务场景下的架构范式、不同架构的治理特点这3个方面的内容...
Linux 安全 - 内核提权
文章目录 前言一、简介1.1 prepare_creds1.2 commit_creds 二、demo参考资料 前言 在这篇文章:Linux 安全 - Credentials 介绍了 Task Credentials 相关的知识点,接下来给出一个内核编程提权的例程。 一、简介 内核模块提权主要借助于 prepare_creds …...
数字三角形加强版题解(组合计数+快速幂+逆元)
Description 一个无限行的数字三角形,第 i 行有 i 个数。第一行的第一个数是 1 ,其他的数满足如下关系:如果用 F[i][j] 表示第 i 行的第 j 个数,那么 F[i][j]A∗F[i−1][j]B∗F[i−1][j−1] (不合法的下标的数为 0 &a…...
MySQL:主从复制-基础复制(6)
环境 主服务器 192.168.254.1 从服务器(1)192.168.254.2 从服务器(2)192.168.253.3 我在主服务器上执行的操作会同步至从服务器 主服务器 yum -y install ntp 我们去配置ntp是需要让从服务器和我们主服务器时间同步 sed -i /…...
盒子模型的基础
盒子模型 边框(border) border可以设置元素的边框,边框分成三部分,边框的(粗细)边框的样式,边框的颜色 <style>div {width: 100px;height: 100px;border-width: 200;border-style: 边框…...
Go复合类型之数组类型
Go复合类型之数组 文章目录 Go复合类型之数组一、数组(Array)介绍1.1 基本介绍1.2 数组的特点 二、数组的声明与初始化2.1 数组声明2.2 常见的数据类型声明方法2.3 数组的初始化方式一:使用初始值列表初始化数组方法二:根据初始值个数自动推断数组长度方…...
rust闭包
一、闭包是什么 (一)闭包是什么 我们先来看看javascript中的闭包。 在函数外部无法读取函数内的局部变量。但是我们有时候需要得到函数内的局部变量,那么如何从外部读取局部变量?那就是在函数的内部,再定义一个函数。…...
通过位运算,实现单字段标识多个状态位
可能经常有如下这种需求: 需要一张表,来记录学员课程的通过与否. 课程数量不确定,往往很多,且会有变动,随时可能新增一门课. 这种情况下,在设计表结构时,一门课对应一个字段,就有些不合适, 因为不知道课程的具体数量,也无法应对后期课程的增加. 考虑只用一个状态标志位,利用位运…...
ALSA pcm接口的概念解释
PCM(数字音频)接口 PCM缩写: Pulse Code Modulation脉冲调制编码,我们理解为通过一定连续时间周期产生数字音频并带有音量样本的处理过程. 模拟信号被记录通过模拟到数字转换器,数字值(也就是某个特定时刻的音量值)获得来自ADC可以进一步处理,接下的图片展示的是个sine wavefor…...
logging的基本使用教程
logging的基本使用教程 一、简介: logging模块是Python的标准库,用于记录应用程序运行时的日志信息。使用logging模块可以帮助您在开发过程中调试代码、追踪问题和监控应用程序的运行状况。 二、使用教程 1、logging模块的基本使用方法: …...
ds套dp——考虑位置转移or值域转移:CF1762F
https://www.luogu.com.cn/problem/CF1762F 分析性质,就是我们选的数要么递增,要么递减(非严格)然后很明细是ds套dp, f i f_i fi 表示以 i i i 开头的答案然后考虑如何转移(ds套dp难点反而在转移而不是…...
手机端网站模板/湖南百度seo排名点击软件
近期,全球知名的市场研究公司Forrester,通过对包括阿里云在内的全球领先区块链企业进行调研,发布了区块链技术和市场分析报告,为企业如何基于区块链构建分布式信任体系、打造和增强数字化生态系统提供了一系列前瞻性和实用型的建议…...
网站怎么做能中英文的/整合营销传播策略
The LaTex packages in CentOS 7 Linux is not sufficient enough. I would like to Install Tex Live such as Tex Live 2016. How could I install it on CentOS 7?CentOS 7 Linux中的LaTex软件包还不够。 我想安装Tex Live,例如Tex Live2016。如何在CentOS 7上安…...
政府网站wap门户建设方案/bt种子万能搜索神器
cmd命令 1.system 导出全部表结构和数据 注意 :1.导出服务器的地址 192.168.1.252:1521/orcl 2. 登录名 ownerorcl (当前用户的登录名) 3. 导出文件的位置 fileD:\oracle\zkgs 4. 导出日志文件的位置 logD:\oracle\zkgs exp system/format192.168.1.252:1521/…...
新闻系统网站开发dw实训总结报告/seo网页优化培训
一、fiddler接口压测 1)浏览器打开需要测试的url,可以看到url被fiddler拦截到,并出现在列表中。 2)在拦截到的url上点击鼠标右键,->replay -> shiftreissue request 设置访问次数,比如100 二、Compos…...
b2c网站多少钱/检测网站是否安全
Infoq已经发表了文章(http://www.infoq.com/cn/articles/whole-software-testing-practice-requirements-to-operational),这里把原文公布下: 之前一篇文章《软件测试转型之路》 (http://www.infoq.com/cn/articles/transformatio…...
云南专业网站建设/外贸网站制作推广
算是狗年上班的最后一天吧,想想还是略略总结一下近半年来的概况。 这段时间比较懒得去总结更新发表新的博客,一来是生活和工作的琐碎让自己有些懈怠,二是对自己写的东西缺乏深度感到困扰,自己大概也带着些完美型人格吧。最近的工…...