Node-Red和IOT-Tree中的消息流对软件开发的一点思考

上一篇文章IOT-Tree 1.7.0实现了一个类似Node-Red的流程功能中,我提到了如下文字内容:

通过这样的图形化编程机制把软件开发直接分成了两个层次。

1. 一个是应用层面,给用户、项目实施技术人员或维护人员能够在不需要掌握深入技术的前提下,还可以快速实现业务需要,并且极大的降低后续业务微调成本。毕竟灵活的图形化流程能够在线修改和调整。

2. 二是在节点开发上,则需要一定技术能力的程序员来完成,但开发方式上就好比制造有一定技术规范的零件,零件功能通过流程节点的封装,屏蔽了复杂的底层知识。

这个也是我做软件框架时经常想的一个问题。仔细研读了自己写的这段文字,发现自己还有不少想法。

1,这好像就是我们这个世界的技术规律

无论新出的技术一开始看着那么高精尖,只要在人类生产过程中,逐步推广应用到日常生活工作,那么都会变的很普通。那些复杂的技术都会被封装到黑盒子中。网上看到有个老奶奶给无人机加电池和放种子,熟练程度看着这个很高级的无人机和过去骑的自行车没多大区别。

我们软件也应该是这样,各种框架把我们从底层需要关心的细节不断封装沉淀,最终带动整个行业的发展。但同时,绝大多数程序员都变成了那个老奶奶了——这同时也是个悲剧。

无人机内部的芯片,飞控这些才是真正有技术含量的东西,掌握了这些技术的公司那就挣钱很爽了。而那些使用无人机帮人施肥的人,都成为了这个产业链的下游。从这个角度,我们是不是也应该掌握框架的底层呢?

难:软件太容易复制了,因此绝大多数程序员的“卷”是必然的结果。

2,程序员如何找出路呢

其实也不用太悲观,能掌握底层并占有市场的毕竟还是少数。业务层面的软件需要就像传统行业一样,总是有需求的。嗯,我认为IT现在也基本是传统行业了,现在IT圈这个炸那个炸也应该是程序员没有以前那么吃香了,然后造成了心理的不平衡。

出路肯定有,我感觉大致有如下

1) 深耕某个行业 2)在一个很服务很多用户的平台出力 3)找风口机会——这个失败概率比较大

4)转行——带着自己的IT技术,应该比一般人好混 5)其他(自己想吧)

3,还是讲讲技术吧——消息流程

Node-Red和IOT-Tree的消息流程和一般的流程不一样。因为里面跑的都是消息包。从其实节点(触发节点)产生消息,随着节点和路径流动。某种意义上是一种结构清晰和简单的一种流程。唯一稍微需要注意的是上下文:节点上下文和流程上下文。这个本质就是节点自身的变量和流程自身的变量,他们的作用域不一样而已。

不过,我研究了一下控制流程实现,发现确实有不少优势:

1)节点本身就是状态,只要分配好控制状态机的状态在不同的节点上,后续控制逻辑设计就会变得很简单。

2)更能适应自控、物联网系统数据的特点。自控系统和物联网数据标签和我们程序定义的变量不同,除了正常的取值,还需要考虑不正常的情况——如网络中断造成的无效值。而是要消息流里面的标签,则只需要做个简单勾选就可以决定输出的消息是否应该走正常流程或异常流程。这个如果用代码实现,就会显得比较乱。

3)使用此技术对传统的软件企业很有用。这个流程天然会让企业的业务技术进行积累——节点积累,并且可以大大减少系统之间的耦合。积累和解耦——可以大大降低软件企业的成本。

先这些,想的有点乱,不过都是干货哦!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/708159.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

颈肌筋膜炎怎么治疗

颈肌筋膜炎的症状主要包括: 1、疼痛:疼痛多局限于项部,两侧为重,晨起时明显,活动后减轻,阴雨天时可能加重。疼痛以持续性酸胀疼痛为特点,严重时可能伴有头痛、肩、背痛。 2、压痛:在…

从零开始写 Docker(十八)---容器网络实现(下):为容器插上”网线“

本文为从零开始写 Docker 系列第十八篇,利用 linux 下的 Veth、Bridge、iptables 等等相关技术,构建容器网络模型,为容器插上”网线“。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实…

【论文阅读】《Sketch and Refine: Towards Fast and Accurate Lane Detection》

Abstract 车道检测是指确定道路上车道的精确位置和形状。尽管目前的方法已经做出了努力,但由于现实世界场景的复杂性,这仍然是一项具有挑战性的任务。无论是基于建议的方法还是基于关键点的方法,现有方法都无法有效、高效地描绘车道。基于建…

JAVA动态表达式:Antlr4 表达式树解析

接上面 JAVA动态表达式:Antlr4 G4 模板 读取字符串表达式结构树-CSDN博客 目前已经实现了常量及分组常规表达式的解析。 String formula "啦啦啦1 and 11 and 23 and 1123 contains 1 and 23455 notcontains 5"; String formula "啦啦啦1 and (…

能在电脑桌面记笔记的软件是什么 电脑笔记软件

在这个数字化高速发展的时代,电脑已成为我们日常工作和学习的必备工具。而对我来说,电脑桌面不仅仅是一个简单的工作界面,更是一个思考和创造的平台。我时常需要在工作时快速记录一些重要信息或灵感,这时候,能在电脑桌…

文件比对工具Beyond Compare——设置差异项对齐方式并保存导出

