Skip to content

Instantly share code, notes, and snippets.

View theharveyz's full-sized avatar
🕶️
NOOP

HarveyZ theharveyz

🕶️
NOOP
View GitHub Profile
@dahnielson
dahnielson / UUID.php
Last active May 31, 2024 23:54
Pure PHP UUID generator
<?php
/**
* UUID class
*
* The following class generates VALID RFC 4122 COMPLIANT
* Universally Unique IDentifiers (UUID) version 3, 4 and 5.
*
* UUIDs generated validates using OSSP UUID Tool, and output
* for named-based UUIDs are exactly the same. This is a pure
* PHP implementation.
@kwokhou
kwokhou / isNumber.js
Last active September 21, 2016 07:05
JavaScript Is Number check, alternative to http://api.jquery.com/jQuery.isNumeric/
// Copied from http://stackoverflow.com/a/1830844
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
@yyx990803
yyx990803 / props.md
Last active March 28, 2017 11:39
关于应不应该把属性的默认值放在prototype里

TL,DR: 务必总是在构建函数里定义实例属性。

在小胖的PoorPhy物理库里,有很多类似这样的代码:

function WorldA () {
  // ...
}

WorldA.prototype = {
@luxixing
luxixing / CurlRoll.php
Created October 23, 2013 10:54
php-curl-multi 使用php curl多进程请求url,抓取页面的类
<?php
/**
* Use php curl multi, rolling request url.
*
* @author liwanghui@dratio.com
*/
class CurlRoll
{
/**
@welefen
welefen / gist:7746175
Last active January 6, 2020 08:53
php判断文件编码和检测文件是否有UTF-8头信息
<?php
/**
* 获取内容的编码
* @param string $str
*/
function get_encoding($str = "") {
$encodings = array (
'ASCII',
'UTF-8',
@jonmorehouse
jonmorehouse / tar.go
Created February 17, 2014 22:29
Quick golang script for creating a gzipped tarball
package main
import (
"os"
"archive/tar"
"log"
"io"
"compress/gzip"
)

Generator与异步编程

在《深入浅出Node.js》的第4章里,笔者深度地介绍了当前盛行在Node和前端JavaScript中的几种异步编程的解决方案,唯独对Generator的解决方案没有介绍。但随着Node版本的升级和ECMAScript harmony的特性不断得到支持,0.11中,通过启用--harmory参数,可以让V8支持Generator。最近Connect/Express背后的开发团队也将精力转移到新的库和框架上,这个核心库和框架就是cokoa,它们最主要的特点就是主要基于ECMAScript harmony中的Generator特性,这使得它在异步编程方面有较优雅的实现。

本文将深度介绍下Generator是如何实现将异步编程从原始的嵌套式代码转换成扁平的顺序式代码。

异步编程问题回顾

简单地回顾下,异步编程的问题主要有必须通过回调函数进行返回值的处理,以及复杂情况下会造成嵌套过深的问题。这里简单地给出两种典型的异步场景。

异步串行读取文件:

@dlutwuwei
dlutwuwei / express.md
Created May 20, 2014 01:30
express4.2源码解析

title: express4.2源码解析 date: 2014-05-18 15:00:50 categories: express tags: [nodejs, node, js, express]

express是nodejs平台上一个非常流行的框架,4.2.0是最新的版本,相比3.x版本优化了代码和api,去除了connect模块,自己实现了一个router组件,实现http请求的顺序流程处理,去除了很多绑定的中间件,使代码更清晰。

##1.使用express 如何使用express在官网有很好的讲解,只用experssjs实例app的几个函数,就可以构建构建web程序。

@dlutwuwei
dlutwuwei / route.param.md
Created May 24, 2014 08:53
app.route, app.param - express4.2api讲解

app.routeapp.param是express4.2新增的两个api,这里做一些说明:

app.route

express的官方文档时这样解释的:

>Returns an instance of a single route which can then be used to handle HTTP verbs with optional middleware. Using app.route() is a recommended approach to avoiding duplicate route naming and thus typo errors.

@staltz
staltz / introrx.md
Last active June 29, 2024 02:36
The introduction to Reactive Programming you've been missing