当前位置: 首页 > news >正文

低代码实施复杂应用的实践方法

在这里插入图片描述

内容来自演讲:韦有炬 | 柳州知行远企业管理咨询有限公司 | 总经理

摘要
本文探讨了在全民开发时代如何使用低代码实施复杂应用并降低上线风险。文章分析了复杂系统实施失败的风险,包括项目规划不周、人员变动、企业基础管理不足等,并对比了低代码和传统套装软件的优劣势。低代码开发具有透明度高和快速调整的优势,但可能不适合大型企业核心业务。
为了确保应用成功实施,文章提出了几个关键要素:明确目标范围、管理业务流程、确定角色和资源、设计执行流程和技术支持。并讨论了角色职责、技术能力、数据质量和项目管理的重要性。数据质量是应用存在的基础,项目管理是风险管理的关键。无论是传统开发还是低代码开发,都需要有能全面管控业务领域的负责人。

一、引言

大家可能已经对这张2021年由Gartner发布的图表有所了解,它表达的思想是,在全民开发时代,针对不同复杂程度的应用,我们需要采取不同的安全管控框架。

在这里插入图片描述

在这个图表中,绿色区域代表的是较为简单的应用,主要涉及数据增删查改和工作流等基本功能,这类应用通常面向个人或小团队使用。在这种情况下,普通的业务人员完全可以自行进行开发,无须专业开发人员介入。第二种情况是针对流程复杂度较高的应用,这类应用已经实现了自动化管理,并且通常面向部门级别,例如人力资源管理系统。在这样的情况下,可能需要IT人员进行协助。

红色区域则代表更复杂的场景,此时的应用已经需要与其他业务系统建立接口,而且跨部门使用,这已经是一个企业级的应用,这种情况下,必须由专业人员参与并实施管控。

最后是黑色区域,代表的是极为复杂的场景。这种复杂程度已经超出了小型团队所能处理的范围,需要一个专门的团队进行协作解决。因此,必须将应用开发的权力完全交给专业的人员。这些专业人员包括熟悉业务的业务专家以及在IT领域掌握应用架构和代码编写能力的专业技术人员。

今天,我们的主题是探讨低代码实施复杂应用的实践方法。我们的主要目标是解决如何让非专业人员也能有效地掌控复杂应用的管理,并实现最低的上线风险。

二、复杂系统实施失败的风险

首先,我们要理解复杂系统上线实施过程中可能遇到的风险。其次,我们要对比低代码实施和传统套装软件二次开发的优劣势。此外,要了解确保应用实施成功需要掌握关键要素,并根据这些要素进行深入分析和分享。
在这里插入图片描述

无论是传统的开发方式还是低代码开发,一个复杂的应用系统实施成功都绝非易事。我们可能遇到的几个主要问题:

  1. 项目规划不周。在项目开始阶段,如果没有做好整体规划和明确范围目标,可能会导致项目混乱和目标不清晰。
  2. 人员变动与适应性问题。在项目实施过程中,可能会出现关键角色的离职情况。这不仅会影响到项目的进展,还可能导致在使用新系统后,部分员工觉得操作复杂,从而产生抵触情绪。在我们以往实施的项目中,就出现过某些岗位人员频繁更换,对项目稳定性造成影响。
  3. 企业基础管理不足:即使项目规划和资源调配没有问题,但如果企业的基础管理不到位,如数据标准化程度不高,管理理念未能达到系统实施的要求等,也可能阻碍项目成功。

三、低代码实施复杂应用的优劣势

对比传统开发和低代码开发,我们可以看到传统的套装软件通常具备一套完整的、内置的业务流程,流程相对成熟。然而,对于低代码开发而言,我们需要从零开始构建,就像建造一栋房子需要一砖一瓦地搭建起来一样,搭建的过程中,我们需要考虑建筑设计图纸、搭建方法以及结构问题等各个方面。这要求我们拥有专业的人员进行掌控,确保流程的成熟度。
在这里插入图片描述

