摘要:Cycle.js 是一个极简的JavaScript框架(核心部分加上注释125行),提供了一种函数式,响应式的人机交互接口。在这个交互模型中,人机之间的信息流互为输出输出,构成一个循环,也即 Cycle这一命名所指,框架的Logo更是以莫比乌斯环贴切的描述了这个循环。 阅读全文
学习RxJS: 导入
2016-05-31 23:04 by 莫耶, 2631 阅读, 3 推荐, 收藏, 编辑
摘要:知道有 ReactiveX 这么一回事, 源于一位巨硬铁粉的安利演示:Reactive LINQ 加持的C#,简洁且颇具表达力;随后,便是万众瞩目的 Angular 2,这货的标配大礼包里就有RxJS,比比皆是的 api.invocation.map(...).subscribe(fn, fn, fn) 片断,让jQuery青年们一头雾水 阅读全文
[Node.js] Node.js项目的持续集成
2016-03-04 09:27 by 莫耶, 1783 阅读, 1 推荐, 收藏, 编辑
摘要:本文仅是简单介绍了持续集成的概念,以及如何快速构建Jenkis + Nodejs + Github 的持续集成环境。但Jenkins 的功能远不至文中所述的这些,Jenkins 还有详尽的日志处理和持续集成构建状等功能。抛砖引玉,愿能与大家一起继续探索。 阅读全文
[Node.js] 使用node-forge保障Javascript应用的传输安全
2015-12-19 01:04 by 莫耶, 4829 阅读, 1 推荐, 收藏, 编辑
摘要:本文提供了一种纯Javascript应用间的TSL思路:基于node-forge实现,基于RSA+AES的混合加解密方案。 阅读全文
[Node.js] 对称加密、公钥加密和RSA
2015-06-14 13:38 by 莫耶, 6063 阅读, 0 推荐, 收藏, 编辑
摘要:通过比较,我们知道:RSA 比 AES 更难破解,因为它不需要担心密钥在传递过程中有泄露,只存在暴力破解一种可能;AES的优势是以分组为轮,加解密速度非常快,一般而言,AES 速度上数百倍于 RSA。所以在实际应用中,我们会混合应用AES和RSA。 阅读全文
[Node.js] DSL in action
2015-05-30 20:46 by 莫耶, 1706 阅读, 1 推荐, 收藏, 编辑
摘要:DSL,即 domain-specific language ,是指和业务域模型相关的语言,粗糙的说法:行(业黑)话。关于什么是DSL,见仁见智,比如我认为SQL是一种DSL,有人却认为不是。在这里,我用javascript实现了一个类SQL语法查询JSON对象的DSL。 阅读全文
[Node.js] 使用TypeScript编写Node项目
2015-04-25 19:59 by 莫耶, 8515 阅读, 2 推荐, 收藏, 编辑
摘要:TypeScript 是巨硬推出的JavaScript转译语言。 TS的特点是提供 类、接口以及泛型等一系列概念,协助开发者在编译时就定位出一些传统JavaScript项目的运行时错误,实现即巨硬所谓的"Robust components"(此外,值得一提的是,TS是大名鼎鼎的 Anders Hejlsberg 主导的项目。 阅读全文
[Node.js] Node.js中的流
2015-03-29 01:08 by 莫耶, 1595 阅读, 0 推荐, 收藏, 编辑
摘要:说到流,就涉及到一个*nix的概念:管道——在*nix中,流在Shell中被实现为可以通过 |(管道符) 进行桥接的数据,一个进程的输出(stdout)可被直接作为下一个进程的输入(stdin)。
在Node中,流(Stream)的概念与之类似,代表一种数据流可供桥接的能力。 阅读全文
[Node.js] 基于Socket.IO 的私聊
2015-01-02 21:55 by 莫耶, 4008 阅读, 2 推荐, 收藏, 编辑
摘要:Websocket规范面对的问题是:并未被一些普遍使用的浏览器所支持 (如IE10之前的版本);在使用防火墙和代理的环境可能无法创建连接。Socket.IO 封装了一连串后备传输方案:WebSocket/ FlashSocket/ XHR long polling/ XHR multipart streaming/ XHR polling/ JSONP polling/ iframe... 本文要讨论的重点是,结合KOA和Socket.IO 实现通信定位到人。 阅读全文
[Node.js] 闭包和高阶函数
2014-12-29 21:40 by 莫耶, 3078 阅读, 5 推荐, 收藏, 编辑
摘要:自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。高阶函数满足:要么接受一个或多个函数作为输入;要么输出一个函数。通过闭包和高阶函数的组合运用,我们可以提炼出这样一种编程模式:通过分离=2次的参数传递,以最少的代码实现动态的算法生成器。 阅读全文