Skip to content

Instantly share code, notes, and snippets.

View poying's full-sized avatar
🏠
I may be slow to respond.

Po-Ying Chen poying

🏠
I may be slow to respond.
View GitHub Profile
@poying
poying / component.json
Created November 21, 2014 00:40
duo example
{
"dependencies": {
"component/emitter": "1.1.3",
"component/domify": "1.3.1"
}
}
@poying
poying / component.json
Created November 21, 2014 00:36
component.io example
{
"name": "example",
"scripts": [
"lib/index.js"
],
"styles": [
"style.css"
],
"templates": [
"lib/template.html"
@poying
poying / Dockerfile
Created November 19, 2014 10:32
Vim
FROM debian:wheezy
RUN apt-get update \
&& apt-get install -y build-essential \
libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
ruby-dev mercurial liblua5.2-dev lua5.2 \
&& rm -rf /var/lib/apt/lists/*
var myModule = module.exports;
myModule.callbackMethod = supportPromise(function (arg1, arg2, cb) {
// 作一些事情
asyncFunction(function () {
// 一些異步操作
asyncFunction(function () {
// 執行完成
var supportPromise = function (fn) {
return function () {
if (typeof arguments[arguments.length - 1] === 'function'
|| typeof Promise === 'undefined') {
return fn.apply(this, arguments);
}
var args = arguments;
return new Promise(function (resolve, reject) {
var myModule = module.exports;
// 修改前
myModule.callbackMethod = function (arg1, arg2, cb) {
// 作一些事情
asyncFunction(function () {
// 一些異步操作
asyncFunction(function () {
var Promise = require('native-or-bluebird');
var callbackOrPromise = function (cb, fn) {
if (cb) {
return fn(cb);
}
return new Promise(function (resolve, reject) {
fn(function (err, res) {
err ? reject(err) : resolve(res);
});
var callbackOrPromise = function (cb, fn) {
if (cb || typeof Promise === 'undefined') {
return fn(cb);
}
return new Promise(function (resolve, reject) {
fn(function (err, res) {
err ? reject(err) : resolve(res);
});
});
};
@poying
poying / bench.js
Created November 12, 2014 03:54
benchmark
var co = require('co');
var prettyHrtime = require('pretty-hrtime');
var jsdom = require('./jsdom');
var templateEngine = require('./template-engine');
var times = 100;
function *bench(fn) {
var i = 0;
var start = process.hrtime();
package main
import (
"fmt"
"reflect"
)
func main() {
printUser("poying", 21)
printUser("poying 2.0")