前不久刚写了一个iroute的nodejs路由模块,可以用于http/https的框架或者应用中,当然也可以轻松整合到express框架里,将比express自带的原生路由在10000并发,1000个路由的压力下响应速度提升4-5倍。
高性能http/https的nodejs路由模块iroute
最近打算开工flat.js,于是为flat.js框架编写了一个轻量级的路由模块.
irtoue具体功能可以根据http的请求方法归类路由,根据请求地址和url参数路由到不同的action中去,目前支持,get,post,put、delete、options、head这6种,其他http的method都归于other。
node-gyp 编译 libjpeg8,将libjpeg植入nodejs验证码模块ccap
前阵子开发的nodejs验证码模块ccap,已经有一些用户了,他们反映在部分linux机器上无法安装,特别是使用类似jitusu等云平台的机器。经过测试发现是ccap模块从远端获取libjpeg库然后解压缩编译时出的问题。可能是没有权限去自行make和make install导致的,既然这样我就打算将libjpeg库直接植入ccap模块,让libjpeg和cimg库一起编译。
nodejs多线程,真正的非阻塞
node从他推出至今,充满赞美和饱受诟病的都是其单线程模型,所有的任务都在一个线程中完成(I/O等例外),优势的地方自然是免去了频繁切换线程的开销,以及减少资源互抢的问题等等,但是当nodejs面对cpu密集型模型的时候就力不从心了。尽管node拥有异步机制,可以把一些耗时算法丢入eventloop等待下个事件循环再做,但是因为其任然是单线程模型,所以终究会造成阻塞。
浅析node的buffer模块(三读取)
最后我们看一下buffer的读取是如何进行的,buffer的读取主要包括以下几个api1
2
3
4
5
61、buf = new Buffer(),然后就可以直接读取buf
2、buf.toString([encoding], [start], [end])
3、buf.toJSON()
4、buf[index]
5、buf.slice([start], [end])
6、buf.readUInt8(offset, [noAssert])等其他read操作
浅析node的buffer模块(一创建)
buffer是nodejs中存储长字符串以及二进制数据的存储介质,buffer我们在使用过程中到底要注意哪些问题?最近结合node的源码简单了解了一下buffer的工作机制。
buffer.concat引出的bug
最近有位rrestjs框架的使用者YanQ报告给我这样一个错误,跟我说在用户post很多内容的文章时会crash进程然后报如下错误:(热心的老雷帮我解决了问题)
nginx_lua(3) - openapi项目有感
最近用nginx的开源项目openresty做了一个api网关的项目,代码就不方便开源了,其中踩了一些坑,做下笔记。
若有有缘人看到也希望少走弯路。