nightmare 是一个基于 electron 的自动化库(意思是说它自带浏览器),用于实现爬虫或自动化测试。相较于传统的爬虫框架(scrapy/pyspider),或者dom操作库(cheerio/jsdom),或者基于浏览器的自动化框架(selenium/phantomjs),他的优势在于提供[……]
JavaScript
There are 26 posts filed in JavaScript (this is page 1 of 3).
实现一个Node.js版本的Consul SDK
Consul
Consul 是一个开源软件,用于实现分布式系统的服务发现与配置,内置如下功能:
- 服务的注册和发现
- 键值对存储
- 健康检查
- 多数据中心支持
Node-Consul
目前实现最为完备的 Consul 客户端是 node-consul,看看它的功能点:
- [……]
JS中的一些函数式编程术语
组合 Composition
组合某种类型(含函数)的两个元素,进而生成一个该类型的新元素:
1 2 3 4 5 6 7 |
let compose = (f, g) => a => f(g(a)) let toUpperCase = x => x.toUpperCase() let exclaim = x => x + '!' let shout = compose(exclaim, toUpperCase); shout("hello world") // HELLO WORLD! |
偏函数应用 Partial Application
一个多参函数,如果我们只提供了部分参数,这种应用就是偏函数应用:
[crayo[……]
学习RxJS:Cycle.js
学习RxJS: 导入
引子
新手们在异步编程里跌倒时,永远会有这么一个经典问题:怎么在一次异步调用里return一个结果啊?
老司机说要用回调函数,然后有条件判断的嵌套回调(回调地狱)问题来了;
老司机推荐用事件,然后异步流程里有顺序依赖;
老司机推荐用Promise,然后有顺序依赖的流程里,居然还想[……]
使用node-forge保障Javascript应用的传输安全
对称加密、公钥加密和RSA
DSL in action
最近看了本有意思的书,受到了一些启发,在此记录一下:
DSLs in action
DSL是什么
即 domain-specific language ,是指和业务域模型相关的语言,粗糙的说法:行(业黑)话。关于什么是DSL,见仁见智,比如我认为SQL是一种DSL,有人却认为不是。
用途[……]
使用TypeScript编写Node项目
入 TypeScript 坑有一段时间了,由衷的看好,所以决定在自留地絮叨一番。
是什么
TypeScript (以下简称TS)是巨硬推出的JavaScript转译语言,这意味着:
- 它需要编译
- TS代码会被编译成JavaScript代码
TS的特点是提供 模块、类、接口等一系列[……]