Skip to content

Instantly share code, notes, and snippets.

View rummelonp's full-sized avatar
🐈‍⬛
ニャーン

Kazuya Takeshima rummelonp

🐈‍⬛
ニャーン
View GitHub Profile
@rummelonp
rummelonp / deploy.rb
Created August 13, 2011 09:19
手元のGitリポジトリのprodブランチからrsync_with_remote_cacheを使ってrsyncでdeployする設定
# -*- coding: utf-8 -*-
set :application, "*** application name ***"
set :repository, "."
set :scm, :git
set :branch, "prod"
set :deploy_via, :rsync_with_remote_cache
role :app, "*** server address ***"
@rummelonp
rummelonp / TwitterUserstream.coffee
Created August 17, 2011 00:35 — forked from mizchi/TwitterUserstream.coffee
node.jsでuserstream
sys = require 'sys'
events = require 'events'
util = require 'util'
OAuth = require('oauth').OAuth
class TwitterUserstream extends events.EventEmitter
constructor: (args, initializer) ->
@consumerKey = args.consumerKey
@consumerSecret = args.consumerSecret
@accessToken = args.accessToken
@rummelonp
rummelonp / ikemen.rb
Created October 8, 2011 15:56
jpegからイケメン画像たくさん生成するやつ(Mac用
path = ARGV.shift
if File.exists?(path) && path.match(/^(.+)\.(jpe?g|jp2)$/)
filename = $1
ext = $2
files = []
10.times do |i|
10.times do |j|
if i != j
files << output = "#{filename}_ikemen_#{i}#{j}.#{ext}"
`cat #{path} | sed s/#{i}/#{j}/g > #{output}`
var unekointhehousenow = function(input) {
var copy = function(source, buffer, pointer) {
for (var i = 0, l = source.length; i < l; ++i) {
buffer[pointer + i] = source[i];
}
};
var tokens = input.match(/うーねこいんざおうちなうよー|うーねこ|いんざ|おうち|なうよー/g) || [];
var buffer = [0];
var pointer = 0;
@rummelonp
rummelonp / gist:1359904
Created November 12, 2011 02:09
JUnitでAssertを使わずSystem.out.printlnするひとに警告する
System.setOut(new PrintStream(new ByteArrayOutputStream()) {
@Override
public void println(String x) {
throw new RuntimeException("Assert使え(#゚Д゚)ゴルァ!!");
}
});
@rummelonp
rummelonp / hametsu1.js
Created November 30, 2011 16:44
JavaScript の this による破滅
(function() {
var Hametsu1;
Hametsu1 = (function() {
function Hametsu1() {
$(function() {
return $(document).delegate('a', 'click', this.say); // this が document を指すのであぼーん
});
}
@rummelonp
rummelonp / spinner.js.coffee
Created December 3, 2011 05:33
対象の要素をスピナー画像に置き換える的な
class Spinner
constructor: (element) ->
@element = element
@spinner = $('<div class="spinner"><img src="/assets/spinner.gif"></div>')
show: ->
@spinner.css
width: @element.width(),
height: @element.height()
@spinner.fadeIn()
@rummelonp
rummelonp / jquery-ujs.sample.md
Created December 13, 2011 02:25
jquery-ujs.js(rails.js)便利だよって話

jquery-ujs.js(rails.js)便利だよって話

自前でやる場合

JavaScript でクリックのイベント処理とか GET 以外ならトークンを含めるとか全部やらないといけないから面倒くさい

HTML

<a href="/some_action" class="some-action">some action</a>
@rummelonp
rummelonp / gist:1526643
Created December 28, 2011 06:04 — forked from uneco/gist:1333025
文字数が同じで意味が反対の英単語
slow 遅い
fast 速い
above より上に
below より下に
absolute 絶対的な
relative 相対的な
abstract 抽象的な

最近のタイムライン保存事情

TwitterのタイムラインはJSONで流れてくるので、JSONぽい形式でデータを突っ込むMongoDBと相性が良い。
今まではtimeline.logとして書き出してたけど、GB単位に膨らんだテキストファイル重すぎて扱いづらいし最近は専らMongoDBに流し込んでます。
全部保存しとくと、誰がいつどのtweetを消したとか分かって異常に便利。こわい。
全文検索したいときがあるので、ツイイトはわかち書きでsplitして配列としても入れといてます。
MongoDBは配列で保存出来て、配列内にインデックスを貼れるので、簡単にいい感じの検索機能が作れて楽しいですね。
TLの全保存やってる人自体はそこら中に居るだろうし目新しいことは特にないでした。