Skip to content

Instantly share code, notes, and snippets.

View takeshy's full-sized avatar

takeshy takeshy

  • Sun Asterisk
  • Yokohama
View GitHub Profile
@takeshy
takeshy / database.rb
Last active December 26, 2015 20:48
database wrapper for mysql2 and sqlite3 and postgresql
require 'yaml'
require 'logger'
RAILS_ENV = ENV["RAILS_ENV"] || "development"
ROOT = File.dirname(File.expand_path("../",__FILE__))
DB_SETTING = YAML.load_file(ROOT + "/config/database.yml")[RAILS_ENV]
class DataBaseWrapper
attr_reader :client
def initialize(log = Logger.new(STDOUT))
@log = log
case DB_SETTING["adapter"]
@takeshy
takeshy / battle.coffee
Created September 28, 2013 09:55
第14回 オフラインリアルタイムどう書く http://nabetani.sakura.ne.jp/hena/ord14linedung/
Weapons = ['a','c', 'e', 'g', 'i', 'k']
class Monster
@Weak =
'B': 'a'
'D': 'c'
'F': 'e'
'H': 'g'
'J': 'i'
'L': 'k'
@takeshy
takeshy / summer_time.js
Last active December 22, 2015 00:00
check if Daylight Saving Time using JavaScript. 夏時間判定
//3月の第2日曜日
function summerTimeStart(y){
var first = new Date(y,2,8);
var i = 9;
while(first.getDay() != 0){
first = new Date(first.setDate(i++));
}
return first;
}
//11月の第1日曜日
@takeshy
takeshy / app.js
Last active December 17, 2015 23:29
asset pipline & minify & gzip and s3 upload for node.js
require('./lib/compiled');
app.configure('development', function(){
var Mincer = require('mincer');
var environment = new Mincer.Environment();
environment.appendPath(__dirname + '/app/assets/javascripts');
app.use('/assets', Mincer.createServer(environment));
ASSET_JS_PATH = null
});
app.get('/', index);
@takeshy
takeshy / search_no_use_port.js
Created March 21, 2013 09:26
node.jsで使っていないポートを取得する
function getPort(host,port,maxPort,callback) {
var net = require('net');
var socket = new net.Socket();
socket.on('error', function(e) {
if(e.code == 'ECONNREFUSED'){
callback(null, port);
return;
}
loop(++port);
});
@takeshy
takeshy / .mongorc.js
Last active March 19, 2016 12:02
現在の時間から指定された秒より前のISODateを作成して、Mongo Shellで検索しやすくする
function zp(num){
return(num < 10 ? "0"+num.toString() : num.toString());
}
function toISODate(d){
return ISODate(d.getUTCFullYear() + "-" + zp(d.getUTCMonth() + 1) + "-" + zp(d.getUTCDate()) + "T"+zp(d.getUTCHours()) + ":" + zp(d.getUTCMinutes()) + ":" + zp(d.getUTCSeconds()));
}
function before(n){
return toISODate(new Date(Date.now() - n * 1000));
}
//accessコレクションのTimeフィールドのDataが600秒(10分)以内のレコードを検索
@takeshy
takeshy / app.js
Last active December 26, 2017 23:56
Node.js with Backbone.js for CSRF Protection
app.use(express.session());
app.use(express.csrf());
app.get('/', index);
index = function(req,res,next){
res.render('index',{token: req.session._csrf});
}
@takeshy
takeshy / view.html
Created December 31, 2012 03:26
Backbone.jsのView機能をローカルで実現できるようにしたSample
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>
<script type="text/javascript" src="https://raw.github.com/LearnBoost/socket.io-client/master/dist/socket.io.min.js"></script>
<script type="text/javascript" src="http://backbonejs.org/backbone-min.js"></script>
<script type="text/javascript">
jQuery(function() {
@takeshy
takeshy / model.html
Created December 31, 2012 03:25
Backbone.jsのModel機能をローカルで実現できるようにしたsample
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>
<script type="text/javascript" src="https://raw.github.com/LearnBoost/socket.io-client/master/dist/socket.io.min.js"></script>
<script type="text/javascript" src="http://backbonejs.org/backbone-min.js"></script>
<script type="text/javascript">
var ExampleModel = Backbone.Model.extend({
@takeshy
takeshy / route.html
Created December 31, 2012 02:56
Backbone.jsのroute機能をlocalで実行できるsample
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>
<script type="text/javascript" src="https://raw.github.com/LearnBoost/socket.io-client/master/dist/socket.io.min.js"></script>
<script type="text/javascript" src="http://backbonejs.org/backbone-min.js"></script>
<script type="text/javascript">
var ExampleRouter = Backbone.Router.extend({