自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注于各种脚本语言的研究、分享

记录学习过程中的点点滴滴

  • 博客(63)
  • 收藏
  • 关注

原创 20分钟6个示例4个动图教你学会Async Hooks

异步钩子生命周期

2023-02-27 14:54:18 367

原创 20分钟10张动图8个示例带你更好的理解EventLoop

20分钟10张动图8个示例带你更好的理解EventLoop

2023-02-24 14:59:28 447

原创 30分钟10个例子5个动图带你深入Stream流

Node.js 流以难以使用,甚至更难理解而著称。好吧,我有好消息要告诉你——情况已经不同了。多年来,开发人员创建了许多包,其唯一目的是简化流的处理。但在本文中,我将重点关注原生。究竟什么是流?流是数据的集合——就像数组或字符串一样。不同之处在于流可能不会同时全部可用,并且它们不必适合内存。这使得流在处理大量数据或一次一个块地来自外部源的数据时非常强大。然而,流不仅仅是处理大数据。它们还赋予我们代码可组合性的力量。

2023-02-24 10:53:41 480

原创 Opcua学习笔记-java-milo框架1-启动server

milo是java的实现的一个opcua协议的框架,提供了server和client,结合上几个章节学习的关于opcua的一些基础理论知识,今天通过代码来实践一下运行后,控制台如下:可以看到,此次会有两个namespace,一个是opcua基金会占用的 namespaceindex=0的,一个是我们自定义的namespaceindex=1的;可以看到,初始化的时候,uriTable会插入index=0的地址空间我们使用ua专家链接,看看目前server上都有哪些东西...

2022-06-23 10:27:01 1490

原创 Opcua学习笔记-OPC UA 客户端/服务器订阅概念

与永久读取信息(轮询)相比,OPC UA 提供了更优雅的功能,即所谓的订阅。UA 客户端可以订阅一系列感兴趣的节点,并让服务器监控这些项目。只有在发生变化的情况下,例如它们的值,服务器才会通知客户端这些变化。这种机制极大地减少了传输的数据量。除了减少带宽之外,这种机制还带来了更多优势,并且是推荐的从 UA 服务器“读取”信息的机制。客户端可以订阅 OPC UA 服务器提供的不同类型的信息。订阅的目的是将这些信息源(称为监控项)组合在一起,形成一条称为通知的信息。下图显示了客户端订阅数据更改和事件时所涉及的服

2022-06-20 15:29:55 4511

原创 Opcua学习笔记-NodeId

在过去,经典的 DA 服务器使用简单的“字符串”标识符。所谓的“ItemID”是一个完全限定的名称,在整个服务器中是唯一的(只有一个“命名空间”)。此外,经典的 DA 服务器仅具有简单层次结构的能力,即具有分支和叶子的树状结构。因此,许多供应商使用完整的文件夹层次结构来创建唯一的 ItemID(例如“Folder1.Folder2.Folder3.MyTemperature”)。这会导致大量冗余字符串、浪费内存并降低查找或搜索单个项目时的性能。有了 OPC UA,这个概念就被抛弃了。NodeId 总是由三个

2022-06-20 14:53:05 6159

原创 Opcua学习笔记-节点类

不能直接使用基节点类。它指定所有节点类中可用的属性。以下属性可用于每个节点类。

2022-06-20 11:46:16 466

原创 Opcua学习笔记-地址空间

OPC UA 地址空间的主要目标是为服务器提供一种向客户端表示对象的标准方式。OPC UA 对象模型旨在满足这一目标。它根据变量和方法定义对象。它还允许表达与其他对象的关系。UA 服务用于访问对象及其组件,例如读取或写入变量值、调用方法或从对象接收事件。浏览服务可用于探索对象及其组件之间的关系。该模型的元素在地址空间中表示为节点。每个节点都分配给一个节点类,例如对象、变量和方法,并表示对象模型的不同元素。OPC UA 服务器向客户端提供的一组对象和相关信息是其地址空间。对象及其组件在地址空间中表示为一组节

2022-06-20 11:11:53 3370

原创 Opcua学习笔记-地址空间

OPC UA 地址空间的主要目标是为服务器提供一种向客户端表示对象的标准方式。OPC UA 对象模型旨在满足这一目标。它根据变量和方法定义对象。它还允许表达与其他对象的关系。UA 服务用于访问对象及其组件,例如读取或写入变量值、调用方法或从对象接收事件。浏览服务可用于探索对象及其组件之间的关系。该模型的元素在地址空间中表示为节点。每个节点都分配给一个节点类,例如对象、变量和方法,并表示对象模型的不同元素。OPC UA 服务器向客户端提供的一组对象和相关信息是其地址空间。对象及其组件在地址空间中表示为一组节

