程序员如何做到自我提升,我觉得需要做到以下几点。

一,学无止境

不能一直躺在以前的功劳簿上,认为只要有一个技术掌握到手,只能解决问题就行了。这样的思维方式是比较危险的。因为随着时代在进步,编程技术也在不停地更新迭代。同样的问题用以前的编程技术解决问题需要三天的时间,如果用最新的编程技术解决问题,可能只需要一天就搞定了。如果我们不继续努力学习新的编程知识,被淘汰被替代只是时间问题。

二、精益求精

软件研发不是工厂生产,他们之间有很多的区别。当我们遇到一个问题后,费劲脑筋想出来了一个解决这个问题的办法。但是,我们仍然要时刻想着有没有更好的办法或者更优的解决办法。

三、文档先行

一个软件的完成往往需要一个团队共同开发才能够完成,这个过程中,每一次方案的设计和改进,必须要有文档整理出来,包括需求设计、概要设计、详细设计等等。只有在文档上面把我们的想法清晰地表达出来。才能够让团队里的其他成员理解我们要做的事情。举一个最单的例子,领导说要让我们每人画一只老虎,如果没有详细设计文档,没有效果图,也没有和领导确认,那最后我们每一个人画出来的老虎肯定都不一样,那么,究竟哪个人画出来的老虎才是领导心里想的样子呢?

Typecho永久链接设置,启用地址重写功能后提示“重写功能检测失败, 请检查你的服务器设置”是什么意思?新手站长网分享Typecho重写功能检测失败, 请检查你的服务器设置的解决方法:

Typecho重写功能检测失败, 请检查你的服务器设置

Typecho永久链接设置开启地址重新rewrite功能,提示重写功能检测失败, 请检查你的服务器设置,一般是由于服务器或虚拟主机端伪静态规则没有设置的原因,勾选“如果你任然想启动此功能,请勾选这里”,这时候你会发现网站内页打不开了。这时候去设置一下伪静态规则,根据Web服务器环境选择对应的伪静态规则,新手站长网分享Apache和Nginx下的Typecho伪静态规则:

Typecho Apache伪静态规则:

创建.htaccess文件,复制下方伪静态规则,粘贴到.htaccess文件中,并将其上传到网站根目录。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Typecho Nginx伪静态规则

Nginx Web服务器环境安装不同,伪静态配置文件位置也不用,思路是复制下方Nginx伪静态规则,保存为typecho.conf文件,然后在网站配置文件中调用。

if (-f $request_filename/index.html){

    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
    rewrite (.*) /index.php;
}

只需要会SQL语句和JavaScript,就可以实现数据同步服务的功能。msg是一个对象,在一个流程里面的任意一个节点组件里面都能够访问到,举一个例子流程就好像进行中的一场足球比赛,在这场比赛里面,球员可以理解为节点,足球可以理解为msg对象,足球在各个球员之间进行不停地传递,最后足球进入球门,整个流程也就结束,也就是说在整个流程里面msg对象是流动的,共享的。这个node-red服务的核心就是一个流程服务,所有的操作都是串行的方式执行的。不管在哪个节点组件上,msg对象就是一个核心的对象,我们可以给这个msg对象增加自定义对象,方便在以后流程的任意节点里面去使用。

能够理解上述内容,那么基本就已经掌握了node-red的核心思想了,当然了,这是我的个人理解。为了解释这个原理,现在我写一个简单的例子来说明一下。要做点什么呢?举一个例子,我们读取所有的科室表,然后根据科室id去读取患者表的数据,当然这个操作是多余的,我只是为了说明上述原理。

我本地有两张表,科室表和患者表,如图所示

image.png

image.png

这两个表的关联字段就是科室id就是departmentid,由于流程是串行的,现在需要先查询出所有的科室信息,然后,再把科室id取出来,再重新组织成一个SQL语句去查询患者信息。对了,顺便说一下,按照安装方式2搭建的服务,里面已经安装了mysql,SqlServer,Oracle的组件,当然,也可以自己安装。好了,我们需要先创建一个inject组件。如图所示。

image.png

在这个topic里面去输入查询SQL语句,之所以要把SQL语句写在topic字段里面是因为数据库组件的规则必须要这么输入,所以,按照他们的规则做就行了。接下来创建一个数据库组件。

image.png

image.png

连接起来,为了直观看一下效果,先添加一个debug组件,看一下这一步生成的记录。

image.png

现在我点一下左侧的按钮,就可以查看到查询结果了。

image.png

可以看到debug组件显示的就是msg.payload对象的信息,接下来,添加一个函数组件,处理一下这个结果,把科室id过滤出来,然后,组成新的SQL语句。如图所示。

image.png

image.png

然后,再在后面添加一个数据库组件,可以直接复制一下之前的组件就行。如图所示

image.png

最后,添加一个debug组件,查看payload里面是不是患者信息。

image.png

image.png

可以看到已经有患者信息了,那我现在要看科室信息,要怎么办,有三种办法,第一个是再添加debug组件打印departmentList;第二个就是添加函数组件,把他们合并到一起后再连接一个debug组件;第三个就是直接修改debug组件的打印信息,把payload修改成departmentList对象,为了简单起见,这里面我直接修改这个debug组件。如图所示。

image.png

点击保存按钮,最后点击重新部署按钮。

image.png

再调试一下看看结果。

image.png

可以看到打印的结果已经变成科室列表信息了。

总结,流程的每次修改,都要去重新部署一下,否则流程不会生效。

node-red是一个用于物联网管理的流程服务管理平台。是IBM开发的。是一个低代码可视化的流程管理平台。

  • 可视化,直接在浏览器拖拽创建Flow

  • 平台可使用模块丰富

  • 支持http,mqtt,websocket,tcp,utp协议

  • 使用Nodejs事件驱动的非阻塞模型,非常适合在低成本硬件运行

  • 完全开源,可以自主开发

其实有关node-red的相关教程,官网上已经写的非常清楚和详细了,如果大家对英语比较熟悉的话,建议还是去阅读官网的教程。https://nodered.org/

这里在引用网上搜索的另外一个教程:https://www.cxyzjd.com/article/github_35631540/111869601

这个教程写的也挺全面的,目前我写的是完全按照我自己的理解写的,我也在学习过程中。

安装方式1

在官网上提供了很多种的安装方式,这里我自己采用的是git源码的安装方式,也就是官网上提供的方法进行的,https://nodered.org/docs/getting-started/development,如果这里面的git地址无法访问的话,可以访问这个连接https://gitee.com/mirrors/node-red.git

安装方式2

如果安装方式1失败,可以采用第二种方式,这种方式我是采用了一种安装后的方式,需要的资料我已经上传到网盘,

链接:https://pan.baidu.com/s/19Q1m2lybVQbQv_QoIvbguQ 

提取码:1111 

详细说明参考这个PDF文件。

flows.pdf

Linux下执行nohup npm start &

辽公网安备21010602000703号 备案号:冀ICP备2022001219号