Simple is Happiness
Less is more
Node.JS
用Node.JS写一个简单版的类似pm2\forever的守护进程并记录错误日志
by ourjs keys Node.JS 1639719872274
PM2(Process Manager 2 )是具有内置负载均衡器的Node.js应用程序的生产运行时和进程管理器。 它允许您永久保持应用程序活跃,无需停机即可重新加载它们,并促进常见的Devops任务。

 

但PM2相对复杂,包比较大,我们其实可以用child_process,实现一个简单版的进程守护程序,在控制台时时看到并保存LOG,0依赖。
MongoDB起步入门教程使用Node.JS的Promise方式查找数据
by ourjs keys Node.JS 数据库 1638782401213

MongoDB 是一个基于分布式文件存储的数据库。比较适合存放JSON数据。

下面是最简单的一段mongodb代码查找代码,先列出所有的数据库名称:listCollections,再列出某个数据集下的所有数据。

Node.JS连接MySQL数据库执行增删改查提示ER_NOT_SUPPORTED_AUTH_MODE: Client does not support;如何在@mysql/xdevapi执行SQL
by ourjs keys Node.JS MySQL 数据库 1637743107941
NodeJS在Windows上使用OLE/COM/ActiveXObject对象连接ADODB数据库,操作Application.Excel、运行VBA宏并另存为网页
by ourjs keys Node.JS 开源 数据库 1638520265479

node-activex项目就是这样一个能在node.js中调用COM/ActiveXObject对象的组件库。可直接通过COM连接数据库,操作Word/Excel/PPT等Excel组件。

node.js中async/await不用try/catch,使用error first或go语言方法处理异常
by newghost keys Node.JS 编程技巧 1608344490110

使用try/catch的好处是可以将很多可能的错误代码包在一个块中,然后只使用一个异常捕获。并且第一条执行语句并不再需要接收处理error。但现实生活中,基本上需要对每一处异常需要单独处理,这样使用try/catch的代码就会显得非常臃肿。

go语言使用类似javascript error first的原则,将异常变成了一个参数:

data, err := db.Query("SELECT ...")
if err != nil { return err }
JavaScript和node.js内存泄露的原因和避免方法及Chrome调试工具使用教程
by ourjs keys JavaScript Node.JS 编程技巧 前端 1591319841520

当我们使用“老式”方法编写网页时,通常不太需要关注JavaScript内存管理。

但 SPA(单页应用程序)的兴起促使我们需要关注与内存相关的编码实践。

在本文中,我们将探讨导致JavaScript内存泄漏的编程模式,并说明如何改善内存管理。

node.js性能压力测试入门教程:wrk和loadtest安装使用
by ourjs keys Node.JS JavaScript 1591410375368

loadtest 是支持通过 npm 安装的一个性能测试工具, 支持 windows和linux,在 node.js 的项目中使用非常方便, 全局安装:

npm install -g loadtest

使用: 连续测试下面的服务20秒,保持100个并发

loadtest http://localhost:8054/test -t 20 -c 100
Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
by ourjs keys JavaScript Html5 Node.JS 1590639140637

 qr-scanner是一个支持HTML5网页扫描条形码、二维码的开源库。

轻量级:〜48.7 kB(〜12.4 kB压缩后)。
性能优内存占用少。
在WebWorker中运行,不阻塞主进程
在彩色QR码上获得性能优
根据我们的基准测试,该项目较jsqrcode提升约2-3倍。 
错误识别率低。
支持扫描网络摄像头的以及扫描图片文件。

node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
by ourjs keys Node.JS JavaScript 1587526318956

node.js中可以通过 __dirname 获取当前文件的目录。那么如何在被调用函数中获取调用者的文件地址和函数名以及行数位置?可使用Error.prepareStackTrace来获取StackTrace数组对象,获取调用者文件信息。 

var getCallerPath = function() {
var orig = Error.prepareStackTrace;
Error.prepareStackTrace = function(_, stack) { return stack; };
var err = new Error;
var stack = err.stack;
Error.prepareStackTrace = orig;

// stack[0]为当前函数, stack[1]为调用者,stack[2]为上层调用者
return stack[2].getFileName()
}
webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码
by ourjs keys Node.JS JavaScript 前端 1585359029010

webpack是目前比较流行的前端build工具,本质上是一个模块打包器。合并压缩JavaScript,css,图片等。

目前有很多开源项目使用webpack进行打包。


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. 在无管理员权限的情况下,使用安装Python补全 pip临时配置环境变量
  2. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  5. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  6. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  7. Node.js 打印vite react+go项目目录树
  8. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  9. Windows与Mac通过git ssh和rsync实现文件共享互传
  10. Windows与Mac通过git ssh和scp实现文件共享互传

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

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

OnceOA