2022-06-18 11:56:38 910

原创 Opcua学习笔记2-opcua 规范和软件层

OPC UA 规范分为 IEC 标准化所需的不同部分。OPC UA 将被称为 IEC 62541 标准。下图显示了所有规范部分的概述,分为定义 OPC UA 基础的核心规范和主要指定 OPC UA 信息模型的访问类型特定部分。在这里插入图片描述如何建模和访问信息最重要的是第 3 部分和第 4 部分。这两个规范是设计和开发 OPC UA 应用程序的关键。UA 第 3 部分中的地址空间模型指定了公开实例和类型信息的构建块,因此 OPC UA 元模型用于描述和公开信息模型并构建 OPC UA 服务器地址空间。U

2022-06-18 11:22:57 799

原创 Opcua学习笔记1 opc介绍

Open Platform Communications=OPC,是工业信息通信的一系列标准和规范,规定了不同制造商的控制设备直接的实时数据通信标准。目的是统一不同硬件以及软件数据协议。opcua基金会定义了很多软件接口,以规范从流程层到管理层的信息流。主要用例是用于工业自动化应用程序,如HMI/SCADA的接口,用于使用来自设备的数据,并为应用程序提供当前和历史数据和事件。根据工业应用中的不同要求,开发出三大opc规范:数据访问DA(DATA ACCESS),报警和事件(ALARM & EVENT),历史

2022-06-18 11:16:11 1924 1

原创 thinking in uml-1

UML=unified modeling language,统一建模语音,是一种描述问题的可视化解决方案,用文本、图形和符合的集合来描述现实生产中各类食物、活动、交互的语音。uml主要由事物、图、关系组成,事物是uml的重要组成部分,关系把事物紧紧联系起来,图是相互关系事物的组合事物包含:面向过程=结构化程序设计世界的本质是由对象组成,平时看上去相互无关的独立对象在不同的驱动力和规则下体现出不同的运动过程。面向过程的分析方法通常是将过程描绘出来,把因果关系都定出来,再通过结构化设计方法你,将这些过程进行细

2022-06-01 16:07:22 118

原创 mongodb数据库设计求大神指点

业务分析项目为基本,每个项目都包含 模型和实例配置(数据量大)、运维配置、数据源配置、项目设置权限是对用户、角色、项目进行资源的权限分配系统设置是全局的一些参数配置库设计有几种分法:创建3个数据库,project/auth/settingproject数据库下又包含模型表、运维表等等权限以此类推使用一个数据库,包含所有表先创建2个数据库,权限库,系统设置库,然后根据业务,动态的创建每一个项目库,比如project1,project2,每个项目库又包含模型表、运

2021-08-17 11:50:49 121

原创 docker-jenkins/blueocean 安装nodejs的各种问题

前言前几天用docker下载了jenkins/blueocean 镜像,想做一下自动化打包部署nodejs项目,谁知这里面坑真的太多。jenkins官方的镜像有好几个,也不知道当时谁推荐的,就下载这个蓝色海洋版本下载镜像执行docker pull jenkinsci/blueocean 等待中… 下载完成以后启动容器.将容器里的8080端口映射到宿主机49002.容器名字叫je...

2019-09-05 10:35:57 2716 3

原创 docker:创建jenkins容器

前言docker安装后,可以拉取jenkins镜像,然后启动jenkins服务查看jenkins镜像有哪些docker search jenkins拉取镜像拉取这个蓝色海洋版本,好像推荐是这个docker pull jenkinsci/blueocean启动容器docker run -u root -p 49002:8080 --name jenkins_node -v /va...

2019-09-03 17:35:04 657

原创 ubutun:设置root密码

前言ubuntn安装好了以后,默认登录用户不是root用户可以看到这里是quantianchao用户那么我们希望以root用户来执行各种命令,su root输入quantianchao账户的密码后,发现认证失败因为密码不对,那么我们需要修改root密码。sudo passwd root进行修改修改完成以后可以看到已经是root@ubuntu了。...

2019-09-03 14:59:57 177

原创 docker配置加速站点

前言国内由于一些原因,使用docker pull的时候,会拉不下来镜像,通过配置站点可以解决常用的站点:https://registry.docker-cn.comhttp://hub-mirror.c.163.comhttps://3laho3y3.mirror.aliyuncs.comhttp://f1361db2.m.daocloud.iohttps://mirror.ccs....

2019-09-03 14:32:44 606

原创 ubutun-ssh设置外部可以通过root访问

安装ssh服务sudo apt-get install open-ssh找到sshd.config默认清空下这个文件位置:/etc/ssh/sshd.config

