Simple is Happiness
Less is more
Node.JS
理解Node.js的事件循环(Event Loop)和线程池
by ourjs keys JS学习 Node.JS 1422164164804
Node的“事件循环”(Event Loop)是它能够处理大并发、高吞吐量的核心。这是最神奇的地方,据此Node.js基本上可以理解成“单线程”,同时还允许在后台处理任意的操作。这篇文章将阐明事件循环是如何工作的,你也可以感受到它的神奇。
理解事件循环,首先要理解事件驱动编程(Event Driven Programming)。它出现在1960年。如今,事件驱动编程在UI编程中大量使用。JavaScript的一个主要用途是与DOM交互,所以使用基于事件的API是很自然的。
在nodejs中使用Redis缓存和查询数据及Session持久化(Express)
by kris keys JS学习 Node.JS Redis OnceDB 1421289028137
使用数据库来集中管理session,存放Session内容,并在各个子域名跨域共享Cookies (SessionID),即可实现为每一个子域分配一个独立的node.js Web服务器,各个服务程序均可依据sessionid从数据库中寻找到同一Session,从而实现不同Web Server中的会话同步,从而实现一定程度上的负载均衡。
要想实现完全意义的负载均衡还需要将Web服务做到完全状态无关,不仅仅是Session,所有的中间缓存数据都要转移到与服务器无关的缓存层中,这正是Redis最善长的地方。
在ExpressJS(NodeJS)中设置二级域名跨域共享Cookie
by kris keys JS学习 Node.JS 1421200607140
注* 使用数据库mongostore来集中管理session,并在各个子域名跨域共享Cookies/SessionID, 即可实现为每一个子域分配一个独立的node.js Web服务器,可以实现一定程度上的负载均衡。解决方案: 这样设置即可。
app.use(express.session({
    secret: conf.secret,
    cookie: { domain:'.yourdomain.com'},
    store: new MongoStore(conf.sessiondb)
}));
使用NodeJS将XML解析成JSON及性能比较
by ourjs keys JS学习 Node.JS 1420938892662
并不是所有的API都是以JSON格式返回的。我们有时侯不得不处理一些XML。幸运的是有一个NodeJS模块 xml2js 可以帮你做这件事。
有人指出xml2js的速度过慢,有人做过性能测试, htmlparser2  的性能可以提升大约5倍以上。
[译]Node.js 框架比较: Express vs. Koa vs. Hapi
by ourjs keys 心得体会 Node.JS 1418779420042
Express.js无疑是当前Node.js中最流行的Web应用程序框架。它几乎成为了大多数Node.js web应用程序的基本的依赖,甚至一些例如Sails.js这样的流行的框架也是基于Express.js。然而你还有一些其他框架的选择,可以给你带来“sinatra”一样的感觉(译注:sinatra是一个简单的Ruby的Web框架,可以参考这篇博文)。另外两个最流行的框架分别是Koa和Hapi。
NodeJS连接Redis:在(Raspberry Pi)树莓派上安装Redis并设置开机自动启动服务
by kris keys 技术前沿 分享 Node.JS Redis arm 1418532030737
Redis是一个超精简的基于内存的键值对数据库(key-value),官方只提供Linux版本,Windows版本(64位)由微软非官方提供,其编译后仅有1MB左右。实现非常精简,比如并没有传统数据库中库、表的概念,你并不能设置数据库/表的名字,仅能通过序号选择存放到第几个数据库,使用<schema:hash>的键值来表示存放到什么表里(如user:001)。不过因为其基于内存且实现简单,Redis有着非常好的性能。
避免Node.js中的命令行注入安全漏洞
by ourjs keys 骇客攻防 Node.JS 1417502745874
我们经常使用的调用命令的方法是最简单的child_process.exec。它有很一个简单的使用模式;通过传入一段字符串命令,并把一个错误或命令处理结果回传至回调函数中。这里是你通过child_process.exec调用系统命令一个非常典型的例子。
child_process.exec('ls', function (err, data) {
    console.log(data);
});
提高NodeJS网站的安全性:Web服务器防黑客攻击技巧
by ourjs keys 骇客攻防 Node.JS 1417057385015
毫无疑问,Node.js现在是越来越成熟。尽管这样,我们还没有形成很多的安全准则。
在这篇文章中,我会分享一些关于提高Node.js安全性方面的技巧。
Node.JS编码规范指南教程:教你优雅地写JavaScript代码
by ourjs keys JS学习 Node.JS 1416383295764
这是用于书写一致性和优美的node.js代码的指南教程。它由社区维护并在社区内流行,参考了一些人的意见。
我们维护了一个.jshintrc来强制执行这些规则(自动格式化参数配制)。您可以使用并进行调整,或者编写自己的脚本。
Debug调试Node.JS:我们是如何定位内存泄漏和无限循环的
by ourjs keys JS学习 Node.JS 1415413995687
在Storify,我们用Node.js驱动后台。对于大多数生产环境上的问题(像未捕获的异常),我们使用日志来调试。然后我们看到了一些其他的BUG,像内存泄漏和无限循环,这些漏洞无法通过debugging工具来调试。
过去,当我们的服务变得很慢时,我们使用Monit 去重启他们。当我们上线了Livefyre之后,我们决定不要重启,尝试去修复这些缺陷。经过几个月的尝试,我们在Node.JS的调试技巧方面学到了很多。

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

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

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

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

OnceOA