在低代码开发过程中,可能会出现一些bug。当然,低代码的一个优势在于其快速调整的能力,能够迅速解决这些问题。

此外,由于应用的整个结构由开发团队自行掌控,他们对内部细节和可能存在的缺点都有深入的理解。在这种情况下,如果开发团队对某个缺点特别在意,他们可能会选择不使用像明道云这样的平台来处理。

低代码开发的一个显著优势是透明度高,开发团队对系统有深入的了解,没有供应商在初期承诺过多而在实施时出现各种限制的情况。

然而,对于大型企业的核心业务来说,低代码开发可能不太适合,因为这些业务通常需要更高的稳定性和定制化程度。对他们来说,系统的稳固性至关重要,甚至超越其他所有因素,就像我们平时购物时,如果有足够的预算,自然会选择质量稳定、不易出问题的产品。当然,对于一些非核心或边缘的应用,低代码方案可能是可行的。

对于中小型企业而言,他们可能更需要快速适应市场变化,根据自身的业务管理需求灵活调整业务流程。在这种情况下,低代码开发就显得尤为适合。它的优势在于能够根据实际需求,在稳定性与快速适应市场之间找到平衡。

四、项目实施成功的几个关键要素

在质量管理方法中,有一套理论称为过程方法。如果将整个管理事项视为一个过程,那它就会包括这几个维度:

  1. 明确事项的本质。我们需要理解这个事项的具体内容是什么,以及完成它能带来哪些收益。
  2. 确定输入和输出。分析该过程需要哪些输入,并明确其预期的输出结果。
  3. 识别涉及的角色和资源。确定在执行过程中需要哪些人员参与,需要具备哪些能力和资料。
  4. 设计执行流程和技术支持。规划具体执行的流程,并确保有适当的数据、技术来支持整个过程。

在这里插入图片描述

1.目标范围:避免需求无底洞

我们先扩展讲一下项目的目标和范围。在实施企业项目时,我们的业务顾问会进行深入的业务调研。在这个过程中,企业的各个部门通常展现出高度的配合。经过两天的协同工作,各部门提供了各种关键信息,并提出了许多关于数字化应用的设想,这些设想可能包括:销售、项目管理、技术开发、生产、采购、库存管理、物料控制以及财务管理等领域。

在这里插入图片描述

但是,后续我们对项目进行评估时,发现项目规模过大,难以控制。经过与企业的详细讨论,我们决定削减约三分之一的内容,重点关注那些我们有过实际案例并且能够相对掌控的元素。即使是这样,我们的实施顾问发现实际情况并不像最初设想的那么简单。尽管只实施了三分之二的功能需求,但在过程中还是遇到了各种意想不到的问题需要解决。最终,虽然缩小了项目范围,实际花费的时间成本仍然超过了最初的预期。

因此,在项目初期约定时,我们就需要明确界定需求的范围。对于超出初始需求的部分,我们可以将其列入后续讨论,并考虑在二期进行实施。首要任务是确保第一期的需求能够得到妥善处理,因为一旦项目上线,各部门可能会同时寻求支持,可能导致资源紧张,甚至可能出现因无法兼顾而导致系统停用的情况。

2.业务流程:管理思想达成共识

在业务流程方面,我们在2010年之前常常提到一个词——业务流程再造。这个概念强调的是,企业进行数字化实施的项目实际上就是在进行业务变革,因为当我们将原有的业务流程迁移到系统中时,这些流程很可能会发生变化。

对于一些套装软件,如SAP,它们已经有成熟的流程和管理理念。在实施这类软件时,会进行企业组织结构和具体业务模式的调研,然后进行相应的配置,形成适应企业业务流程的版本,并按照这个流程进行实施,这是比较常见的一种实施方式。
在这里插入图片描述

