Skip to content

Instantly share code, notes, and snippets.

@googya
googya / faye_server.ru
Created October 21, 2012 03:58
faye server
require 'faye'
require File.expand_path('../config/initializers/faye_token.rb', __FILE__)
require 'logger'
class ServerAuth
def incoming(message, callback)
if message['channel'] !~ %r{^/meta/}
if message['ext']['auth_token'] != FAYE_TOKEN
message['error'] = 'Invalid authentication token'
end
@googya
googya / deploy.rb
Created November 22, 2012 09:34 — forked from bkutil/deploy.rb
Start and Stop tasks for resque workers and resque scheduler with capistrano deploy hook (without God)
after "deploy:symlink", "deploy:restart_workers"
after "deploy:restart_workers", "deploy:restart_scheduler"
##
# Rake helper task.
# http://pastie.org/255489
# http://geminstallthat.wordpress.com/2008/01/27/rake-tasks-through-capistrano/
# http://ananelson.com/said/on/2007/12/30/remote-rake-tasks-with-capistrano/
def run_remote_rake(rake_cmd)
rake_args = ENV['RAKE_ARGS'].to_s.split(',')
if [ "$(id -u)" -eq "0" ]; then
echo "This script should not be run as root"
exit 1
fi
sudo apt-get update
sudo apt-get install gcc -y
sudo apt-get install language-pack-zh-hant -y
sudo apt-get install language-pack-zh-hans -y
@googya
googya / profile_tool.rb
Created January 16, 2013 12:46
profile_tool
def profile_tool(msg, &block)
start_time = Time.now
res = block.call
end_time = Time.now
elapsed = (end_time - start_time).to_f * 1000
Rails.logger.debug "profile #{msg}, #{elapsed}"
res
end
@googya
googya / 缓存.rb
Created January 18, 2013 09:32
缓存查出来的结果,避免再次查询
def get_asset_with_type(type)
unless @_assets
@_assets = self.assets.each_with_object({}) do |asset, result|
result[asset.file_type] = asset
end
end
@_assets[type]
end
@googya
googya / apache.conf
Created January 23, 2013 09:38
设定web的访问路径, 内网以及外网
<VirtualHost 192.168.10.1:82 220.222.222.222:82>
ServerName csco-show.pro-preview.com
DocumentRoot /srv/backend/current/public
Header set Access-Control-Allow-Origin "*"
<Directory /srv/backend/current/public>
Options FollowSymLinks
AllowOverride None
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
<OperationRequest>
<HTTPHeaders>
<Header Name="UserAgent" Value="Jeff/0.6.0 (Language=Ruby; leslie.local)"/>
</HTTPHeaders>
<RequestId>998a4ff1-2fd4-4462-8ee5-ece3a81089d1</RequestId>
<Arguments>
<Argument Name="Operation" Value="ItemSearch"/>
<Argument Name="Service" Value="AWSECommerceService"/>
<Argument Name="Signature" Value="jamK2vX4ip8A9N3omj3wKUcOHAb3QdTY4l1V8mVjeSA="/>
@googya
googya / rewrite_hash.rb
Last active December 14, 2015 19:09
重写hash的键
para_options = params.slice(:search_index, :operation, :keywords)
# options = para_options.inject({}){|h, (k,v)| h[k.camelize] = v; h }
options = para_options.each_with_object({}){|(k,v), h| h[k.camelize] = v }
@googya
googya / download_oracle_summit.js
Last active December 23, 2015 08:09
download http://www.oracle.com/technetwork/java/javase/community/jvmls2013-2013900.html video and pdf, using underscore request jquery async exec etc..
var _u = require('underscore')
var request = require('request')
var $ = require('jquery')
var fs = require('fs');
var async = require('async');
var _url = require('url');
var http = require('http')
var exec = require('child_process').exec;
var spawn = require('child_process').spawn;
@googya
googya / ruby_method_call_flow.d
Created November 19, 2013 12:25
ruby 方法执行过程, 估计还有问题, 没看到栈的调用
#!/usr/sbin/dtrace -Zs
#pragma D option quiet
#pragma D option switchrate=10
self int depth;
ruby*:::method-entry
/pid == $target/
{