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 / gist:1096367
Created July 21, 2011 02:09
url unescape for vim
function GetCode(pos,str)
let s:pos = a:pos
let s:n_code = str2nr(strpart(a:str,s:pos,2),16)
let s:pos = s:pos + 2
"in a certain sns
"if s:n_code == 37
" let s:n_code = str2nr(strpart(s:line,s:pos,2),16)
" let s:pos = s:pos + 2
"endif
return [s:pos,s:n_code]
@takeshy
takeshy / gist:1277528
Created October 11, 2011 08:02
encodeがわからないファイルをcp932統一する
require 'nkf'
Dir.glob("c:/howm/2011/*/*.howm"){|g|
d = File.read(g)
File.open(g,"w"){|f|
f.write(d.force_encoding(NKF.guess(d)).encode("cp932"))
}
}
@takeshy
takeshy / hash_with_value_indifferent_access_spec.rb
Created November 12, 2011 17:01
HashWithValueIndifferentAccessのspec
require 'rspec'
require File.expand_path('../../hash_with_value_indifferent_access',__FILE__)
describe HashWithValueIndifferentAccess do
context "initialize" do
before do
@hash = HashWithValueIndifferentAccess.new({:a=>:b})
end
it "symbole value compare string value " do
@hash[:a].should == "b"
@takeshy
takeshy / hash_with_value_indifferent_access.rb
Created November 12, 2011 17:00
hashの値の比較にsymbolでも文字列でも同値とする
require 'forwardable'
class HashWithValueIndifferentAccess
extend Forwardable
attr_accessor :hash
def_delegators(:@hash,*({}.public_methods - Object.new.public_methods - ["[]","[]=","values","==","to_s"]))
def initialize(hash={})
@hash={}
hash.each do|k,v|
if v.is_a?(Symbol)
@takeshy
takeshy / gist:3040198
Created July 3, 2012 14:50
10枚中1枚が当たりがある中で、自分で1枚選んで、無作為に他の八枚を開いて当たりが途中で出た時は最初からやり直して、残り2枚になるまで開けた場合
#!/usr/bin/ruby
def init
(1..9).to_a.shuffle
end
success=0
failure=0
10000000.times do
@takeshy
takeshy / dinamic_reverse_proxy.js
Created December 28, 2012 08:28
http-proxyを使ったWebSocket対応のreverse proxy。 proxy先のHostの情報のJSONファイルを監視していて、変更があれば読み込むようになっているため動的にproxy先のサーバを変更できる。死活監視プログラムがJSONを作成すればFailOverが実現できる。
var http = require('http')
, httpProxy = require('http-proxy')
, Cookie = require('cookie')
, fs = require('fs');
var SERVERS_FILE_NAME = "servers.json"
var PROXY_PORT = 4000
var SERVERS = null;
var g_httpProxies = {};
@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({
@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 / 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 / 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);
});