Simple is Happiness
Less is more
Node.JS
用node.js在Windows或Linux平台上高性能解压/压缩zip、tar大文件,输出到文件或Stream流
by ourjs keys Node.JS 1584703762929

 另外此方法还支持输出到流,比如说浏览器输出流,或命令行终端:

zip('./zip-util.js', process.stdout, function() {
console.log(arguments)
})
Node.JS中回调嵌套和async/await执行空函数性能效率对比测试
by ourjs keys Node.JS C 1582204022881

执行测试文件,测试环境是 node v12.15.0。

$ node testPerformance.js
callback done 1
callback done 0
async done 13

可以看到,按顺序执行同一个空函数4千次,用时为0~1,即在1毫秒内完成。
用async/await方式执行,用时12~14毫秒之间。
不过如果只执行一次,对性能的影响微乎其微。不过在高并发场所,回调函数的性能要优于async/await

Node.JS如何按顺序调用async函数,如何判断是否为async函数,在mocha中自动化测试async/await代码
by ourjs keys Node.JS JavaScript 1582084017734

在Node.JS中,如果你即不喜欢回调代码嵌套,也不喜欢promise的链式写法,可以使用async/await将程序改造成顺序执行的。那么调用时和普通函数调用有何不同? 因为 await 只能在async中调用,因此可以:

(async () => {
await asyncCall()
console.log(2)
})();
node.js将回调函数嵌套,用promise改造成async/await顺序执行:异常处理和返回多个参数
by ourjs keys Node.JS JavaScript 1582014789067

在ES6语法中,可以通过async/await将上面的回调函数按顺序执行。

首先将原来的方法 promisify 化,引用 util 库将 step 函数即可:

const util = require('util')

var stepAsync = util.promisify(step)

然后用 async/await 顺序执行,注意 await 只能在 async 函数中使用

var test = async function() {
let result1 = await stepAsync(0)
let result2 = await stepAsync(0)
console.log(result1, result2)
}

test()
基于Node.JS和Electron编写的集成开发环境 VS Code,成为最受欢迎的IDE
by ourjs keys Node.JS 技术前沿 1579219932808

在 Stack Overflow 的 2019 年开发者调查中,VS Code 成为了最受欢迎的开发工具,遥遥领先其他的开发工具。

使用node.js和oAuth2协议集成Github/LinkedIn第三方登录以OnceOA模块源码为例
by wx_15922 keys JavaScript Node.JS OnceOA 1579175459634

OAuth 2.0 是一个行业的标准授权协议。它的最终目的是为第三方应用颁发一个有时效性的令牌 token。使得第三方应用能够通过该令牌获取相关的资源。常见的场景就是:第三方登录。登录流程大致如下:

image

Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
by ourjs keys Node.JS 1574080605576

在node.js中只需要几行代码就可以发送http请求,通过检查statusCode可以判断该网址服务是否有效。

如下代码:

var http = require('http')
var checkExists = function(urlPath, cb) {
var options = { host: '192.168.2.101', port: 8064, path: encodeURI(urlPath)}
var req = http.request(options, function(r) {
cb && cb(r.statusCode == 200);
})

req.end()
}
Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件
by ourjs keys JS学习 Node.JS 1563241334223
QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,支持跨平台运行,并且有一些Java的特质,可将JS直接编绎成二进制文件。内置的系统模块还可以直接读写文件,动态加载脚本。目前还不支持net模块,不过已经有人在pull request中提交了merge请求。不久将可以直接使用系统Socket或发送http请求,构建web服务器。

由于非常精简,而且拥有JavaScript的全部功能,可以预见,QuickJS将是Node.JS在嵌入设备,尤其是低端设备上较强的竞争对手。
Node.JS用RSA签名算法公钥加密私钥解密,实现License软件授权验证
by ourjs keys JS学习 Node.JS 1558965941529
在Node.JS经常用加密算法对一些敏感用户数据进行加密,比如说用户密码。而且用户密码不需要考虑解密,如果用户遗失密度,重置成新的已经新密码即可。此时用不可逆加密算法即可,对比加密后的字符串即可。

还有一些应用需要解密出原内容的,比如说HTTPS的传输。使用公钥对HTTP请求进行加密,在服务器用私钥解密。此时需要用到不对称加密算法,在Node.JS中这种机制很容易实现:

Node.JS借助OS模块获取当前Windows系统用户登录名
by ourjs keys JS学习 Node.JS 1558340432960

Node.js os 模块提供了一些基本的系统操作函数。可以借助os对象获取系统基本信息:


$ node user.js
{ uid: -1,
  gid: -1,
  username: 'Administrator',
  homedir: 'C:\\Users\\Administrator',
  shell: null }

 近期热门 - 点击最多
  1. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  2. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务
  3. 比较测试:用百度文心一言和阿里通义千问写删除文件目录并且是async/await代码
  4. node.js使用TensorFlow入门教程二:什么是张量神经网络运算与矩阵的关系及基本入门代码
  5. node.js使用TensorFlow入门教程一:简介及工作原理环境安装及初始化
  6. node.js用saml2连接Identity Provider服务器完成Azure AD/Active Directory域帐号身份认证
  7. node.js中用typescript连接mongodb数据并设置断开后自动重启连接
  8. git 将本地仓库关连并push远程
  9. 在Windows10上创建node.js开机启动脚本服务Task Scheduler failed to start: Error Value: 2147943711.
  10. Windows和MacOS获取当前Active Directory域的用户名和AD服务器域名

  全端社区 - 最新回复
  1. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  2. 如何用JavaScript获取某个元素copy selector的CSS选择器
  3. 青否数字人5.0上线,支持真人接管实时驱动!
  4. 遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!
  5. 比fs.watch更加优秀的Chokidar文件变化检测库
  6. HTML页面嵌入部分使用Vue3,在jQuery应用中用类似Vue2使用Vue3
  7. 克隆自己的数字人形象需要几步?
  8. Node.JS中Fetch/Axios连接Strapi服务器端localhost,Next.JS后端SSR请求返回connect ECONNREFUSED,但客户端CSR正常
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA