All posts tagged Node.js

Felix’s Node.js Style Guide (Part 2)

接上篇:Felix’s Node.js Style Guide (Part 1)

创建Object / Array

逗号应放在行尾而不是行首,每一行放置简短的变量声明。只在你的解释器抱怨的时候才应该去给array的key上加上引号。

正确:

var a = ['hello', 'world'];
var b = {
  good: 'code',
  'is generally': 'pretty',
};

错误:

var a = [
  'hello', 'world'
];
var b = {"good": 'code'
        , is generally: 'pretty'
        };

Continue reading →

Felix’s Node.js Style Guide (Part 1)

本文为译文,翻译自原文 http://nodeguide.com/style.html

标题咱就不翻了吧,说实话guide这个词还真不好翻,不能显得很高深又不能显得很for dummy的样子,索性就不翻了……

本guide应该较上篇略有意思,作者泰国海滩度假的时候写出来的东西想来也不会多么干巴巴(海滩不是到处都是水吗……),当然本文所涉及的编程风格之类的选择应该完全是作者自己的opinion,不代表我台观点。

============================== 我是分割线 ==============================

本文不是node.js应用程序所应该遵循风格的官方文档。本guide只是试图带给你一整套instructions,虽说本人有点固执己见,但这套东西确实能让你创建美观且统一的软件。

本guide假设你只针对node.js。如果你的代码需要在浏览器或者其它环境里面运行,请勇敢的忽略其中一些部分。

另外请注意node.js和围绕node的其它很多package都有其自身略显不同的风格,所以如果你对那些项目感兴趣,请遵守他们那边的规则。(别到时被砍……译者注)
Continue reading →

Felix的Node.js初学者入门指南

本文为译文,翻译自原文 http://nodeguide.com/beginner.html

网上有很多关于node.js的资料,但鉴于其快速的开发进度,初学者可能会很难找到比较好且最新的入门资料。本文就是在力求提供这份资料,并且力求时刻和最新的node.js稳定版本保持同步。

本guide已经针对node 0.4.x的最新改动做过更新,node 0.4.x也是当前node的稳定分支。

学习JavaScript

本guide假设你已经对JavaScript有所熟悉。如果你不是很熟悉,你可以去读读:Marijn Haverbeke写的Eloquent JavaScript,它可以在网上免费阅读。
Continue reading →

喝coffee写coffeescript

好吧,这回中文,亚历山大……

其实英文有英文的好处,比如英文会使本人比较focus,因为没兴趣也没能力瞎扯,于是主题明确而不拖泥带水;中文的坏处便是我会常常迷失主题,跑题千里后蓦然回首,那人竟然还在灯火阑珊处……

anyway……

前几天看到sunng的take my coffee,一看title以为必是coffeescript,结果竟偏是如此纯结(纯是纯净水的纯),看来还是哥多虑了…… 想来最近的blog title里面随便带个coffee都会让人浮想联翩,coffee script的“火”冒三丈也就可见一斑。

标题起源于上周想到一个idea,便是让live fortune定时publish到新浪微博或是twitter,目前新浪的publisher已经实现,并顺便refactor了一下code,让之后twitter publisher的加入变的十分简单(在plan中);实现的过程中再次发现了sina clone的迹象,因为其oauth实现竟然连url抄的都一模一样,倒是方便了实现,因为twitter oauth的sample code基本上改个site base url后就能完全照搬,暂且认为这是新浪有意而为之的吧,目的便是方便第三方开发人员……

本来这篇文章一直draft着,再加上周末一直不available,所以拖到现在,为了应景,还特地决定一大早先跑去喝杯咖啡后再来奋笔疾书,无奈公司咖啡机几近坏掉,我修了半天搞的满身都是最后还是勉强喝到了一点味道有稍许异样的不知道还能不能叫做coffee的”coffee”,看来杯具如我辈是永远达不到sunng那种小资情调的呵呵;

吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮. i

[Footnotes]
  1. 喝coffee不写coffeescript,不喝coffee倒写coffeescript []

Deploying Live Fortune (Node.js) with Nginx and Monit

Here we will use Nginx to serve static resources and reverse proxy dynamic requests to the Node server. We will also use Monit to monitor the Node server and restart it automatically in case it crash. This is also the deployment I did at fortune.crash4.us.

[Nginx: Static Resources]
livefortunes use express.static to server static resources, but for better performance we will use nginx to do the job that it’s designed and built to do.

Config nginx to server all the static resources which located under /public :

server {
    listen       80;
    server_name  fortune.crash4.us;
    root         /path/to/livefortunes/public;
    index        index.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
         root   html;
    }
}

Continue reading →

Live Fortune (Node.js) that do not crash

Do you enjoy reading interesting or funny sentences like below?

A nuclear war can ruin your whole day.

He who knows, does not speak. He who speaks, does not know.
— Lao Tsu

If you do, check out:
http://fortune.crash4.us/ i

For the record, this is a project built with Node.js, Express and Faye. One fortune will be pushed from server to each client every 2 mins thanks to the html5 WebSocket. Client can trigger a server push/broadcast as well ii. All the source code is available at github.

Next step is to convert this project to CoffeeScript.

[Footnotes]
  1. Trust me, it won’t crash… []
  2. open multiple browser windows or tabs to test []