This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const insertItem = (xs, index, item) => [...xs.slice(0, index), item, ...xs.slice(index)]; | |
const range = number => [...Array(number).keys()]; | |
const permutate = (xs, accum = []) => { | |
const [head, ...tail] = xs; | |
if (!head) { | |
return accum; | |
} | |
return accum.length === 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const pad = (leftOrRight = 'left') => maxLength => char => value => { | |
const strValue = typeof value === 'number' ? value.toString() : value; | |
if (strValue.length >= maxLength) { | |
return strValue; | |
} | |
if (typeof maxLength !== 'number') { | |
throw new Error('maxLength should be a number'); | |
} | |
const padding = Array(maxLength - strValue.length) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func splitByRegexp(str string, separator string) []string { | |
normalRe := "[^%s]*[%s]" | |
rawRe := `[^%s]*[%s]` | |
var re *regexp.Regexp | |
if strings.Index(separator, `\\`) > -1 { | |
re = regexp.MustCompile(fmt.Sprintf(normalRe, separator, separator)) | |
} else { | |
re = regexp.MustCompile(fmt.Sprintf(rawRe, separator, separator)) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
async (callback) => { | |
const { err, ...result } = await asyncCode().catch(e => ({ err: e })); | |
if (err) { | |
callback(err); | |
return; | |
} | |
callback(null, result); | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
async (callback) => { | |
try { | |
const result = await asyncCode(); | |
callback(null, result) | |
} | |
catch (e) { | |
callback(e) | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
async (callback) => { | |
const result = await asyncCode(); | |
callback(null, result) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//ミドルウェアでやる場合 | |
app.configure(function(){ | |
//・・・(略)・・・ | |
app.use(function (req, res, next) { | |
app.locals.message = req.session.message; | |
next(); | |
}); | |
//・・・(略)・・・ | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# run with 'coffee jadewatch.coffee dirname' | |
fs = require 'fs' | |
if process.argv.length < 3 | |
console.log 'Aborted: arguments are too short.' | |
return | |
else | |
child_process = require('child_process') | |
child_process.exec "ps", (err,stdout,stderr)-> | |
if stdout.indexOf("coffee jadewatch.coffee") < 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This snippet is inspired by edwardhotchkiss's mongoose-paginate (https://github.com/edwardhotchkiss/mongoose-paginate) | |
# and works with any methods like where, desc, poulate, etc. | |
# | |
# paginate method must be called at the end of method chains. | |
# | |
# paginate = require 'paginate' | |
# model | |
# .find() | |
# .desc("_id") | |
# .populate("some_field") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
formidable = require 'formidable' | |
app.configure ()-> | |
app.set 'views', __dirname + '/views' | |
app.set 'view engine', 'jade' | |
app.use (req, res, next)-> | |
contentType = req.headers['content-type'] | |
if contentType? && contentType.match /multipart\/form-data/ | |
form = new formidable.IncomingForm() | |
form.uploadDir = __dirname + '/temp' |