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 / 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 / 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 / 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 / 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 / app.js
Created December 18, 2013 15:27
socket.io-reqev デモアプリ サーバー側 app.js
var IOReqEv = require('socket.io-reqev');
var ioReqEv = new IOReqEv(require('socket.io').listen(50000));
var Timer = require('./timer');
ioReqEv.register("/timer",new Timer());
//temporary web server
var static = require('node-static');
var file = new static.Server('.');
require('http').createServer(function (request, response) {
request.addListener('end', function () {
file.serve(request, response);
@takeshy
takeshy / timer.js
Last active December 31, 2015 17:59
socket.io-reqev用demo timer.js
var events = require('events');
var Timer = function(){
this.events = ["five","ten","thirty"];
var that = this;
setInterval(function (){
var now = new Date();
if(now.getSeconds() % 5 == 0){
that.emit("five", {time: now.toString()});
}
if(now.getSeconds() % 10 == 0){
@takeshy
takeshy / index.html
Created December 18, 2013 15:43
socket.io-reqev用demo index.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/underscore.js"></script>
<script type="text/javascript" src="js/backbone.js"></script>
<script type="text/javascript" src="js/socket.io.min.js"></script>
<script type="text/javascript" src="js/io-reqev-client.js"></script>
<title>sample</title>
</head>
def calc_month(t,n)
y = t.year
m = t.month + n
if m < 1
y += ((m-1)/12).floor
m = 12 + (m % -12)
elsif m > 12
y += (m/12).floor
m = ((m-1) % 12) + 1
end
@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 / readfile.vim
Last active September 3, 2016 04:52
javascriptでimport先のファイルやejsファイルをsplitで開く
function! ReadJSFile() abort
let s:currentPos = col('.')
let s:colNum = s:currentPos - 1
let s:lastPos = len(getline('.'))
let s:fileName = ''
while s:colNum > -1
if getline('.')[s:colNum] =~ "\['\"\]"
break
end