然而,我们在众多ERP项目实施的经验中发现,真正取得成功的概率可能只有约30%,甚至更低。其中有多种原因。一方面,可能是在项目上线过程中,企业的管理能力无法达到软件流程的要求,导致需要花费大量时间进行前期管理提升,而这往往是企业难以承受的。另一方面,也有可能在实施过程中发现某些业务模式并不适合企业,导致部分功能上线后又不得不进行调整甚至放弃。

我们的主要建议是在进入企业进行项目实施时,应避免过于激进,而是要根据企业的实际情况来制定计划,适度地向前推进半步或一步即可,不必过分追求完美。例如,虽然SAP中的业务流程被认为是正确的,但它适用于管理水平高的企业,如果当前企业还未能达到这一水平,我们可以选择采取更为实际和适中的方案。

对于低代码开发,可能在初期并没有成熟的业务流程可供参考。在这种情况下,我们需要依赖管理专家来梳理和制定业务流程,明确未来的业务运作方式。

3.角色职责:执行落地的关键

在角色职责方面,特别是在制造业中,例如工艺人员,他们在系统实施过程中可能会面临较大压力,因为他们负责基础数据的录入和处理,而错误往往最容易在这一环节发生。因此,我们需要与这些角色进行充分的沟通,确保他们在具备相应能力之后再进行系统上线,确保项目的顺利进行。

4.技术能力:用户体验与成本平衡

在系统功能方面,有时我们也需时进行平衡。比较常见的情况是,客户可能会因为业务问题,如针对某个不常出现的场景,提出修改系统的需求。即使这些场景可能一年只会出现一两次,他们仍希望我们能调整系统以解决这些问题。

有时候,用户甚至会因为自身的操作错误要求我们增强系统的防错功能。面对这些情况,我们必须妥善管控需求,明确哪些需求是我们能做的,哪些是不能做的。我们需要找到一个平衡点,既要满足客户的实际需要,也要确保系统的稳定性和效率。

5.数据质量:应用存在的意义

在制造业中有句话“质量就是生命”。对于我们的应用系统而言,数据质量则是应用存在的意义。试想一下,如果每天我们都在使用这个系统录入和处理数据,但最终却发现数据输出不准确,那么这个系统就失去了其应有的意义。它无法为我们提供有效的生产指导,也无法支持我们的决策制定。这样的系统只会浪费我们的时间和资源,最终很可能被弃用,这就是数据质量的重要性。
在这里插入图片描述

在我们实施过的一家物流工厂的项目中,我们也曾遇到过漏单、错单等问题。为了解决这些问题,我们采取了一些防错措施。例如,对于漏单的情况,我们会根据系统的实际情况进行数据比对,并在系统内部进行核验。一旦发现错误,我们会及时提醒用户进行数据调整,确保数据的准确性。

另外,针对漏录单或防止重复录单的问题,我们也会采取一些业务管理措施。例如,当某个单据处理完毕后,我们会在系统中进行标记,以确保项目的正常运行。

6.项目管理:管控风险的利器

无论是传统的开发方式还是我们的低代码开发,都要求有一个能够全面管控业务领域的负责人。这个人不一定必须是一把手,但至少应该是能够确保所有业务环节得到有效管理和控制的关键人物。
在这里插入图片描述

例如在人力资源系统中,应当由人力资源总监或人力部门的负责人来管控这个系统。同时,对于系统的使用和管理,应当保持应有的重视和仪式感,确保所有相关人员都清楚其重要性和操作流程。

当我们的技术人员在系统实施过程中付出大量努力和贡献时,我们必须给予充分的认可。在项目实施期间,我们常常与技术人员沟通,强调他们是项目中贡献最大的力量,并时常提及他们的付出。这样做不仅能让他们感到心理上的满足和舒适,还能激发他们的工作积极性,从而更有效地执行具体工作任务,推动项目的顺利进行。

五、总结

