Skip to content

Instantly share code, notes, and snippets.

"set paste
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,iso-2022-jp,euc-jp,cp932,latin1
"" 自動改行を OFF にする
set tw=0
syntax on
"Zenkaku space highlig
@saicologic
saicologic / gist:798225
Created January 27, 2011 08:05
ring_buffer.py
from collections import deque
class RingBuffer(deque):
def __init__(self, size):
deque.__init__(self)
self.size = size
import shlex
from eventlet.green import subprocess
mail = {}
mail['from'] = 'yourname@example.com'
mail['to'] = 'yourname@example.com'
mail['subject'] = 'test mail'
mail['body'] = 'test'
command_line = 'echo "From: <%s>\nTo: <%s>\nSubject:%s\n%s"' % (mail['from'],mail['to'],mail['subject'],mail['body'])
@saicologic
saicologic / platform.sh
Created June 7, 2011 09:42 — forked from unakatsuo/gist:537584
fork of s3-bash
#!/bin/bash
if [ `uname` = "SunOS" ]; then
alias grep='/usr/gnu/bin/grep'
fi
@saicologic
saicologic / gist:1170287
Created August 25, 2011 09:04 — forked from unakatsuo/gist:1165990
Simple state transition check code.
class StateTrack
def initialize
@state = :initialized
end
# Expected state transition:
# :initialized -> :starting -> :running -> :shuttingdown -> :terminated
def process_event(ev, *args)
case [ev, @state]
when [:on_start, :initialized]
@saicologic
saicologic / verify.rb
Created October 25, 2011 07:50
AmazonSES verify email
require 'rubygems'
require 'aws/ses'
require 'optparse'
config = {}
ARGV.options do |opts|
opts.on("-a", "--access_key ACCESS_KEY", "set access_key") do |access_key|
config[:access_key_id] = access_key
end
opts.on("-s", "--secret_key SECRET_KEY", "set secret_key") do |secret_key|
@saicologic
saicologic / sendmail.rb
Created October 25, 2011 07:51
AmazonSES send email for test
require 'rubygems'
require 'aws/ses'
require 'optparse'
config = {}
ARGV.options do |opts|
opts.on("-a", "--access_key ACCESS_KEY", "set access_key") do |access_key|
config[:access_key_id] = access_key
end
opts.on("-s", "--secret_key SECRET_KEY", "set secret_key") do |secret_key|
@saicologic
saicologic / dozens.rb
Created March 31, 2012 02:28 — forked from chsh/dozens.rb
Ruby class to access Dozens API.
require 'net/http'
require 'uri'
require 'json'
class Dozens
API_BASE = 'http://dozens.jp/api/'
ZONE_BASE = API_BASE + 'zone'
RECORD_BASE = API_BASE + 'record'

#NoSQLデータモデリング技法

原文:NoSQL Data Modeling Techniques « Highly Scalable Blog

I translated this article for study. contact matope[dot]ono[gmail] if any problem.

NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基本的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティックな理論に欠けている。本稿で、私はデータモデリングの視点からのNoSQLシステムファミリーの短い比較といくつかの共通するモデリングテクニックの要約を解説したい。

本稿をレビューして文法を清書してくれたDaniel Kirkdorfferに感謝したいと思う

@saicologic
saicologic / app.rb
Created May 14, 2012 07:16 — forked from mfojtik/app.rb
sinatra with simple worker and queue
require 'rack'
require 'sinatra/base'
require 'uuidtools'
require 'rest-client'
require 'eventmachine'
require 'json'
require_relative './cache'
class Worker < EM::Connection
attr_reader :query