一、Beyond Compare怎么对齐 在Beyond Compare中,对比文件时,可能会有某个文件左侧或右侧出现了空白,导致无法直接比较,这种情况被称为“对齐”问题。那么你知道Beyond Compare怎么来对齐吗? 1、打开Beyond Compare&…

CCAA 质量管理 备考核心知识点笔记

第一部分 质量管理体系相关标准 《质量管理体系基础考试大纲》中规定的考试内容: 3.1质量管理体系标准 a) 了解 ISO 9000 系列标准发展概况; b) 理 解 GB/T19000 标准中涉及的基本概念和质量管理原则; c) 理 解GB/T19000 标准中的部分…

一文深度了解基于大模型的Agent(一)

1、什么是 Agent Agent是一种能够在一定程度上模拟人类智能行为的软件实体,它具有感知环境、做出决策和执行动作的能力。Agent可以在预定的规则和目标下自主操作,与用户或其他Agent进行交互,完成特定的任务。 Agent 的火爆起源于一个开源的…

Web应用安全测试-业务功能滥用(一)

Web应用安全测试-业务功能滥用(一) 1、短信定向转发 漏洞描述:短信接收人可任意指定 测试方法:拦截发送短信的请求,将手机号改为测试人员的手机号,测试是否可接收短信验证码。 风险分析:攻击…

rsa加签验签C#和js以及java互通

js实现rsa加签验签 https://github.com/kjur/jsrsasign 11.1.0版本 解压选择需要的版本&#xff0c;这里选择all版本了 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>JS RSA加签验签</title&g…

软件安全测评有哪些测试流程?第三方检测机构进行安全测评的好处

在今天的高科技时代&#xff0c;软件产品已经成为人们生活和工作的重要组成部分。然而&#xff0c;与其普及和深入应用的&#xff0c;软件安全问题也日益凸显。 为了保障软件产品在使用过程中的安全性&#xff0c;进行安全测评是必不可少的。安全测评可以全面评估软件系统的安…

框架学习之spring学习笔记(一)

一、框架前言 1-什么是spring框架&#xff0c;有哪些主要模块&#xff1f; Spring 框架是一个专门针对于 Java 应用程序开发&#xff0c;并提供了综合、广泛的基础性支持的轻量级框架。Spring框架使用目的是为了提高开发人员的开发效率以及系统的可维护性。 Spring 是以IoC和A…

linux的UDP广播测试:C语言代码

测试代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h>#…

解决:安装MySQL 5.7 的时候报错:unknown variable ‘mysqlx_port=0.0‘

目录 1. 背景2. 解决步骤 1. 背景 吐槽1&#xff0c;没被收购之前可以随便下载&#xff0c;现在下载要注册登录吐槽2&#xff0c;5.7安装到初始化数据库的时候就会报错&#xff0c;而8.x的可以一镜到底&#xff0c;一开始以为是国区的特色问题&#xff0c;google了一圈&#x…

重学java 70.IO流 Commons-io工具包

所有人都不看好你&#xff0c;可你偏偏最争气 —— 24.6.14 一、介绍 IO技术开发中&#xff0c;代码量很大&#xff0c;而且代码的重复率较高。如果我们要遍历目录&#xff0c;拷贝自录就需要使用方法的递归调用&#xff0c;也增大了程序的复杂度。 二、添加第三方jar包 1.ja…

Windows MySQL_8.4.0 Navicat报错代码1251不支持认证协议解决方案

Windows MySQL_8.4.0 Navicat报错代码1251不支持认证协议解决方案 前言&#xff1a; Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。它是一套单一的应用程序&#xff0c;能同时连接 MySQL 和 MariaDB 数据库&#xff0c;并与 OceanBase 数据库及 Amazon RD…

旅游网站(携程旅行网页学习 vue3+element)

旅游网站 1. 创建项目 在你要创建项目的路径下打开vscode&#xff0c;新建终端&#xff0c;然后输入vue ui,进入Vue项目管理器。选择“创建”&#xff0c;确定项目路径&#xff0c;并点击“在此创建新项目”。在项目文件夹中输入项目名称&#xff0c;点击下一步&#xff1b;选…

经纬恒润助力微宏动力荣获ISO/SAE 21434网络安全流程认证证书

近日&#xff0c;经纬恒润与微宏动力合作的网络安全开发及认证项目顺利完成了阶段性里程碑。作为一家全球化的新能源及储电技术产品及解决方案供应商&#xff0c;微宏动力成功获得了由国际独立第三方检测、检验和认证机构UL Solutions授予的ISO/SAE 21434网络安全流程认证证书。…

社区团购系统搭建部署 :便捷高效,连接消费者与商家新篇章

一、前言 随着科技的快速发展和互联网的普及&#xff0c;社区团购系统作为一种新型的购物模式&#xff0c;正以其便捷高效的特性&#xff0c;逐渐改变着消费者和商家的互动方式。社区团购系统为商家提供丰富的营销活动和便捷高效的门店管理体系&#xff0c;为消费者提供真正实惠…

分享:2024年怎么做选品师项目才能赚钱?

在2024年&#xff0c;成为一名成功的选品师并赚钱&#xff0c;需要明确的策略和行动步骤。选品师作为电商行业中的关键角色&#xff0c;负责选择和管理产品库存&#xff0c;直接影响到销售和利润。以下是一些关键步骤&#xff0c;帮助您在这个领域取得成功。 1. 熟悉市场趋势和…