精读《低代码逻辑编排》

本文详细解读了低代码逻辑编排工具Node-RED,介绍了如何使用其42个逻辑节点构建前后端服务。文章通过实例演示了如何创建天气查询应用,阐述了每个逻辑节点的功能,包括注入、调试、错误捕获、功能处理等,并探讨了逻辑编排的优势与潜在问题。
摘要由CSDN通过智能技术生成

逻辑编排是用可视化方式描述逻辑,在一般搭建场景中用于代替逻辑描述部分。

更进一步的逻辑编排是前后端逻辑混排,一般出现在一站式 paas 平台,今天就介绍一个全面实现了逻辑编排的 paas 工具 node-red,本周精读的内容是其介绍视频:How To Create Your First Flow In Node-RED,介绍了如果利用纯逻辑编排实现一个天气查询应用,以及部署与应用迁移。

概述

想要在本地运行 Node-RED 很简单,只要下面两条命令:

npm install -g --unsafe-perm node-red
node-red

之后你就可以看到这个逻辑编排界面了:

我们可以利用这些逻辑节点构建前端网站、后端服务,以及大部分开发工作。光这么说还比较抽象,我们接下来会详细介绍每个逻辑节点的作用,让你了解这些逻辑节点是如何规划设计的,以及逻辑编排到底是怎么控制研发规范来提高研发效率的。

Node-RED 截止目前共有 42 个逻辑节点,按照通用、功能、网络、序列、解析、存储分为六大类。

所有节点都可能有左右连接点,左连接点是输入,右连接点是输出,特殊节点可能有多个输入或多个输出,其实对应代码也不难理解,就是入参和出参。

下面依次介绍每个节点的功能。

通用

通用节点处理通用逻辑,比如手动输入数据、调试、错误捕获、注释等。

inject

手动输入节点。可以定期产生一些输入,由下一个节点消费。

举个例子,比如可以定期产生一些固定值,如这样一个这个对象:

return {
  payload: new Date(),
  topic: "abc",
};

当然这里是用 UI 表单配置的:

之后就是消费,几乎后面任何节点都可以消费,比如利用 change 节点来设置一些环境变量时,或者利用 template 节点设置 html 模版时,都可以拿到这里输入的变量。如果在模版里,变量通过 { {msg.payload}} 访问,如果是其它表单,甚至可以通过下拉框直接枚举选择。

然而这个节点往往用来设置静态变量,更多的输入情况是来自其它程序或者用户的,比如 http in,这个后面会讲到。其实通过这种组合关系,我们可以把任意节点的输入从生产节点替换为 inject 节点,从而实现一些 mock 效果,而 inject 节点也支持配置定时自动触发:

debug

用来调试的,当任何输出节点连接到 debug 的输入后,将会在控制台打印出输出信息,方便调试。

比如我们将 inject 的输入连上 debug 的输入,就可以在触发数据后在控制台看到打印结果:

当然如果你把输入连接到 debug,那么原有逻辑就中断了,然而任何输出节点都可以无限制的输出给其它节点,你只要同时把输出连接到 debug 与功能节点就行了:

complete

监听某些节点触发完成动作。通过这个节点,我们可以捕获任意节点触发的动作,可以接入 debug 节点打印日志,或者 function 节点处理一下逻辑。

可以监听全部节点,也可以用可视化方式选择要监听哪些节点:

catch
Yolov5是一种目标检测算法,其代码主要分为模型定义、数据处理、训练和推理四个部分。以下是对yolov5代码的精读: 1. 模型定义部分:yolov5的模型定义主要在models/yolo.py文件中,其中包括了网络结构的定义、损失函数的定义以及前向传播函数的实现。在网络结构的定义中,yolov5采用了CSPDarknet53作为骨干网络,并在其基础上添加了多个特征层和预测层,用于检测不同大小的目标。在损失函数的定义中,yolov5采用了Focal Loss和GIoU Loss两种损失函数,用于优化目标检测的精度和召回率。 2. 数据处理部分:yolov5的数据处理主要在datasets文件夹中实现,包括了数据集的读取、预处理、增强等操作。其中,yolov5支持多种数据格式,包括COCO、VOC、YOLO等格式,并提供了多种数据增强方式,如随机裁剪、随机旋转、随机缩放等,用于增加数据集的多样性和数量。 3. 训练部分:yolov5的训练主要在train.py文件中实现,其中包括了模型的初始化、数据集的加载、优化器的定义、训练过程的实现等。在训练过程中,yolov5采用了分布式训练的方式,使用torch.nn.parallel.DistributedDataParallel进行多GPU训练,并支持多种训练策略,如学习率衰减、梯度累积等。 4. 推理部分:yolov5的推理主要在detect.py文件中实现,其中包括了模型的加载、像的读取、预处理、目标检测等操作。在目标检测过程中,yolov5采用了非极大值抑制(NMS)算法,用于去除重复的检测框,并支持多种后处理方式,如可视化、保存结果等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值