2019-09-03 13:47:14 138

原创 VM安装ubuntun后普通用户无法使用sudo命令解决办法

问题使用VM安装ubuntun后,命令行使用sudo命令总是提示Not Command网上找了很多解决办法,核心就是在/etc/sudoer 文件里添加自己的用户权限可是无奈,普通用户缺无法编辑这个文件,这不是死循环么。后来,看到大神说再ubuntun启动的时候,进入boot,选择root用户来编辑。好吧,我们来看下过程进入boot启动系统,在出现进度条的时候,按ESC进入boot进...

2019-08-26 10:58:24 1469

原创 angular6 发布库

前言angular-cli可以帮助我们创建自己的库1.创建库 ng g library tc-ng执行命令后会在目录结构生成project目录。并且angular.json文件会自动添加新项目tc-ng打包打包完成后目录结构多出dist目录查看package.json...

2019-08-20 11:59:53 111

原创 javascript 脚本主动触发鼠标事件

前言js 通过程序主动触发dom节点的事件,可以通过dom提供的 createEvent / dispatchEvent来实现document.createEvent(eventType) 参数:eventType 共5种类型: Events :包括所有的事件. HTMLEvents:包括 'abort', 'blur', 'ch...

2019-08-13 15:16:50 4732

原创 设置npm registry的几种方法

1.临时使用npm --registry https://registry.npm.taobao.org install express2.持久使用npm config set registry https://registry.npm.taobao.org配置后可通过下面方式来验证是否成功npm config get registry 或 npm info express3.通过c...

2019-08-13 09:03:49 65290

原创 Git配置多个SSH-Key

背景当有多个git账号时,比如:a. 一个gitee,用于公司内部的工作开发;b. 一个github,用于自己进行一些开发活动;解决方法1.生成一个公司用的SSH-Keyssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa2.生成一个github用的SSH-Keyssh-keygen -t rsa -C '...

2019-08-12 18:25:54 148

原创 Express-get/use/post使用,以及req,res,next中间件解释

前言express把nodejs封装了,提供了很多使用的api给开发者,这节我们讲一下处理get、post等请求的方法中间件express中所有处理req,res,next的方法都是中间件,中间件类似java的filter函数,处理请求后可以传递给下一个中间件,继续处理。比如我们想在程序中所有的响应头上写入当前时间staticSer就是express.static()方法,这个方法也是一...

2019-08-06 16:39:41 2754

原创 cmd常用命令

md xxx创建文件夹rd xxx删除文件夹ren xxx yyy修改文件名名称为yyymove xxx yyy将文件夹xxx移动到文件夹yyy下copy xxx yyy将文件或文件夹复制到yyy下或yyydir罗列当前目录echo > xxx.txt/js创建xxx文件...

2019-08-06 15:58:05 179

原创 Express-ServerStatic简单配置静态文件托管

前言express提供了static方法可以方便让我们托管静态文件,什么意思?就是使用这个方法以后,你基本上就不需要在用原生的nodejs去读取文件内容,然后通过response写入返回.下面的例子就是最原始的处理文件,request请求word的内容,我们需要读取内容,然后写入response。用了express以后ServerStatic可以配置很多属性,最常用的index:...

2019-08-06 15:08:07 650

原创 Npm查看某个包的版本信息

常见命令npm view xxx versions查看xxx在npmjs.org上面的版本信息,比如我们查看express有哪些版本npm view express versions

2019-08-06 13:23:28 1592

原创 jenkins-自动化部署前端项目-1

jenkinsjenkins是运维和测试经常用的自动化打包不部署的工具。现在的项目一般都是前后端分离,加入后端使用的是java,前端使用react,最后打包的时候,前端build出来的文件是需要放到tomcat>webapp下的。如果每次都手工npm run build ,然后把dist的代码发送给后端或者其他地方,是非常麻烦的。接下来,我们学习一下最简单的jenkins打包前端项目1...

2019-08-05 15:46:49 847

原创 原生node上传word并保持到本地-word编码遇到的问题

前言前几天做了个小demo,前端页面上传word,node端接受并保存到本地,结果。。。折腾了很久才搞定,期间遇到了很多奇怪的问题,不知道你们有遇到吗?先说思路1.前端发起ajax请求,"multer/form-data"格式上传word2.后端接受到后解析并写入新的word文件中word内容:界面:前端代码node端代码文件上传后node端接受到的数据是buffer:...

2019-08-02 11:54:21 1234

原创 js-字符串转arrayBuffer,以及node中Buffer存的是十进制还是16进制。

