摘要: 阻塞实例 结果: 非阻塞式 结果: 通过以上两个例子我发现,第一个阻塞式的是顺序执行,等读取完文件后才执行下面的程序。第二个程序,不需要等程序读取完文件就可以执行下面的代码,大大的提高了程序的性能。 阅读全文
posted @ 2017-03-13 14:11 乌梅 阅读(1188) 评论(0) 推荐(0) 编辑
摘要: REPL 命令 ctrl + c - 退出当前终端。 ctrl + c 按下两次 - 退出 Node REPL。 ctrl + d - 退出 Node REPL. 向上/向下 键 - 查看输入的历史命令 tab 键 - 列出当前命令 .help - 列出使用命令 .break - 退出多行表达式 . 阅读全文
posted @ 2017-03-13 13:53 乌梅 阅读(647) 评论(0) 推荐(0) 编辑
摘要: Node 是专注于创建网络应用的,网络应用就需要许多I/O(输入/输出)操作。让我们用Node实现有多么简单,并且还能轻松扩展。 创建一个TCP服务器 我们用Telnet 连接上localhost:9000,向服务器发送hi,Node显示出一堆二进制的数据,原来Javascript无法很好的处理的二 阅读全文
posted @ 2017-03-10 17:42 乌梅 阅读(729) 评论(0) 推荐(0) 编辑
摘要: NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NP 阅读全文
posted @ 2017-03-10 16:27 乌梅 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 实现一个函数,运算结果可以满足如下预期结果: add(1)(2) // 3add(1, 2, 3)(10) // 16 add(1)(2)(3)(4)(5) // 15 可以看到,这里其实有一种循环。只有最后一次调用才真正调用到 valueOf,而之前的操作都是合并参数,递归调用本身,由于最后一次调 阅读全文
posted @ 2017-03-08 16:39 乌梅 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Python 目录: 管理面板 算法和设计模式 反垃圾邮件 资产管理 音频 验证 构建工具 缓存 ChatOps工具 CMS 代码分析和Linter 命令行工具 兼容性 计算机视觉 并发和并行性 组态 密码学 数据分析 数据验证 数据可视化 数据库驱动程序 数据库 日期和时间 调试工具 深度学习 D 阅读全文
posted @ 2017-03-08 09:39 乌梅 阅读(2549) 评论(0) 推荐(0) 编辑
摘要: 下面的状态机选择通过Function.prototype.call方法直接把请求委托给某个字面量对象来执行。 下面利用delegate函数来重写一遍这个状态机 这是面向对象和闭包互换的一个例子。前者将变量保存为对象的属性,后者将变量封闭在闭包形成的环境中: Github上有另外一种方式: https 阅读全文
posted @ 2017-03-07 16:34 乌梅 阅读(5387) 评论(1) 推荐(0) 编辑
摘要: 看before函数中,我们会发现他们共用一个arguments,当我们将beforefn函数体内改变arguments,原函数_self接收到的函数参数列表自然也会变化。 平时我们在实际开发当中会遇到http请求中带一个Token,但是有些页面又不用或者Token生成方式不一样。 请看下面代码: 阅读全文
posted @ 2017-03-07 15:05 乌梅 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 在Javascript中动态的给对象添加职责的方式称作装饰者模式。 下面我们通常遇到的例子: 用装饰者模式,在不改原来函数的基础上,我们增加自己的新功能。 这种给对象动态增加职责的方式,并没有真正地改动对象自身,而是将对象放入另一个对象之中,这些对象以一条链的方式进行引用,形成一个聚合对象。 我们在 阅读全文
posted @ 2017-03-07 11:00 乌梅 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 职责链模式的定义:使用多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链, 并沿着这条链条传递下去,直到有一个对象处理它为止。 通过职责链模式,我们可以灵活的添加,移除修改链中的节点顺序。 下面我们用AOP实现职责链 阅读全文
posted @ 2017-03-06 15:35 乌梅 阅读(472) 评论(0) 推荐(0) 编辑