0%

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# THIS IS ONLY FOR THE gitattributes REPOSITORY.

# Handle line endings automatically for files detected as text

# and leave all files detected as binary untouched.

* text=auto



#

# The above will handle all files NOT found below

#

# These files are text and should be normalized (Convert crlf => lf)

*.gitattributes text

.gitignore text

*.md text



#

# Exclude files from exporting

#



.gitattributes export-ignore

.gitignore export-ignore

NodeRed中的节点模块由一个个软件包组成,NodeRed使用了Node的包管理。

1. 包管理#

包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。

通常在代码管理平台,追踪代码修正与版本的迭代;包管理平台负责安装包的管理与维护。

阅读全文 »

1. 几种常用的认证机制#

1.1. HTTP Basic Auth#

Basic Auth是开放平台的两种认证方式,简单点说明就是每次请求API时都提供用户的username和password。

  • 优点:
    • 使用非常简单,
    • 开发和调试工作简单,
    • 没有复杂的页面跳转逻辑和交互过程;
    • 更利于发起方控制;
  • 缺点:
    • 安全性低,每次都需要传递用户名和密码,用户名和密码很大程度上存在被监听盗取的可能;一次密码盗用,会导致所有使用此密码的全部应用处于风险之中
    • 同时应用本地还需要保存用户名和密码,在应用本身的安全性来说,也存在很大问题;
    • 开放平台服务商出于自身安全性的考虑(第三方可以得到该服务商用户的账号密码,对于服务商来说是一种安全隐患),未来也会限制此认证方式(Twitter就计划在6月份停止Basic Auth的支持)
    • 用户如果更改了用户名和密码,还需要重新进行密码校验的过程。

      1.2. OAuth#

      OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。
      OAuth在”客户端”与”服务提供商”之间,设置了一个授权层(authorization layer)。”客户端”不能直接登录”服务提供商”,只能登录授权层,以此将用户与客户端区分开来。”客户端”登录授权层所用的token(token),与用户的密码不同。用户可以在登录的时候,指定授权层token的权限范围和有效期。
      “客户端”登录授权层以后,”服务提供商”根据token的权限范围和有效期,向”客户端”开放用户储存的资料。
      客户端必须得到用户的授权(authorization grant),才能获得token(access token)。
      主要流程如下:
      主要流程)
阅读全文 »

NodeRed结构#

NodeRed既包含后端也包含前端。后端基于Node.js,同时包含 Express 框架。
Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。

NodeRed中的Express工作流#

%%配置
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#FFFFFF'}}}%%
sequenceDiagram
autonumber

%%实现
title: NodeRed中的Express之路由配置
packages\node_modules\nodered\red.js ->> packages\node_modules\nodered\red.js: express() 创建app,为web服务提供入口
packages\node_modules\nodered\red.js ->> packages\node_modules\nodered\red.js: http.createServer,以app为处理函数,express提供路由、中间件处理

packages\node_modules\nodered\red.js ->> packages\node_modules\nodered\red.js:根据httpAdminRoot、httpNodeRoot、httpStatic等变量,做根目录‘/’的路由,将根路径'/'路由到RED.httpAdmin(adminApp)上,将根路径'/'路由到RED.httpNode(runtime.httpNode ==nodeApp)上,配合httpin节点,实现节点内的http服务处理

packages\node_modules\nodered\red.js ->> packages\node_modules\@nodered\runtime\lib\index.js : 配置runtimeb子路由 ( adminApp )

packages\node_modules\nodered\red.js ->> packages\node_modules\@nodered\editorapi\lib\index.js : 配置editorapi路由,创建 nodeApp 、 adminApp 子路由

packages\node_modules\@nodered\editorapi\lib\index.js ->> packages\node_modules\@nodered\editorapi\lib\editor\index.js : 配置editor editor模块路由,创建 editorApp 子路由
packages\node_modules\@nodered\editorapi\lib\index.js ->> packages\node_modules\@nodered\editorapi\lib\admin\index.js : 配置editorapi admin模块路由,创建 adminApp 子路由
%%配置
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#FFFFFF'}}}%%
sequenceDiagram
autonumber

%%实现
title: NodeRed中的Express之Web服务启动
packages\node_modules\nodered\red.js ->> packages\node_modules\nodered\red.js: 完成初始化后,server.listen 配置参数 settings.uiPort settings.uiHost,启动服务
阅读全文 »

1. 更新apt 源#

1.1. 修改已有源#

1
sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/bootstrap.list

1.2. 新建 debian 10(buster) 源#

1
2
3
4
5
6
7
8
9
10
11

vi /etc/apt/sources.list.d/bootstrap.list

deb http://mirrors.ustc.edu.cn/debian buster main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian buster main contrib non-free

deb http://mirrors.ustc.edu.cn/debian-security/ buster-security/updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian-security/ buster-security/updates main contrib non-free

deb http://mirrors.ustc.edu.cn/debian buster-updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian buster-updates main contrib non-free
阅读全文 »

5G通信技术#

从20世纪80年代到今天的5G,通信技术已从单独的通信功能发展到了如今的万物互联:1G时代的“大哥大”,2G时代的网络小说,3G时代的浏览图片、网络电话,4G时代的以人为中心的消费互联网,5G 时代人与人、人与物、物与物的互联。

边缘计算#

5G既包含无线技术的升级,也包含边缘计算等概念引入。边缘计算是一种在物理上靠近数据生成位置的处理数据的方法。其缓解带宽压力、及时响应和保护隐私等优势,尤其符合工业企业的工业数据安全治理(数据不出厂等)、低时延高可靠的数据处理等要求。

应用场景#

阅读全文 »