Skip to content

Instantly share code, notes, and snippets.

@ishiduca
ishiduca / tenugui.md
Last active October 28, 2015 07:41
手拭い

兄貴分の長庵に頼まれ、女を殺す。

これは三次をして生まれて初めての人殺し。

真夜中の枯田んぼに、女を誘い出し、背後から手拭いで絞める。

ようやくにして、女は縊死ぬ。

@ishiduca
ishiduca / package.json
Last active September 15, 2015 05:14
node web scraper - 【とらのあなWebSite】とらの瞬間風速
{
"dependencies": {
"destroy": "^1.0.3",
"JSONStream": "^1.0.4",
"hyperquest": "^1.2.0",
"iconv-lite": "^0.4.11",
"through2": "^2.0.0",
"trumpet": "^1.7.1"
}
}
@ishiduca
ishiduca / multi-download.js
Created September 2, 2015 11:12
セマフォで当時接続数を調整する
'use strict'
var fs = require('fs')
var path = require('path')
var url = require('url')
var hyperquest = require('hyperquest')
var through = require('through2')
var trumpet = require('trumpet')
var semaphore = require('semaphore')
var uri = 'http://matome.naver.jp/odai/2142172053104925201'
@ishiduca
ishiduca / app.js
Created August 12, 2015 07:28
example hogan-hammer
'use strict'
var path = require('path')
var http = require('http')
var fs = require('fs')
var url = require('url')
var Hammer = require('hogan-hammer')
var anyBody = require('body/any')
var port = process.env.PORT || 3000
var dashboard = path.join(__dirname, 'dashboard.html')
@ishiduca
ishiduca / example_pixiv-login.js
Last active August 29, 2015 14:23
a cookie manager for HTTP client
'use strict'
var qs = require('querystring')
var url = require('url')
var merge = require('deepmerge')
var hyperquest = require('hyperquest')
var trumpet = require('trumpet')
var cookiepass = require('../index')
var auth = require('./auth')
var login = 'https://www.secure.pixiv.net/login.php'
@ishiduca
ishiduca / app.js
Last active August 29, 2015 14:22
example of "leveldb + trumpet"
'use strict'
var path = require('path')
var fs = require('fs')
var util = require('util')
var http = require('http')
var through = require('through2')
var trumpet = require('trumpet')
var level = require('level')
var tableHTML = path.join(__dirname, 'table.html')
@ishiduca
ishiduca / result.txt
Created May 20, 2015 05:31
trumpetでスクレイピングの試作。複雑な構造をパースするには骨が折れる
{"code":"aaa","product":"AAA","price":1000}
{"code":"abc","product":"ABC","price":1100}
{"code":"xyz","product":"XYZ","price":10000}
@ishiduca
ishiduca / guard-timer-stream.js
Last active August 29, 2015 14:21
bacon.jsで関数型プログラミングをやってみる(2) - Qiita http://qiita.com/m4fg/items/9b0d5261909224fd45d0 を node.jsのストリームでやってみる
'use strict'
var es = require('event-stream')
var guard = require('./guard-timer')
module.exports = function (/*capacity, msec*/) {
var args = [].slice.apply(arguments)
var msec = args.pop()
var capacity = args.shift()
var timer = guard(capacity)
@ishiduca
ishiduca / guard-timer.js
Last active August 29, 2015 14:20
semaphoreで複雑な遅延ストリームを実装
'use strict'
var semaphore = require('./semaphore')
module.exports = function guard (n) {
var sem = semaphore(n)
return function timer (f, timeout) {
var id
sem.wait(function () {
id = setTimeout(cancel, timeout)
f()
@ishiduca
ishiduca / app.js
Created May 7, 2015 09:57
React.jsで簡単な通知コンポーネント の試作。
'use strict'
var merge = require('deepmerge')
var semaphore = require('./index')
var Sem1 = semaphore(1)
var Sem3 = semaphore(3)
var events = require('events')
var store = new events.EventEmitter