Skip to content

Instantly share code, notes, and snippets.

@kjirou
kjirou / settings.py
Last active December 10, 2015 18:08
DjangoでWebサーバが開発用か否かを判定したい
# 今は設定値にして、環境別に値を変えている
# 'development' or 'apache' or 'nginx'
WEB_SERVER = 'development'
class Foo
constructor (arg1, arg2):
class Bar extends Foo
constructor (args...):
super args... # Call super() with all args
@kjirou
kjirou / clear_backbone_localstorage.coffee
Created August 22, 2013 02:45
It's bugged. findAll() can't find all localStorage keys of some Model. In the case, Backbone.LocalStorage requires to use Collection.
# Clear all data in localStorage about some model class.
@clearLocalStorage = (modelClass) ->
# Must create a model instance for to sync localStorage.records.
# (But is also a target that you want to delete it!
# Backbone.LocalStorage is not good so much...)
accessor = new modelClass
for modelAttrs in accessor.localStorage.findAll()
target = new modelClass(id: modelAttrs.id)
accessor.localStorage.destroy target
# Search real event emitter from `event.target`.
#
# e.g.
# $('<div class="setter"><div><span>Button</span></div></div>')
# .click (event) ->
# $emitter = findEventEmitterElement(event.target, '.setter:first')
@findEventEmitterElement = (eventTarget, selector) ->
$target = $(eventTarget).parents(selector)
if $target.length is 1
$target
@kjirou
kjirou / timer.js
Last active December 21, 2015 16:39
個別のインターバルを持つ複数のタスクを時間通りに起動させるための、Timerクラスの設計メモ
//
// Timerクラスからは以下を分離したい
//
// - setTimeout/clearTimeout の実行
// - new Date の実行
//
var timer = new Timer();
// タスクを登録。'タスクID', インターバル(ms), コールバック
@kjirou
kjirou / inspect.js
Last active December 22, 2015 19:29
A shortcut of `console.log(util.inspect(obj, ..))`
var util = require("util");
var inspect = function(obj, depth){
depth = depth || 0;
console.log(util.inspect(obj, false, depth));
};
# Choice randomly according to ratios
#
# e.g.
#
# ratioMap=[[1.0, 'x'], [2.0, 'y'], [3.0, 'z']]
# -> x=1/6, y=2/6, z=3/6
#
# Can also write like this:
# ratioMap={ x:1.0, y:2.0, z:3.0 }
#
@kjirou
kjirou / expand_object_in_args.coffee
Created September 22, 2013 23:35
引数定義内でオブジェクトを変数に展開できる
func = ({foo:x, bar:y}) -> console.log x, y
func({foo:1, bar:2}) # -> "1 2"
func = ([a, b]) -> console.log a, b
func([3, 4]) # -> "3 4"
@kjirou
kjirou / spec_memo.rb
Created October 22, 2013 05:04
RSpecの使い方メモ
#
# RSpec の動作確認
#
shared_context '_dummy' do
# letは遅延評価で値をキャッシュする
let(:some_value) { 'Some value' }
end
shared_context '_create_rspec_test_user' do
User.create!(name: 'RSpec test user')
@kjirou
kjirou / proc_and_lambda.rb
Created October 25, 2013 02:54
Procとlambdaの挙動の違いの一部 Ref) http://d.hatena.ne.jp/shunsuk/20090101/1230816826
def proc_return
Proc.new { return "In Proc.new" }.call
return "proc_return method finished"
end
def lambda_return
lambda { return "In lambda" }.call
return "lambda_return method finished"
end