Skip to content

Instantly share code, notes, and snippets.

Avatar

Masatomo Nakano masatomo

View GitHub Profile
View gist:3236060
feature_branch() {
if [ "${1}" = "" ]; then
echo "${0} <new feature branch name>"
return
fi
branch_name="`date '+%d%m%y'`_${1}"
git co -b ${branch_name} master
git push
git branch --set-upstream ${branch_name} origin/${branch_name}
@masatomo
masatomo / gist:985082
Created May 22, 2011
fix bulkloader.py to dump multiple Kinds
View gist:985082
--- bulkloader.py.org 2011-05-22 02:27:56.000000000 +0100
+++ bulkloader.py 2011-05-22 02:21:17.000000000 +0100
@@ -3121,7 +3121,7 @@
"""
self.app_id = arg_dict['application']
self.post_url = arg_dict['url']
- self.kind = arg_dict['kind']
+ self.kind = ParseKind(arg_dict['kind'])
self.batch_size = arg_dict['batch_size']
self.input_generator_factory = input_generator_factory
@masatomo
masatomo / gist:951199
Created May 2, 2011
logging POST body in Google App Engine
View gist:951199
class LoggerMiddleware(object):
def __init__(self, app):
self.app = app
def __call__(self, env, start_response):
request = webapp.Request(env)
if request.body:
logging.info(request.body)
return self.app(env, start_response)
@masatomo
masatomo / sequence.rb
Created Dec 6, 2010
adds a feature to set sequence number to Mongoid::Document
View sequence.rb
# encoding: utf-8
module Mongoid #:nodoc:
# Include this module to add automatic sequence feature
# usage:
# Class KlassName
# include Mongoid::Document
# include Mongoid::Sequence
# ...
# field :number, :type=>Integer
# sequence :number
View 外部キーっぽいのに外部キーが張られてないカラムをさがすSQL for PostgreSQL
SELECT d.nspname, b.relname, h.attname FROM pg_class b
JOIN pg_namespace d ON b.relnamespace=d.oid
join pg_attribute h on (b.oid=h.attrelid)
where b.relkind='r' and h.attname like '%_id'
and not exists (select true from pg_constraint e
join pg_class f on (f.oid=e.conrelid) where e.conrelid = b.oid and e.contype='f') and h.attnum > 0
and d.nspname not in ('pg_catalog', 'information_schema');
View my question!
doc1: {"num": [3, 10, 25], "type": "A"}
doc2: {"num": [1, 2, 3, 5], "type": "B"}
doc3: {"num": [5, 6, 7, 1], "type": "A"}
At the moment, i can do that something like:
db.something.find({"type": "A"}, {"num": 1})
I get something like:
"num": [5, 6, 7, 1]
"num": [3, 10, 25]
View gist:316497
check process resque-scheduler with pidfile /usr/local/app/APPLICATION/shared/pids/resque_scheduler.pid
group resque_scheduler
start program = "/usr/local/app/APPLICATION/current/script/resque_scheduler start"
stop program = "/usr/local/app/APPLICATION/current/script/resque_scheduler stop"
View gist:316496
#!/bin/sh
# resque_scheduler wrapper for monit
# see also http://mmonit.com/wiki/Monit/FAQ#pidfile
usage()
{
echo "usage: ${0} {start|stop}"
exit 1
}
View monit config for resque
set httpd port 2812
allow 192.168.123.0/24 # allow localhost to connect to the server and
set daemon 120 # check services at 2-minute intervals
with start delay 240 # optional: delay the first check by 4-minutes
# (by default check immediately after monit start)
set logfile syslog facility log_daemon
set idfile /usr/local/app/APPLICATION/shared/monit.id
View resque wrapper for monit
#!/bin/sh
# resque wrapper for monit
# see also http://mmonit.com/wiki/Monit/FAQ#pidfile
usage()
{
echo "usage: ${0} {start|stop} <any_process_keyword>"
exit 1
}