Instantly share code, notes, and snippets.

🏄
Chilling out

ducci msroz

  • Japan
View GitHub Profile
View memo.md
View NoSQLデータモデリング技法.markdown

#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に感謝したいと思う

View msgpack_sample.rb
require 'msgpack'
require 'base64'
require 'awesome_print'
-> {
#
# Serialize Image
# - MessagePack
# - Base64
#
View gist:44bd82c3a054196b536605d4fb74b780
require 'active_hash'
require 'awesome_print'
require 'graphql'
class Category < ActiveHash::Base
include ActiveHash::Associations
fields :title, :body, :posts, :featured
has_many :posts
View 01_definitions__user.proto
syntax = 'proto3';
message User {
string first_name = 1;
string last_name = 2;
}
View gist:fa97847be9c4bba3eec90776ea539697

トランザクション&ロック初級

本演習はDatabase:testを用いて行うこと。演習では2つのターミナルで各々mysql clientでDatabase:testに接続すること。

タイムスケジュール目安(122分)

演習:自動コミット(演習分)(解説2分)
演習:手動コミット(commit編)(演習5分)(解説2分)
演習:手動コミット(rollback編)(演習5分)(解説2分)
演習:悲観ロック(SELECT FOR UPDATE)(演習5分)(解説2分)
演習:ロック(一般的なINSERT、UPDATE)(演習5分)(解説2分)
Question ロストアップデート対策(回答15分)(解説5分)

View puma.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides: pumacontrol
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Puma web server
View license-badges.md

Markdown License badges

Collection of License badges for your Project's README file.
This list includes the most common open source and open data licenses.
Easily copy and paste the code under the badges into your Markdown files.

Notes

View temp_vim.rb
require "tempfile"
class Editor
def self.edit(template = nil) # : String
f = Tempfile.new("hoge")
f.puts "hoge"
f.close
system "vim #{f.path}"
puts File.read f.path
View 00_image_info.pl
#!/usr/bine/env perl
use v5.20.1;
use warnings;
use Image::Info qw/image_info/;
use Data::Dumper;
use Text::ASCIITable;
my @images = qw{
img/jpeg.jpeg
img/gif.gif