Skip to content

Instantly share code, notes, and snippets.

View FL4TLiN3's full-sized avatar

Masaaki Hirano FL4TLiN3

  • Wintermute LLC
  • Tokyo, Japan
View GitHub Profile
@FL4TLiN3
FL4TLiN3 / git.md
Created November 16, 2012 09:45
git関連Tips集
@FL4TLiN3
FL4TLiN3 / gist:4086110
Created November 16, 2012 10:02 — forked from lucasfais/gist:1207002
Sublime Text 2 - Useful Shortcuts

Sublime Text 2 – Useful Shortcuts (Mac OS X)

General

⌘T go to file
⌘⌃P go to project
⌘R go to methods
⌃G go to line
⌘KB toggle side bar
⌘⇧P command prompt
@FL4TLiN3
FL4TLiN3 / dir-lookup.js
Created December 25, 2012 12:57
Node.jsで同期的かつ再帰的にディレクトリのルックアップをしてみた。
var fs = require('fs'),
path = require('path');
(function (dir) {
fs.readdirSync(dir).forEach(function (item) {
var stat = fs.statSync(path.join(dir, item));
if (stat.isFile()) require(path.join(dir, item));
else if (stat.isDirectory()) arguments.callee.caller(path.join(dir, item));
});
})('./lib/some/dir');
@FL4TLiN3
FL4TLiN3 / lazyloader.js
Created February 8, 2013 09:45
こんなかんじですかねえ…。
(function (global) {
var dosomething = function () {
alert('do something');
};
var items = [], element,
i, size, waitForLoad,
interval = 100;
items.push('https://www.google.co.jp/extern_chrome/dd37e4e7f3ce9237.js');
items.push('https://www.google.co.jp/images/nav_logo117.png');
@FL4TLiN3
FL4TLiN3 / directories.js
Created May 15, 2013 08:59
呼び出し元モジュールは結構忘れる。
#!/usr/bin/env node
var path = require('path');
// Current Working Directory
console.log(process.cwd());
// dirname of this file
console.log(__dirname);
@FL4TLiN3
FL4TLiN3 / index.html
Created May 29, 2013 03:38
require.jsはmainモジュールを呼び出すscriptタグ以外にdata-main属性を持つscriptタグがドキュメント中に存在している場合、死ぬ。 流石にどうにか出来ないかと思ったので、呼び出し先のjavascript内で呼び元のscriptタグを一意に参照出来ないか考えてみた。 このサンプルは同期的にDOMが評価されている場合、うまい事動く。
<html>
<head>
<title>Find Caller Script Tag Sample</title>
<script src="main.js" data-main="foo.js"></script>
</head>
<body>
</body>
</html>
@FL4TLiN3
FL4TLiN3 / bookmark.js
Created June 1, 2013 19:17
mongooseでmodelを1ファイルに分割しようとすると、modelを定義したmoduleのmodule cacheがcleanされたあとまたrequireするとOverwriteModelErrorが発生して死ぬ。mochaを使っている場合深刻で、なんかよく分からないmodule cacheの消し方するからwatchオプション使うととんでもないことになる。なので、以下のコードのように、schemaをregisterするタイミングを少しいじってやる必要がある。
var dateUtil = require('dateUtil'),
mongoose = require('mongoose'),
Schema = mongoose.Schema;
var BookmarkSchema = new Schema({
url: { type: String, required: true },
isDeleted: Boolean,
createAt: Date,
updateAt: Date,
deleteAt: Date
@FL4TLiN3
FL4TLiN3 / digest.js
Created June 10, 2013 11:11
さくっとhexed MD5が取りたいときに。
// node digest.js string_to_digest
var crypto = require('crypto');
var name = process.argv[2];
var hash = crypto.createHash('md5').update(name).digest("hex");
console.log(hash);
# dump variables
use Data::Dumper;
print Dumper($foo, $bar);
# log-out
user MLog;
MLog::write("path/to/file.log", "ab");
MLog::write("$_::LOG_DIR/hirano.debug", Dumper($variable));
# unlock read-only state