最后让我们回顾一下关键要点。对于不同复杂程度的应用,我们需要采取不同的管理策略。在确保项目成功的关键要素中,我们要着重管控目标和范围,严谨控制角色分配、流程执行以及数据管理。目标范围的设定应合理,避免设定过于宽泛或难以达成的目标。

我们提倡分阶段实施项目,业务流程的规划和优化应由管理专家主导,确保流程的一致性和有效性。在角色分配上,我们要确保用户操作者具备完成任务所需的素质和能力。

在系统功能方面,我们需要找到平衡点,既要满足用户需求,也要考虑系统的稳定性和效率。数字质量是至关重要的,我们必须保证数据的准确性,一旦出现错误,要及时发现并解决问题。

最后,我们要按照标准的项目管理方法进行项目管理,以确保项目的顺利进行和最终的成功。

相关文章:

低代码实施复杂应用的实践方法

内容来自演讲:韦有炬 | 柳州知行远企业管理咨询有限公司 | 总经理 摘要 本文探讨了在全民开发时代如何使用低代码实施复杂应用并降低上线风险。文章分析了复杂系统实施失败的风险,包括项目规划不周、人员变动、企业基础管理不足等,并对比了低…...

算法学习系列(十一):KMP算法

目录 引言一、算法概念二、题目描述三、思路讲解三、代码实现四、测试 引言 这个KMP算法就是怎么说呢,就是不管算法竞赛还是找工作笔试面试,都是非常爱问爱考的,其实也是因为这个算法比较难懂,其实就是很难,所以非常个…...

****Linux下Mysql的安装和配置

1、安装mysql 1.1、安装mysql sudo aptitude search mysql sudo apt-get install mysql-server mysql-client1.2、启动停止mysql: service mysql stop service mysql restart mysql -u debian-sys-maint -p mysql命令详细解释如下: 一、 启动方式 1、使用 service 启动…...

第十六节TypeScript 类

