Skip to content

Instantly share code, notes, and snippets.

@nidate
nidate / promisify_test.js
Created February 22, 2019 03:16
Promisifyの戻り値
const promisify = require('util.promisify');
/**
* Promisifyはコールバックのパラメータの最初の一つしか返さない。
*
* $ node promisify_test.js
* [ 'a', undefined, undefined ]
* { '0': 'a' }
*/
@nidate
nidate / paralle.js
Created August 16, 2018 01:03
generatorの並列実行と直列実行
const co = require('co');
// 0‾1秒の処理
const proc = function*() {
const wait = Math.random();
return new Promise(resolve =>
setTimeout(function() {
return resolve(wait);
}, wait * 1000)
);
@nidate
nidate / init.el
Last active July 13, 2017 10:26
emacs に prettier を入れる。
; nvm環境で、npm install -g prettier
; M-x list-packages で nvm と prettierを追加
; init.elに追加
(require 'nvm)
(nvm-use "v6.11.0")
(add-hook 'js2-mode-hook 'prettier-js-mode)
(add-hook 'web-mode-hook 'prettier-js-mode)
@nidate
nidate / keyevent.html
Created December 9, 2015 14:41
HTMLドキュメント内のキーイベントをすべて受け取る
<html>
<script type="application/javascript">
document.addEventListener('DOMContentLoaded', function(){
var elem = document.querySelector('.input');
document.addEventListener('keydown', function(e) {
elem.textContent += JSON.stringify(e);
e.preventDefault();
});
});
</script>
@nidate
nidate / raspberripizero.jpg
Last active August 7, 2022 08:43
Raspberry Pi Zero
raspberripizero.jpg
@nidate
nidate / init.el
Last active September 30, 2020 03:43
init.el
;(require 'un-define)
(setq debug-on-error t)
(setenv "SSH_AUTH_SOCK" "/tmp/501/SSHKeychain.socket")
(setq transient-mark-mode nil)
(setq-default case-fold-search t)
(require 'package)
(package-initialize)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
@nidate
nidate / csv_parse.coffee
Created August 14, 2015 04:21
node.js の csv-parseで標準入力からcsvをパースする
# http://csv.adaltas.com/parse/
csvParse = require 'csv-parse'
through2 = require 'through2'
stream = process.stdin
csv = csvParse columns: true
stream
.pipe(csv)
.pipe through2 objectMode: true, (chunk, enc, next)->
@nidate
nidate / regexptest.coffee
Created May 12, 2015 02:26
node.jsのregexpの検証
# http://developer.cybozu.co.jp/tech/?p=8757
{sprintf} = require 'sprintf-js'
pattern = /(\w|_){1,64}@/
#pattern = /(\w){1,64}@/
for i in [1..64]
target = [1..i].reduce ((p, n)-> p + '_'), ''
start = process.hrtime()
pattern.exec(target)
elapsed = process.hrtime(start)
@nidate
nidate / collection_name.sh
Created January 6, 2015 03:03
mongoDBでcollectionの一覧を取得する #一行野郎
mongo dbname --quiet --eval 'db.getCollectionNames().sort().join("\n")'
# mongo shellの 'show collections' はJavaScriptの命令ではないので、evalに渡せない。
# http://docs.mongodb.org/manual/reference/mongo-shell/#administrative-command-helpers
@nidate
nidate / sinon_stub.coffee
Last active August 29, 2015 14:11
Replace method by sinon.stub for testing
sinon = require 'sinon'
MongooseModel = require 'mongoosemodeldefinition'
describe 'when the mongoose document failed to save', ()->
stub = null
before (done)->
origSave = MongooseModel.prototype.save
createCount = 0
stub = sinon.stub MongooseModel.prototype, 'save', (cb)->
createCount += 1