我们应该感谢相遇,无论结局是喜是悲....
首先使用gcore pid 生成卡死进程的内存数据
会在当前目录dump出一份core.pid的文件
使用llnode分析文件
没有llnode的要先安装一下,npm install -g llnode,安装过程比较复杂
llnode nodepath -c coreFile
其它nodepath是...阅读全文>>
socket获取ip
var ip;
if(socket.handshake.headers['x-forwarded-for'] != null){
ip = socket.handshake.headers['x-forwarded-for'];
}else{
ip = socket.handshake.address;
}
expr...阅读全文>>
Node.js做密集型运算,或者所操作的数组、对象本身较大时,容易出现内存溢出的问题,这是由于Node.js的运行环境-V8引擎导致的。如果经常有较大数据量运算等操作,需要对Node.js运行环境限制有充分的了解。
1. 内存溢出问题
下面是我们在Node.js应用中经常遇到的两类内存溢出问题:
密集型运算
示例1:...阅读全文>>
开发nodejs应用时会面临一个麻烦的事情,就是修改了配置数据之后,必须重启服务器才能看到修改后的结果阅读全文>>
前言
在大多数介绍 Buffer 的文章中,主要是围绕数据拼接和内存分配这两方面的。比如我们使用fs模块来读取文件内容的时候,返回的就是一个 Buffer:
fs.readFile('filename', function (err, buf) {
// <Buffer 2f 2a 2a 0a 20 2a 20 53 75 ... >
});
...阅读全文>>
waterfall(tasks, [callback]) (多个函数依次执行,且前一个的输出为后一个的输入)
按顺序依次执行多个函数。每一个函数产生的值,都将传给下一个函数。如果中途出错,后面的函数将不会被执行。错误信息以及之前产生的结果,将传给waterfall最终的callback。
对于学过了js回调机制的小伙伴,waterfall是比较容易理解的,个人的理解就是,w...阅读全文>>
1.什么是异步编程?
异步编程是指由于异步I/O等因素,无法同步获得执行结果时,
在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等。
示例:
for (var i = 1; i <= 3; i++) {
setTimeout(function(){
console.log(i);
}, 0);
...阅读全文>>
forever是个啥东西
forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。
官方的说明是说:
A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).
// 一个用来持续(或者说永远)运行一个给定脚...阅读全文>>
MD5加密算法
算法简介
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被“压...阅读全文>>
前100个依赖库里,underscore是属于语言基础类,express是服务器框架,有5、6个测试框架、以及5、6个递归遍历目录树的工具类、3个左右的命令行解析工具类,3个主流数据库的链接client库,2个ws库,多个js/CSS前端处理工具链,3-4个promise库,多个模版库,多个jquery/cavans/dom模拟器以及解析器,一个静态分析器,两个验证库
总得来说,node...阅读全文>>