Skip to content

Instantly share code, notes, and snippets.

View shigeki's full-sized avatar

Shigeki Ohtsu shigeki

View GitHub Profile
@shigeki
shigeki / nodetime_sampling.js
Created April 11, 2012 04:42
example to use nodetime module within local environment
// nodetime for local use
var uphttp = require('http');
var nodetime = require('nodetime');
var upload_port = 12345;
nodetime.on('sample', function(sample) {
var upload = uphttp.request({ port: upload_port,
method: 'POST',
path: '/upload'
});
upload.end(JSON.stringify(sample));
@shigeki
shigeki / http_server.js
Created January 25, 2012 15:49
node module for uv_unref
var unref = require('./build/Release/unref.node').unref;
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Loop Counter='+unref()+'\n');
}).listen(8080);
@shigeki
shigeki / core.c
Created December 12, 2011 15:17
libuv fix: option #2
uv__req_init((uv_req_t*)handle);
loop->counters.req_init++;
@shigeki
shigeki / core.c
Created December 12, 2011 15:10
libuv fix: option #1
void uv__req_init(uv_req_t* req) {
req->type = UV_UNKNOWN_REQ;
}
void uv_req_init(uv_loop_t* loop, uv_req_t* req) {
loop->counters.req_init++;
uv__req_init(req);
}
@shigeki
shigeki / gist:1391197
Created November 24, 2011 12:01
JavaScript で for/while 文を使わないで1から10までの合計を求める方法(process.netxtTick()を使わないnode-fibの真似編:実はこっちの方が速かった)
var calc = function(n, callback) {
var sum = function(i, res) {
var func = (n>i) ? sum : function(j,k) {callback(k);};
func(i+1, res+i);
};
sum(1,0);
};
calc(10, function(x) {console.log(x);});
@shigeki
shigeki / gist:1391018
Created November 24, 2011 10:05
JavaScript で for/while 文を使わないで1から10までの合計を求める方法(node-fibの真似編)
var calc = function(n, callback) {
var sum = function(i, res) {
var func = (n>i) ? sum_tick : function(j,k) {callback(k);};
func(i+1, res+i);
};
var sum_tick = function(i, res) {
process.nextTick(function() { sum(i,res); });
};
sum(1,0);
};
@shigeki
shigeki / Makefile
Created October 28, 2011 05:43
Hello World by libuv
hello_uv: hello_uv.c
gcc -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I../libuv/include -o hello_uv hello_uv.c ../libuv/uv.a -pthread -lrt -lm
clean:
rm hello_uv
@shigeki
shigeki / app.js
Created October 13, 2011 08:42
Testing http.request with socket.io
var app = require('express').createServer(),io = require('socket.io').listen(app),http = require('http');
app.listen(8080);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
var options = {
host: 'www.google.com',