1、简介 TypeScript是面向对象的JavaScript。 类描述了所创建的对象共同的属性与方法。 2、类的定义 class class_name { // 类作用域 } 定义类的关键字是class,后面紧跟类名,类可以包含以下几个模块: 字段 – 字段是类里面声明的变量。字…...

RocketMQ的Docker镜像部署(以及Dashboard的部署、ACL配置)

RocketMQ的Docker镜像部署(以及Dashboard、ACL) 准备 包含RocketMQ部署(NameServer、Broker)、Dashboard、ACL拉取镜像 RocketMQ$ docker pull apache/rocketmq:5.1.4Dashboard$ docker pull apacherocketmq/rocketmq-dashboard…...

数据仓库【2】:架构

数据仓库【2】:架构 1、架构图2、ETL流程2.1、ETL -- Extract-Transform-Load2.1.1、数据抽取(Extraction)2.1.2、数据转换(Transformation)2.1.3、数据加载( Loading ) 2.2、ETL工具2.2.1、结构…...

JavaScript函数表达式

JavaScript函数表达式是一种将函数赋值给变量的方式。函数表达式可以以匿名形式或具名形式存在。 匿名函数表达式: var func function() {// 函数的逻辑 }在上面的例子中,将一个匿名函数赋值给变量func。 具名函数表达式: var func fun…...

LabVIEW在齿轮箱故障诊断中的应用

LabVIEW在齿轮箱故障诊断中的应用 在现代机械工业中,齿轮箱作为重要的传动设备,其性能稳定性对整体机械系统的运行至关重要。故障的及时诊断和处理不仅保障了设备的稳定运行,还减少了维护成本。利用LabVIEW强大数据处理和仿真能力&#xff0…...

图片转excel:“保留数字格式”在什么场景下该勾

保留数字格式是什么意思呢?顾名思义,就是将转出来的数字保留为数字格式,而不是文本格式。我们知道,OCR程序将图片上的文字识别为电脑可编辑的文字后,如果导入到excel不加处理,则单个数字过长的文字就会被ex…...

SpringMVC:整合 SSM 下篇

文章目录 SpringMVC - 05整合 SSM 下篇一、设计页面1. 首页:index.jsp2. 展示书页面:showBooks.jsp3. 增加书页面:addBook.jsp4. 修改书页面:updateBook.jsp5. 总结 二、控制层1. 查询全部书2. 增加书3. 修改书4. 删除书5. 搜索书…...

[2023-年度总结]凡是过往,皆为序章

原创/朱季谦 2023年12月初,傍晚,在深圳的小南山看了一场落日。 那晚我们坐在山顶的草地上,拍下了这张照片——仿佛在秋天的枝头上,结出一颗红透的夕阳。 这一天很快就会随着夜幕的降临,化作记忆的碎片,然…...

OpenCV之像素操作

我们首先了解一下什么是像素,计算机中是如何存储图像,以及opencv是如何表示图像的。 像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色…...

Transfer Learning(迁移学习)

1. 什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都…...

NPM 的使用技巧:简化 JavaScript 开发和依赖管理

前言 NPM(Node Package Manager)是 JavaScript 生态系统中最流行的包管理工具之一。本文将介绍一些有用的 NPM 使用技巧,帮助开发者更好地利用 NPM 管理项目依赖、执行脚本、发布自己的包以及解决常见问题。 1. 初始化项目 使用 NPM 初始化…...

统计和绘图软件GraphPad Prism mac功能特点

GraphPad Prism mac是一款专业的统计和绘图软件,主要用于生物医学研究、实验设计和数据分析。 GraphPad Prism mac功能和特点 数据导入和整理:GraphPad Prism 可以导入各种数据格式,并提供直观的界面用于整理、编辑和管理数据。用户可以轻松…...

WWW 指南-万维网联盟(World Wide Web)

WWW - 万维网联盟 WWW通常称为网络。 web是一个世界各地的计算机网络。 电脑在Web上使用标准语言沟通。 万维网联盟(W3C)制定了Web标准 什么是WWW? WWW 代表 World Wide Web(万维网)万维网常常被称为 网络网络是世界各地的计算机网络网络中…...

Linux网络编程之TCP/IP实现高并发网络服务器设计指南

目录 引言: 多进程服务器 例程分享: 多线程服务器 例程分享: I/O多路复用服务器 select 例程分享: poll 例程分享: epoll 例程分享: 总结建议 引言: 随着互联网的迅猛发展&#xff…...

【SpringBoot实战】基于阿里云实现文件上传

【SpringBoot实战】基于阿里云实现文件上传 在实际项目开发中&#xff0c;不可避免地会使用到阿里云OSS进行文件存储。尽管阿里云有详细的开发文档&#xff0c;但本篇博客的目的是让我们能够用简明的代码快速实现这个功能。 引入依赖 <dependencies><!-- 阿里云oss…...

大数据技术学习笔记(十一)—— Flume

目录 1 Flume 概述1.1 Flume 定义1.2 Flume 基础架构 2 Flume 安装3 Flume 入门案例3.1 监控端口数据3.2 实时监控单个追加文件3.3 实时监控目录下多个新文件3.4 实时监控目录下的多个追加文件 4 Flume 进阶4.1 Flume 事务4.2 Flume Agent 内部原理4.3 Flume 拓扑结构4.3.1 简单…...

电路设计时,继电器线圈、风扇电机绕组等感性负载必须有续流二极管。

续流二极管(也常被称为“自由轮流二极管”或“反向并联二极管”)在感性负载电路中的应用非常重要,尤其是在继电器线圈、风扇电机绕组等设备中。感性负载是指那些在其线圈中会产生感应电动势的负载,例如电动机、变压器和继电器等。当这些设备的电源被切断时,它们的线圈会因…...

Mongodb基础介绍与应用场景

NoSql 解决方案第二种 Mongodb MongoDB 是一款开源 高性能 无模式的文档型数据库 当然 它是NoSql数据库中的一种 是最像关系型数据库的 非关系型数据库 首先 最需要注意的是 无模式的文档型数据库 这个需要后面我们看到它的数据才能明白 其次是 最像关系型数据库的非关系型数据…...

mysql参数配置binlog

官网地址&#xff1a; MySQL :: MySQL Replication :: 2.6.4 Binary Logging Options and Variables 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. MySQL 复制 / ... / 二进制日志记录选项和变量 2.6.4 二进…...

pytorch常用的几个函数详解

文章目录 view基本用法自动计算维度保持原始数据不变 t函数功能语法返回值示例注意事项 permute() 函数基本概念permute() 函数的使用 unsqueeze() 函数基本概念unsqueeze() 函数的使用 squeeze() 函数基本概念squeeze() 函数的使用 transpose() 函数基本概念transpose() 函数的…...

Linux下安装Flume

1 下载Flume Welcome to Apache Flume — Apache Flume 下载1.9.0版本 2 上传服务器并解压安装 3 删除lib目录下的guava-11.0.2.jar &#xff08;如同服务器安装了hadoop&#xff0c;则删除&#xff0c;如没有安装hadoop则保留这个文件&#xff0c;否则无法启动flume&#…...

20231225使用BLE-AnalyzerPro WCH升级版BLE-PRO蓝牙分析仪抓取BLE广播数据

20231225使用BLE-AnalyzerPro WCH升级版BLE-PRO蓝牙分析仪抓取BLE广播数据 2023/12/25 20:05 结论&#xff1a;硬件蓝牙分析仪 不一定比 手机端的APK的效果好&#xff01; 亿佰特E104-2G4U04A需要3片【单通道】&#xff0c;电脑端的UI为全英文的。 BLE-AnalyzerPro WCH升级版B…...

.net6使用Sejil可视化日志

&#xff08;关注博主后&#xff0c;在“粉丝专栏”&#xff0c;可免费阅读此文&#xff09; 之前介绍了这篇.net 5使用LogDashboard_.net 5logdashboard rootpath-CSDN博客 这篇文章将会更加的简单&#xff0c;最终的效果都是可视化日志。 在程序非常庞大的时候&…...

mysql(51) : 大数据导出为insert

代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Objects;public class 大数据导出为insert {public …...

MFC查找错误的方法

在visual studio2005上Debug总是会出现各种问题&#xff0c;比如指针错误&#xff0c;乱码等&#xff0c;无法正确查看变量的值&#xff0c;这时候可以使用AfxMessageBox()方法对数据进行弹窗输出&#xff0c;但AfxMessageBox()函数只支持CString数据输出&#xff0c;我们就需要…...

Jave EE 网络原理之网络层与数据链路层

文章目录 1. 网络层1.1 IP 协议1.1.1 协议头格式1.1.2 地址管理1.1.2.1 认识 IP 地址 1.1.3 路由选择 2. 数据链路层2.1 认识以太网2.1.1 以太网帧格式2.1.2 DNS 应用层协议 1. 网络层 网络层要做的事情&#xff0c;主要是两个方面 地址管理 &#xff08;制定一系列的规则&am…...

ElasticSearch 使用映射定义索引结构

动态映射 dynamic 可选值解释true默认值&#xff0c;启用动态映射&#xff0c;新增的字段会添加到映射中runtime查询时动态添加到映射中false禁用动态映射&#xff0c;忽略未知字段strict发现未知字段&#xff0c;抛出异常 显示映射 创建映射 PUT user {"mappings&qu…...

HTML---网页布局

目录 文章目录 一.常见的网页布局 二.标准文档流 标准文档流常见标签 三.display属性 四.float属性 总结 一.常见网页布局 二.标准文档流 标准文档流常见标签 标准文档流的组成 块级元素<div>、<p>、<h1>-<h6>、<ul>、<ol>等内联元素<…...

python 普通存款(单利)计算公式:

python 普通存款&#xff08;单利&#xff09;计算公式&#xff1a; 代码如下&#xff1a; #普通存款 单利计算公式&#xff1a;a:原值&#xff0c;n:计算年限&#xff0c;li&#xff1a;利率&#xff08;小数&#xff09;, def danli(a,n,li):print("普通存款(单利)计…...

什么是 PHP 内存溢出 ?遇到了要如何解决呢 ?

PHP内存溢出指的是在PHP应用程序中&#xff0c;分配给脚本执行的内存超出了PHP配置文件中设置的限制。当脚本尝试使用比可用内存更多的内存时&#xff0c;就会发生内存溢出错误。 一、内存溢出可能由以下几个原因引起&#xff1a; 循环引用&#xff1a;如果存在循环引用&#…...

本地使用 docker 运行OpenSearch + Dashboard + IK 分词插件

准备基础镜像 注意一定要拉取和当前 IK 分词插件版本一致的 OpenSearch 镜像: https://github.com/aparo/opensearch-analysis-ik/releases 写这篇文章的时候 IK 最新版本 2.11.0, 而 dockerhub 上 OpenSearch 最新版是 2.11.1 如果版本不匹配的话是不能用的, 小版本号对不上…...

【JavaEE初阶一】线程的概念与简单创建

1. 认识线程&#xff08;Thread&#xff09; 1.1 关于线程 1.1.1 线程是什么 由前一节的内容可知&#xff0c;进程在进行频繁的创建和销毁的时候&#xff0c;开销比较大&#xff08;主要体现在资源的申请和释放上&#xff09;&#xff0c;线程就是为了解决上述产生的问题而提…...

三叠云工程劳务管理,优化建筑施工管理,提升效率与质量

随着建筑行业的蓬勃发展&#xff0c;工程施工现场管理变得愈发复杂。传统的人员管理方式已经无法满足企业快速发展的需求。如何提高施工效率、优化人力资源管理成为了建筑企业亟待解决的问题。逐渐走向数字化的工程建设行业&#xff0c;急需一种足以匹配这一时代变革、高效管理…...

RocketMQ连接报错RemotingConnectException: connect to <192.168.57.129:9876>解决

文章目录 前言一、RocketMQ 连接报错处理1.1 报错信息1.2 修改 broker.conf 文件1.3 Linux 开放端口1.4 项目启动成功 前言 上一篇文章&#xff1a;基于SpringBoot整合RocketMQ异步发送短信功能在项目启动的过程中报了 RocketMQ 连接错误。针对这个问题&#xff0c;本文给予记…...

设计模式--桥接模式

实验9&#xff1a;桥接模式 本次实验属于模仿型实验&#xff0c;通过本次实验学生将掌握以下内容&#xff1a; 1、理解桥接模式的动机&#xff0c;掌握该模式的结构&#xff1b; 2、能够利用桥接模式解决实际问题。 [实验任务]&#xff1a;两个维度的桥接模式 用桥接模式…...

redis基本用法学习(C#调用StackExchange.Redis操作redis)

StackExchange.Redis是基于C#的高性能通用redis操作客户端&#xff0c;也属于常用的redis客户端之一&#xff0c;本文学习其基本用法。   新建Winform项目&#xff0c;在Nuget包管理器中搜索并安装StackExchange.Redis&#xff0c;如下图所示&#xff1a;   StackExchange.…...

单挑力扣(LeetCode)SQL题:1308. 不同性别每日分数总计

相信很多学习SQL的小伙伴都面临这样的困境&#xff0c;学习完书本上的SQL基础知识后&#xff0c;一方面想测试下自己的水平&#xff1b;另一方面想进一步提升&#xff0c;却不知道方法。 其实&#xff0c;对于技能型知识&#xff0c;我的观点一贯都是&#xff1a;多练习、多实…...

Vue3组合式-依赖注入provideinject

一、注意点 专门强调了是3.0且是组合式&#xff0c;不是2.0不支持也不是选项式不支持provide&&inject&#xff0c;是支持但是有很明显的弊端&#xff0c;不建议使用 二、场景 官方的解释: 通常情况下&#xff0c;当我们需要从父组件向子组件传递数据时&#xff0c;会…...

SRE 与 DevOps 的不同之处

尽管网站可靠性工程 (SRE) 理念早在 2003 年就由 Google 的 Ben Treynor Sloss 提出&#xff0c;但其近年来却一直受到追捧。随着 DevOps 实践已经在许多组织中牢固确立&#xff0c;两者之间的冲突是否已经显现&#xff1f;SRE 只不过是一种过时的趋势吗&#xff1f;是 SRE 补充…...

【湖仓一体尝试】MYSQL和HIVE数据联合查询

爬了两天大大小小的一堆坑&#xff0c;今天把一个简单的单机环境的流程走通了&#xff0c;记录一笔。 先来个完工环境照&#xff1a; mysqlhadoophiveflinkicebergtrino 得益于IBM OPENJ9的优化&#xff0c;完全启动后的内存占用&#xff1a; 1&#xff09;执行联合查询后的…...

SpringCloud跨服务调用失败Seata无法回滚解决办法

遇到的问题 在微服务项目中 有A、B、C三个服务 其中 A调用B服务 &#xff0c;B调用C&#xff0c; 这些就是跨服务调用了&#xff0c;在A服务中 还调用了一个当前模块执行插入数据的方法(在这里我就叫它为AA 也就是mybatis/spring管理的本地事务) A服务开启全局事务注解 Globa…...

OSG三维渲染引擎编程学习之一百零一:“第十一章:OSG粒子” 之 “11.2 粒子模拟过程”

目录 第十一章 OSG粒子 11.2 粒子模拟过程 第十一章 OSG粒子 虚拟现实中有很多效果,如雨效、雪效、雾效等,这些都可以通过粒子条统来实现。一个真实的粒子系统的模式能使三维场景达到更好的效果。 粒子系统是一个非常复杂的粒子模拟过程。在OSG中,专门定义了新的名字空间o…...

Autosar CAN开发03(从实际应用认识CAN总线的物理层)

建议同时阅读本专栏的&#xff1a; Autosar CAN开发03&#xff08;从实际应用认识CAN总线的物理层&#xff09; Autosar CAN开发04&#xff08;从实际应用认识CAN报文&#xff09; Autosar CAN开发05&#xff08;从实际应用认识CAN波特率&#xff09; 前言 在上一章的《AU…...

vue中父子组件传值

父传子 传: 在"标签"上传属性 <Card :name"name"></Card> 接: 在props中 export default {props: {name: String},setup(props) {console.log(props.name);} } 子传父 传: 触发,给一个事件传值 setup(props,{emit}) {emit("get…...

【网络编程】基于UDP数据报实现回显服务器/客户端程序

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 前言 我们如果…...

sqlilabs第三十二三十三关

Less-32&#xff08;GET - Bypass custom filter adding slashes to dangerous chars) 手工注入 由 宽字符注入可知payload 成功触发报错 http://192.168.21.149/Less-32/ ?id1%df 要写字符串的话直接吧字符串变成ascii码 注意16进制的表示方式 自动注入 sqlmap -u http:…...

第二十一章博客

计算机应用实现了多台计算机间的互联&#xff0c;使得它们彼此之间能够进行数据交流。网络应用程序就是在已连接的不同计算机上运行的程序&#xff0c;这些程序借助于网络协议&#xff0c;相互之间可以交换数据。编写网络应用程序前&#xff0c;首先必须明确所要使用的网络协议…...