Hello World
Spiga

标签:Node.js

使用Jscex改进Node Club(2):引入Jscex类库

2012-02-20 13:57 by 老赵, 258 visits
摘要:之前我们已经将Node Club在本地运行起来了,接着我们便来引入Jscex类库,为常用异步方法扩展出Jscex版本,并试着编写一些最简单的Jscex代码。在编写Jscex方法中,我们无需操作回调函数,只要在异步点上使用$await进行“等待”即可。我们也无需显式地处理错误,因为一旦出现错误便会抛出异常,异常如果没有被某个try…catch捕获到,则会顺着调用路径一路向上传递,直到被我们的代码或是系统捕获为止。Jscex将简单易用的传统编程模式与实践重新带回异步编程中,做到“同步编写,异步执行”的效果。这就是Jscex诞生的意义。 阅读全文

使用Jscex改进Node Club(1):运行Node Club网站

2012-02-20 06:24 by 老赵, 523 visits
摘要:一直想做个相对完整的项目来演示下Jscex的使用,可惜缺少创意和精力,一直没能实现。前几天看到Node Club将其网站开源了,不禁让我十分欢喜。Node Club网站是个真实案例,复杂度适中,既是Jscex的典型使用场景,又能避开我不擅长的网页样式设计和制作,简直是一个再合适不过的基础样板了。周末我大致看了下代码,也试着将几个部分使用Jscex改进了一下,效果也十分显著,于是打算写作一个系列指引,希望可以对Jscex类库的推广有所帮助。在此第一篇,自然是最基本的环境建设开始说起。 阅读全文

Node.js中相同模块是否会被加载多次?

2011-12-27 15:19 by 老赵, 1501 visits
摘要:JavaScript的包管理一直是个软肋,但既然它流行了,既然人们想要用它做大事了,就要开始为它制定一些模块的约定。Node.js使用了CommonJS模块机制,最近在InfoQ上也有一篇文章讨论了这方面的问题。这篇文章提到Node.js在载入模块时,如果之前该模块已经加载过则不会有重复开销,因为模块加载有缓存机制。这篇文章是我初审的,当时也正好在思考Jscex在Node.js使用时的模块化问题,但研究了它的规则之后,我发现在某些情况下还是可能加载多次。现在我们便来分析这个问题。 阅读全文

Jscex正式发布至npm

2011-12-01 06:23 by 老赵, 2229 visits
摘要:之前一直不敢将Jscex发布至npm上,因为有些问题还没有完全拿定主意,例如“取消”任务的模型。一个异步任务一定是需要取消功能,尽管这个模型不一定需要直接定义在Jscex里。但是我还是为Jscex提供了一个统一的标准化的取消模型,一是易于使用,二是提供模型这个之后,API在设计时可以有更多表现力(例如,现在的task的status可能是canceled了)。上周末我实现这个模型(其实也就十几二十行代码),昨天我又修改了模块的加载方式,使其支持CommonJS规范。在发布到npm之后,现在可以说Jscex已经正式对外公开了! 阅读全文

基于Node.js、Express和Jscex开发的ToDo网站示例

2011-07-15 06:33 by 老赵, 8237 visits
摘要:Jscex的主要使用场景是“JavaScript异步编程”,并不限制是跑在浏览器还是服务器端。最近Node.js很火热,也刚发布了原生的Windows版,不少同学也用它来做一些网站这样的小程序。目前用Node.js开发网站最著名的框架是Express,使用起来也是比较容易的。前段时间看到CNodeJS社区的一篇文章,某同学将一个Python写的ToDo列表网站移植到了Node.js上,我为了推广Jscex,就fork了这个项目,将其修改为基于Jscex的版本,大伙儿可以来比较一下。当然这个网站过于简单,我也正在寻找更合适的项目。 阅读全文

上周末Jscex项目介绍的幻灯片

2011-05-16 05:43 by 老赵, 2677 visits
摘要:上周末,在风景秀丽的浙江大学校园内,举行了NodeParty杭州站的活动。我在活动上结合Node.js项目对Jscex进行了简单介绍,包括其设计目的,设计原则,使用方式,高级模式,组成部分等等。在场的许多朋友也提出了不少问题,我也一一作了解答或是演示。总体感觉还算不错,毕竟是亲手编写的项目,对其各方面还是了然于胸的。在此发布演讲用的幻灯片,希望能给不在现场的同学带来一些帮助。 阅读全文
1
使用Live Messenger联系我