七周七语言 – node.js

时间 2012-11-26 22:01:20  TopGeek

首先,由Sting介绍了活动规则和大致流程,并安排大家重新调整座位,发放接线板等。

1 上午为基础课程,讲师教授,学习语言基础知识

CNode社区来了5个讲师,阵容极其豪华。

然后由5位node.js社区的讲师分别从不同角度讲了node.js的种种学习细节,并重点介绍了特性。

黄冠,网名青山老妖,前魏玛软件创始人,融金汇银高级技术顾问,对于RIA和实时WebApp应用有丰富的经验。微博:@青山老妖_黄冠

桂林,网名桂糊涂,国内第一批node.js活跃用户,著名MongoDB Node.js客户端mongoskin库作者。国内第一届黑客马拉松冠军团队成员。微博:@桂糊涂

赵成,网名小型笨蛋。C++功底非常扎实,基于GTK+的跨平台node.js GUI库node-gui作者。现投身于node-webkit的开发。微博:@小型笨蛋

 

微博:@Python发烧友

 

2 中午休息和午餐后,剩下的一些学员和老师进行了自我介绍:

 

3 下午为Coding Dojo,实践学到的语言知识

分组练习,每组合作完成一个小项目。

 

4 课后作业

讲师们分派了4个课后作业,每个人必须在一周内独立完成至少一个。并发布在指定的网站be001.com上,由讲师进行评估。评估合格,可以返还50元。

使用Nodejs制作翻墙代理

Tomas Huang(青山老妖)

由于GFW的存在我们经常需要翻墙,所以我们需要一个简单的翻墙代理。

短网址还原

fengmk2

微博上的url都是经过处理后的短网址,如 http://t.cn/zj4JbGf,http://url.cn/72T97N,http://t.co/23dqZNrb,http://163.fm/7yYSdlI,都是指向 http://be001.com/ 的缩短网址。我们需要将它们还原,并且取到html中的title 信息。

 

词汇统计

Tomas Huang(青山老妖)

我们需要对一个特定的网址返回的的内容进行词汇统计,并将统计结果输出给用户。

聊天室

Tomas Huang(青山老妖)

使用Socket.io做一个简单的web聊天室

 

本次七周七语言活动一共40人参加,11人交押金。

 

首次七周七语言-Golang  35人参加,21人交押金,13人完成

第二次七周七语言-Python  65人参加,38人交押金,24人完成

第三次七周七语言-R  50人参加,16人交押金,11人完成

第四次七周七语言-Ruby  28人参加,16人交押金,7人完成

 

预习资料

网站:nodejs.org

开源协议:MIT

目前版本:0.8.9

 

Node.js是一个建立在V8 javascript引擎上的平台,可方便地构建快速并且可扩展的网络应用程序。 Node.js使用事件驱动,非阻塞I/ O模型,使得它轻量,高效,并且在分布式的设备上构建数据密集型实时应用程序的表现相当出众。

 

Node.js无疑是目前github上面最火爆的社区,由于javascript这种前端语言的的广泛影响力和Node.js平台的易用性,吸引了大量优秀的开发者,从github上面的Node.js开源项目的数量便可以轻易看出。同时国外linkedin,google,github以及国内淘宝,腾讯,新浪,网易等众多互联网巨头也开始将Node.js应用到商业产品当中,足见Nodejs的火热和潜力。

 

 

 

一个用 Node 编写的简单响应 ‘Hello World’ 的WEB服务器示例:

var http = require(‘http’);

http.createServer(function (request, response) { 
 response.writeHead(200, {‘Content-Type’: ’text/plain’}); 
 response.end(‘Hello World\n’); 
}).listen(8124);

console.log(‘Server running at  http://127.0.0.1:8124/’);

 

将以上代码保存到example.js,运行以下命令来启动服务器:

> node example.js 
Server running at http://127.0.0.1:8124/

Node.js常用资源列表

新手入门指导: http://www.nodebeginner.org/index-zh-cn.html

台湾Node社区电子书:http://book.nodejs.tw/

网站: http://nodejs.org

API: http://nodejs.org/api/

邮件组: http://groups.google.com/group/nodejs

源代码地址: https://github.com/joyent/node

第三方模块列表: https://github.com/joyent/node/wiki/Modules

包管理工具: https://npmjs.org/

Node.js相关网站列表: http://www.nodecloud.org/

 

 

中文社区: http://cnodejs.org/

免费Nodejs应用引擎服务: http://cnodejs.net/

中文邮件组: http://groups.google.com/group/cnodejs

InfoQ中文Node.js文章列表: http://www.infoq.com/cn/nodejs/?utm_source=infoq&utm_medium=header_graybar&utm_campaign=topic_clk

 

 

Node.js常用模块列表

Connect: 轻量级的Web插件组合

Express: 基于Connect功能丰富强大的Web框架,类似于Ruby中的Sinatra

RailwayJS: 基于Express的,类ROR的框架

Socket.IO: 利用websocket可优雅降级的实时通讯框架

Meteor: 新型的WebApp框架,抽象了前后端的通讯模型,弱化了前后端的区别

 

sequelize: ORM框架,支持MySQL,PostgreSQL和SQLite http://www.sequelizejs.com

node-mongoose: ORM for mongo

node-mongoskin: 利用流式API和延迟执行消除数据访问代码中丑陋的异步嵌套结构,像是C#中的LINQ to SQL

node-redis: Complete Redis client that works well with new node and new Redis

https://github.com/joyent/node/wiki/Modules

 

JavaScript 学习资料和视频

 

很好掌握javascript对node.js开发很重要。以下的资料可以加到七周七语言系列活动之五 “node.js” 活动的网站上。
推荐这本书:  JavaScript: The Good Parts by Douglas Crockford

javascript: the good parts 
http://www.youtube.com/watch?v=hQVTIJBZook

the javascript programming language 
http://www.youtube.com/watch?v=v2ifWcnQs6M&feature=relmfu

advance javascript 
http://www.youtube.com/watch?v=DwYPG6vreJg

crockford on javascript 
http://www.youtube.com/watch?v=JxAXlJEmNMg&feature=relmfu

Posted in 故事.