blog icon indicating copy to clipboard operation
blog copied to clipboard

purplebamboo的博客

Results 22 blog issues
Sort by recently updated
recently updated
newest added

# koa源码分析系列(二)co的实现 koa基于co实现,co又是使用了es6的generator特性,所以,没错这个特性支持很一般。 有下面几种办法体验generator: * node v0.11 可以使用 (node —harmony) * 使用gnode来使用,不过据说性能一般 * 使用chrome体验,打开chrome://flags/, 搜索harmony, 启用,重启chrome即可。 ##thunk函数 thunk函数是一个偏函数,执行它会得到一个新的只带一个回调参数的函数。下面我们对node的stat举个例子(其实是co官方的例子): ``` var fs = require('fs'); function size(file) { return function(fn){ fs.stat(file, function(err,...

# (翻译)使用200行代码创建属于你自己的精简版angular 原文:http://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/ 第一次翻译外文,就拿这篇作为第一次练习。加上一些自己的理解并且做了些删减。 正文开始: 我的实践经验证明有两种好方法来学习一项新技术。 * 自己重新实现这个项目 * 分析那些你所知道的技术概念是如何运用在这个项目里的 在一些情况下第一种方式很难做到。比如,如果你为了理解[kernel](https://github.com/torvalds/linux)(linux内核)的工作原理而去重新实现一次它会很困难很慢。往往更有效的是你去实现一个轻量的版本,去除掉那些你没兴趣的技术细节,只关注核心功能。 第二种方法一般是很有效的,特别是当你具有一些相似的技术经验的时候。最好的证明就是我写的[angularjs-in-patterns](https://github.com/mgechev/angularjs-in-patterns),对于有经验的工程师来说这是个对angular框架非常好的介绍。 不管怎么说,从头开始实现一些东西并且去理解代码使用的技术细节是非常好的学习方式。整个angularjs框架大概有20k行代码,其中有很多特别难懂的地方。这是很多聪明的程序员夜以继日的工作做出来的伟大的壮举。然而为了理解这个框架还有它主要的设计原则,我们可以仅仅简单的实现一个‘模型’。 我们可以通过下面这些步骤来实现这个模型: * 简化api * 去除掉对于理解核心功能无关的组件代码 这就是我在[Lightweight AngularJS](https://github.com/mgechev/light-angularjs)里面做的事情。 在开始阅读下面的内容之前,建议先了解下angularjs的基本用法,可以看这篇[文章](http://blog.mgechev.com/2014/05/08/angularjs-in-patterns-part-1-overview-of-angularjs/) 下面是一些demo例子还有代码片段: * [Lightweight AngularJS source code](https://github.com/mgechev/light-angularjs) * [Very simple...