前言前几天用nodejs去读取文件的时候发现了个问题,文件是txt,内容是:node代码:打印出来的datareadFile不指定编码的话,返回的数据是Buffer类型。41,42,43对应的应该是A,B,C.e8 b5 b5对应的应该是中文赵。可是,当我打断点再看data的时候,发现变了。什么鬼?到底data里面存的字面A是41,还是65,A的Unicode10进制...

2019-08-01 17:07:42 5282 2

原创 node-http-2 处理get/post

get请求继续上一节的学习,先回顾一下:1.通过new http.server()我们创建了会话服务2.通过监听localhost:80803.处理get请求是/的时候,我们读取index.html文件,并且将内容返回4.发起ajax请求,返回jsonpost接下来我们来看下post请求,看第一种,表单提交。服务端代码这里一定要注意,post请求,我们获取post提交的数据...

2019-07-30 18:40:29 556

原创 node-http学习1

httphttp是node内置的对象,用来处理网络服务.与java的serverlet一样,我们可以利用http创建网络会话。简单入门比如我们想创建一个http协议的会话。端口8888。怎么搞?新建http.jsconst http=require('http');const server=new http.Server((req,res)=>{ let url=...

2019-07-30 16:52:18 120

原创 angular组件开发之-ng-content,contentChild,ng-container,ng-templeate,viewChild详解-第三篇

ng-templateng-template是angular提供的用来定义模板的标签,什么时候需要使用ng-template?,不着急,我们一步一步来,首先接着第二篇的father.component.ts,import {Component, OnInit, ContentChild, TemplateRef, AfterViewInit,AfterContentInit, ViewChil...

2019-07-30 14:23:54 610

原创 angular组件开发之-ng-content,contentChild,ng-container,ng-templeate,viewChild详解-第二篇

@contentChild上一篇,我们讲了ng-content的用法,angular提供了contentChild来获取ng-content里面的内容,@ContentChild装饰器(selector);selector:组件名字或者模板变量,不能是简单的div、img这种原始标签!接着上一篇的father.component.ts,定义两个成员变量appChild:@Content...

2019-07-30 12:03:34 562

原创 angular组件开发之-ng-content,contentChild,ng-container,ng-templeate,viewChild详解-第一篇

ng-content是angular提供的一个指令,当我们想封装一个组件,并且希望组件展示的内容可以由用户自定义的时候,ng-content便要上场了。举个例子,比如我们做了一个通用组件叫alert,使用时候在模板中是这样的:对吧,那如果11111这样呢,如果alert组件内部没有处理要去显示111,那么这个111永远不会显示.所以ng-content就是处理111的。现在,我们要实现边框...

2019-07-30 10:33:00 679

原创 自己实现Promise,帮你更好的理解Promise

前言promise是ES6提供的内置对象,解决异步编程的各种问题,一开始,很多同学使用promise的时候很懵逼,什么reslove,reject,then等,接下来我们自己来实现一个简单的promise,来看看到底什么是promise。新建promise.js1.先定义一个promise类,写出构造函数与成员方法thenclass Promise{ constructor(){}...

2019-07-26 10:09:12 132

原创 node-fs学习-第二章

前言上一篇主要讲了读取文件的一些api,这一节继续写入文件const str='写入1文件,\r\n 我是谁';//文件不存在时,会自动创建并写入fs.writeFile('./file/a.txt',str,(err)=>{ if(err) throw err;})删除文件//删除文件fs.unlink('./file/new.txt',(err)=>{...

2019-07-25 11:33:17 94

原创 node-fs学习-第一章

fsfs是node内置的操作文件的对象。提供了很多api来处理文件相关的事情。读取文件readFile:同步读取,也就是一次性读取完.demo目录结构如下:在file目录里放了一个txt,一个docfs.js如下:const fs=require('fs');//异步读取文件fs.readFile('./file/readme.txt',(err,data)=>{ ...

2019-07-24 17:39:49 133

原创 node-npm发布包-package.json中bin的用法

前言用过angular-cli,create-react-app这些脚手架的朋友们,不知道你们有没有好奇过,为什么安装这些脚手架后,可以使用类似ng generate之类的命令。小弟研究了以下,原来是这样的。package.json贴一个简单的package.json{ "name": "arashiquan33-node-learn", "version": "1.1.0",...

2019-07-24 09:18:24 13606 3

原创 JS-ArrayBuffer,Blob,URL使用说明-第四篇-FileReader

FileReaderFileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。其中File对象可以是来自用户在一个元素上选择文件后返回的FileList对象,也可以来自拖放操作生成的 DataTransfer对象,还可以是来自在一个HTMLCanvasElement上执行mozGetAsFi...

2019-07-23 18:19:03 824

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除