
Node.js
文章平均质量分 76
PunCha
这个作者很懒,什么都没留下…
展开
-
Nodejs之require加载机制(模块可以污染全局空间)
以前就觉得Nodejs的MooTools库很奇怪,因为用他的时候,不需要把require的返回值保存起来,今天实在憋不住,就研究了下,对NodeJs的require机制又有了几分深刻的理解。MooTools库的“奇怪”用法:require('mootools'); var QueryCommand = new Class({ initialize: funct原创 2013-09-06 17:33:28 · 28413 阅读 · 4 评论 -
用Node-Inspector调试NodeJs程序
(一)安装npm install node-inspector -g(二)使用1. 调用 node --debug-brk=5858 app (在5858端口等待调试器)2. 启动node-inspector: node-inspector --web-port 8080 --debug-port 5858 (在5858端口挂上调试器,然后允许程序员通过8080端口进行调试)(原创 2013-09-06 18:17:52 · 7722 阅读 · 0 评论 -
GruntJs之FTP上传文件
因为项目需要,又试了一下Grunt的FTP插件:grunt-ftpscript。以下步骤是基于上一篇博文的配置环境的:http://blog.youkuaiyun.com/puncha/article/details/10442147。(一)安装C:\Grunt>npm install grunt-ftpscript --save-devC:\Grunt>npm install mat原创 2013-08-28 15:43:02 · 4329 阅读 · 0 评论 -
GruntJs初体验
GruntJs是一个基于NodeJs的Task Runner。作用就是自动执行一些任务。GruntJs貌似挺火的,有很多第三方的插件,这些插件实际是提交到NPM的,不过加入了grunt的标签。我试用了一下,发现还蛮简单的。 比如,如何使用Grunt来拷贝文件:(一)安装:全局安装Grunt控制台:npm install grunt-cli -g新建一个空文件夹,比如:C:\原创 2013-08-28 14:40:18 · 1577 阅读 · 0 评论 -
体检在线Bug/Exception系统
看了这篇文章的介绍:http://www.youkuaiyun.com/article/2013-08-22/2816664-Bugsnag-announces-the-new-Bugsnag-API。我尝试了一下这个bugsnap。他有2个服务,免费的和付费的。免费的只能支持单用户(也就是把错误报告发送到单个用户),每个月只能有2000个exception、exception只能保存1个月。对我来说,也够用原创 2013-08-26 14:51:27 · 1116 阅读 · 0 评论 -
jQueryUI Plugin TableSorter的2个widget扩展
因为项目需要对Table进行汇总以及定义列的显示隐藏,所以需要对jQueryUI的TableSorter进行扩展,下面2个插件是我写的,第一个是用显示/隐藏列(右键点击列头会出现右键菜单)。第二个是对数据进行汇总,再table footer处会显示汇总列)Widget的代码:; (function ($) { "use strict"; function getC原创 2013-08-22 11:24:26 · 2291 阅读 · 1 评论 -
为网站的内部页面添加Basic认证
我为网站添加了Graphite,awstats的统计,所以就需要做一个页面,存放一些链接,以方便访问。但是这个页面不希望被其他人访问到,所以就需要做一些简单的验证--Basic Auth。Nodejs的验证模块,比较有名的是connect-auth,不过这个太重量级的,所以我用的是很有针对性的,轻量级的认证模块,connect-basic-auth。这个模块只有一个源文件。。很简单。。好,原创 2013-07-03 15:31:12 · 3248 阅读 · 0 评论 -
为Internal页面添加一个Unit Test的运行入口
昨天把内部页面建立起来了,那么今天就把Unit Test的运行入口赛到里面去,就是说,点击某一个链接,就运行Unit Test,并且把Unit Test的结果,通过网页显示出来。这个想法还是蛮不错的。做起来也容易,当然其中有些小挫折。这里就是全部的源代码。Unit Test是mocha做的,我原来的思路是,运行mocha命令,然后把stdout的内容输出。但是有问题,那就是我死活拿不到原创 2013-07-03 15:48:53 · 1346 阅读 · 0 评论 -
延长Nodejs HTTP 的连接时长
默认情况下,NodeJS HTTP 服务器对每个客户端的Web Request的连接时长是2分钟,也就是说,一旦2分钟内,你服务器端没有发送response,那么客户端的连接就会被关闭(重置?),在现实的应用中,我后台处理数据的时间可能很长,也许3分钟,也许5分钟,客户也愿意等待,那么我完全可以把连接时长设置的多一些。为了解决这个问题,我找了很久,网上大多数说的是怎么缩短timeout的时间,而且原创 2013-07-19 11:37:31 · 8023 阅读 · 1 评论 -
我用 TypeScript 语言的七个月
我用 TypeScript 语言的七个月2013-7-19 09:28| 发布者: linux| 查看数: 425| 评论数: 1|赞0摘要: 从 2012 年 12 月开始,我用 TypeScript 作为主要语言,用于一个大规模的企业项目。项目下个月要发布了,我想分享一些细节内容,包括我们团队怎么使用 TypeScript 的,还有成就项目的工作流程。转载 2013-09-30 23:13:06 · 2264 阅读 · 1 评论 -
Grunt再体验:支持LESS,Mocha,使用cron来定期运行Grunt Task
废话不多说,直接看Grunt的配置文件:var path = require('path');module.exports = function (grunt) { grunt.initConfig({ ftpscript: { uploadFixRateData: { options: {原创 2013-09-25 16:10:36 · 2467 阅读 · 0 评论 -
Grunt之添加文件监视:Grunt-watch (已备份)
今天又完善了一下Grunt的Task,增加了JSHint和Watch功能,再修改了每个NodeJs代码之后,会运行JSHint对代码进行检查。修改了LESS文件之后,会重现编译LESS为CSS代码:"use restrict";var _ = require('underscore') , path = require('path') , fs = require('f原创 2013-09-29 17:47:49 · 8387 阅读 · 1 评论 -
使用 Karma 和 Jasmine 测试 AngularJs
PunCha注:其实很简单,就是安装Karma和一些依赖项。然后呢,写一个Karma.config.js,用Karam命令行工具运行就可以了。附上别人写的教程:http://blog.fens.me/nodejs-karma-jasmine/Karma和Jasmine自动化单元测试从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过No转载 2014-01-19 19:57:07 · 8037 阅读 · 0 评论 -
Ajax请求永远是304的解决方案
我之前写了一个NavigationService,用来做页面的Ajax导航,但是今天发现一个问题,在IE下面,发现Ajax的请求不会真正的被发送到服务器端,在IE里面,返回的永远是304。这个应该是IE的设计问题:查了一下,发现这个博文里面提到了问题的本质:http://blog.sina.com.cn/s/blog_4b7809800100y1c3.html。“因为ajax请求的时候如果使用ge原创 2014-01-07 16:50:40 · 12439 阅读 · 0 评论 -
Thrift实践:(一)安装 -- 未完待续
1. 新建一个目录,C:\test\thrift-test,里面建2个子文件夹,client-node和sever-csharp,然后把Thrift官方的thrift定义文件也拷贝进去。2. 官方的thrift定义文件,会去引用一个shared的thrift文件,但是这个文件貌似没地方下载,导致生成接口时报错,索性我就把他从定义里面删掉,干净起见,注释也删了。namespace c原创 2013-12-09 18:17:50 · 2904 阅读 · 0 评论 -
Paypal开源nodejs框架研究(二)KrakenJs之Enrouten
Enrouten:用于 Express 的路由(route)配置中间件(初始化与配置模块)https://github.com/paypal/express-enrouten我觉得这称不上一个中间件,为什么!express或者说connect的中间件,至少要有截获和转发request的功能吧,所以这个最多成的上是对express原有route功能的增强。其实看了他的代码,我觉得非常熟悉,因为我原创 2013-12-02 11:33:12 · 4156 阅读 · 3 评论 -
Paypal开源nodejs框架研究(一)KrakenJs
我一直说Nodejs是玩具,成不了大器。没想到著名的公司Paypal竟然开源了他们公司代码为Kraken的Nodejs框架。这款框架是基于TJ大神的Express框架的,这个是框架的官方网站:http://krakenjs.com/,这几天我倒可以稍微花点时间,来研究下这到底是个神马东西。这个是其他帖子里面对Kraken框架的概述:(From:http://www.youkuaiyun.com/artic原创 2013-12-02 10:58:07 · 6990 阅读 · 2 评论 -
nodejs express route 的用法
From: http://node-js.diandian.com/post/2012-07-03/40029072624nodejs express route 的用法1. 首先是最基本的用法。12345varapp=require('express').createServe转载 2013-11-28 10:31:18 · 14720 阅读 · 1 评论 -
Moogoose实践之:Schema写全很重要,不然会把时间浪费在调错上!
哎,今天浪费了很多时间在调用Moogoose的update函数上,我有一个很简单的文档结构,类似于:{name: xxx},MongoDB的驱动,我用了Moogoose,我的问题是,我想对该文档,增加一个属性,比如age,那么文档就变成:{name: xxx, age: 16}。相关代码如下:NameCandidateSchema = new mongoose.Schema(原创 2013-11-25 23:42:19 · 6955 阅读 · 0 评论 -
网易开源游戏服务器框架-Pomelo实践(一)
Pomelo是网易开发的一款开源游戏服务器框架,出了做游戏的服务器端,他也可以作为一个高效的网站后台。网址是:http://pomelo.netease.com其实,他官方的文档是中文的,照理说,我不用再写博客记录下详细的操作步骤了,但是发现里面还是有一些错误的,所以。。。还是要记录点东西。1. 安装:参考https://github.com/NetEase/pomelo/wiki原创 2013-10-19 16:45:53 · 10874 阅读 · 1 评论 -
强大的async.auto!
以前在阅读Async JavaScript Build More Responsive Apps with Less Code一书的时候,认识了Async库!开始的时候,没有体会async的魅力,直到最近用NodeJs写网站的时候,才发现,如果不用async,写出来的代码简直没法看。所以在中后期,我大量使用了Parallel和waterfull,但是写出来的代码仍旧比较凌乱,最近才发现async的原创 2013-07-03 18:11:17 · 14284 阅读 · 4 评论 -
使用 AWSTATS 来查看IIS/iisnode 日志
既然iisnode支持IIS日志,那么我们就可以使用AWSTATS工具来分析IIS日志了。AwStats是一款免费的IIS日志查看工具,支持以Web网站的形式以及静态HTML的形式分析IIS日志。下面就介绍下如何安装AwStats:1、 首先要确保IIS已经安装了CGI扩展:2、 下载下载AWStats, 下载地址:http://sourceforge.net/原创 2013-07-01 15:50:14 · 3012 阅读 · 1 评论 -
用issnode+IIS来托管NodeJs Server之四:支持Debug
这几篇文章是一个系列的: 用issnode+IIS来托管NodeJs Server之一:安装篇 用issnode+IIS来托管NodeJs Server之二:移植 用issnode+IIS来托管NodeJs Server之三:加入Windows集成验证功能 用issnode+IIS来托管NodeJs Server之四:支持Debug本来以为iisnode的集原创 2013-07-01 11:33:32 · 2902 阅读 · 0 评论 -
ejs include助手没有处理BOM头的解决
今天在使用ejs的include助手函数的时候碰到一个问题,只要是用include导入进来的html代码片段,它的上方总会有一个空白行!这严重影响了我页面的布局。最后发现是UTF8的BOM头造成的。去掉了BOM头一切问题就解决了。引用别人写的来说明问题:http://jj.dfhangye.com/www-xxx/7555.html近日在调测一个UTF8编码的中文Zen Cart网站时原创 2013-05-14 17:04:48 · 1252 阅读 · 1 评论 -
jQuery解析AJAX返回的html数据时碰到的问题与解决
今天做项目的时候,碰到一个问题。具体情况是,我需要使用AJAX动态的获取某个HTML页面的内容(注意,获取的不是HTML片(snip),而是真正的页面,有, 的这种。我想的很简单,获得之后,用jQuery解析一下,取出我要的部分,然后放到页面的某个元素里面。但是,实际情况是,jQuery怎么也解析不了返回的HTML页面。代码如下:$(document).ready(function (原创 2013-05-09 17:10:12 · 9411 阅读 · 1 评论 -
Nodejs, MemCacheD 在实际项目中的使用
今天试着把MemCacheD集成到Nodejs的项目,总的来说还是比较顺利的。我先尝试了最近刚更新的Cacher库,作者的想法非常好,以express中间件的形式,Cache所有的HTTP 请求,但是实际用下来,发现错误率比较多。粗略看了下,作者的源代码,应该是提供了一个自定义的res.write函数,截获了next rounter生成的response内容,然后把body, head原创 2013-04-25 16:39:21 · 8009 阅读 · 0 评论 -
Ubuntu下安装Nodejs, Nide
From: http://baiyejianxin.iteye.com/blog/1399326sudo apt-get install python-software-propertiessudo add-apt-repository ppa:chris-lea/node.jssudo apt-get updatesudo apt-get instal转载 2013-04-09 15:19:35 · 8898 阅读 · 0 评论 -
Node.js on Android
From: http://blog.amt.in/nodejs-on-androidI'm trying to make the recently popular (well, maybe not so recently) Node.js run on Android. So far, I've succeeded in getting it to run on the ISO1,转载 2013-03-26 10:32:18 · 4133 阅读 · 0 评论 -
Ubuntu Server下安装NodeJs
谨以此文记录今天在aws上配置nodejs的运行环境的实践。1. 开始安装Node.js这个是官方教程,告诉你如何通过package manager来安装nodejs:https://github.com/joyent/node/wiki/Installing-Node.js-via-package-managersudo apt-get install pytho原创 2013-03-08 22:27:55 · 2820 阅读 · 0 评论 -
nodejs下function,new function和this的研究
转:http://www.html5china.com/html5-article-3023-1.html重点我都高亮了!由于在使用nodejs之前接触js也比较少,最近一直被js的function和new function所困惑,由于两者都可以呈现出面向对象的样子,不知道两者的差别在哪里,就此问题做了一些研究。在研究的过程中发现this指针是个麻烦事,这在js前端使用的时转载 2012-12-22 14:29:57 · 2579 阅读 · 4 评论 -
RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ
学,以致用。找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后找到了amqp库,看上去倒还不错,照着例子,写了第一个RabbitMQ的客户端。首先,使用 npm install amqp --save 来安装node-amqp库,虽然他推荐使用全局安装,但是不去管它!以下是客户端代码:var ampq = require('amqp');va原创 2012-12-30 00:50:55 · 17212 阅读 · 0 评论 -
EJS References
今天在照着教程写代码的时候,发现在express组件里面使用partial()会有编译错误,网上一查,原来新版的ejs已经不支持partial了,取而代之的是include关键词。而且ejs的文档还不好找,找了半天才找到“官方”的,好简单。。https://github.com/visionmedia/ejs#includes另外,有一些关于移植express 2.0转载 2012-12-09 20:23:52 · 2705 阅读 · 0 评论 -
NodeJs NTLM认证(烂尾)
正在做的一个公司内部网站,需要用到域认证,无奈,只得学习相关的知识,边学边写:1. NodeJs的有一个服务器端做认证库的非常好,今天花了半天的时间,简单读了一下代码,觉得设计的不错,很容易扩展,库的名字是connect-auth,看名字就知道是expressJs的一个中间件,等有空就把一些源码阅读的笔记贴上来。2. 接下来就是记录一些域认证相关的知识:Windows的域认证,有2个认原创 2013-06-07 14:25:59 · 3942 阅读 · 0 评论 -
StatsD学习
这4个文章是一个系列的,关于如何配置 StatsD,Graphite以及如何使用两者来显示访问信息:StatsD学习:http://blog.youkuaiyun.com/puncha/article/details/9083061在Ubuntu Server 12.04 x64下安装Graphite: http://blog.youkuaiyun.com/puncha/article/details/9原创 2013-06-14 10:52:25 · 15288 阅读 · 0 评论 -
用issnode+IIS来托管NodeJs Server之二:移植
这几篇文章是一个系列的: 用issnode+IIS来托管NodeJs Server之一:安装篇 用issnode+IIS来托管NodeJs Server之二:移植 用issnode+IIS来托管NodeJs Server之三:加入Windows集成验证功能 用issnode+IIS来托管NodeJs Server之四:支持Debug安装完了iisnode之后原创 2013-06-07 15:16:48 · 6249 阅读 · 2 评论 -
用issnode+IIS来托管NodeJs Server之三:加入Windows集成验证功能
这几篇文章是一个系列的: 用issnode+IIS来托管NodeJs Server之一:安装篇 用issnode+IIS来托管NodeJs Server之二:移植 用issnode+IIS来托管NodeJs Server之三:加入Windows集成验证功能 用issnode+IIS来托管NodeJs Server之四:支持Debug今天花了一天时间,解决了N原创 2013-06-08 16:50:54 · 7239 阅读 · 2 评论 -
Restify实践
在项目里面,我网站用的是2层结构:UI + WebService(REST API),这样的好处是UI和后端可以完全分离。UI我用的是expressJs,后端Service层用的也是expressJs。今天看到一个轻量级的、专为REST API定制的框架,restify(详细文档:http://mcavage.github.io/node-restify)。restify应该是基于connect的原创 2013-06-28 17:58:43 · 9335 阅读 · 1 评论 -
用issnode+IIS来托管NodeJs Server之一:安装篇
这几篇文章是一个系列的: 用issnode+IIS来托管NodeJs Server之一:安装篇 用issnode+IIS来托管NodeJs Server之二:移植 用issnode+IIS来托管NodeJs Server之三:加入Windows集成验证功能 用issnode+IIS来托管NodeJs Server之四:支持Debug一直觉得Nodejs的优势原创 2013-06-07 15:00:52 · 21477 阅读 · 0 评论 -
Mocha实践
公司最近牵起一片Unit Test热,为了迎合公司的口味,我也只能把unit test(其实我写的不是UT,算是integration/aaceptance test了)加入其中。目前来说,nodeJs的ut框架,最有名的应该是TJ大神的mocha了 (有很详细的官方文档:http://visionmedia.github.io/mocha/)。废话少说,切入正题:一、安装:mocha原创 2013-06-28 17:35:05 · 5630 阅读 · 11 评论 -
Nodejs的Promise库
今天研究了下nodejs的Promise库,发现学到了不少,他的源代码不多,但是很精辟,我加了点注释,可能比不加还难懂。。。凑活着看吧。。库:https://npmjs.org/package/promisePromise/A+规范:http://promises-aplus.github.io/promises-spec/'use strict'var nextT原创 2013-07-11 15:25:57 · 15153 阅读 · 0 评论