- Scott Chacon on the Interwebs(リンク切れ)
- Scott Chacon on the Interwebs
- GitHub Flow - The best way to use Git and GitHub
31 Aug 2011
コンテナは、軽量な仮想化技術です。これはQemuやVMwareのような完全仮想化に比べると、どちらかというと拡張されたchrootに似ています。なぜなら、コンテナはハードウェアをエミュレートしたりせず、ホストと同じOSを共有するからです。なのでコンテナは、SolarisのzoneやBSDのjailと比べて優れています。Linux-vserverとOpenVZの二つが、現在のところ既に存在している独立して実装されているLinux機能のコンテナ実装です。実はコンテナは、vserverとOpenVZの機能の上位互換を開発するための仕事の延長で登場しました。いくつかのvserverとOpenVZの機能は現在のコンテナではまだ実装されていませんが、コンテナは多くのLinuxディストリビューションを起動(boot)することができ、upstreamカーネルの変更なしで利用することができるという利点があります。
コンテナのユーザー領域の実装には、カーネルの同じ機能を利用した二つの方法があります。Libvirtは、「lxc:///」に接続してLXCドライバー経由でコンテナへのアクセスを許可します。この仕組みは他のドライバーと同じ使い方をサポートしているので、非常に使い勝手の良いものになるでしょう。もう一つのコンテナ実装は、単純に「LXC」と呼ばれるものです。これはlibvirtとは互換性はありませんが、より多くのユーザー領域ツールによってより柔軟に使うことができます。これは、少し混乱を生む特異な部分もありますが、二つのLXC間での入れ替えも可能になります。
このドキュメントでは主にlxcパッケージについて記述します。あとは、ドキュメントの最後の辺りにかけてlibvirt LXCドライバーについても記述します。
このドキュメントでは、コンテナの名前はCN、C1、そしてC2として説明します。
{sys, [ | |
{lib_dirs, ["../deps"]}, %% depsを追加 | |
{erts, [{mod_cond, derived}, {app_file, strip}]}, | |
{app_file, strip}, | |
{rel, "hogeapplication", "0.1", | |
[ | |
%% 標準で使うライブラリも全て追加 | |
kernel, | |
stdlib, | |
sasl, |
use strict; | |
use warnings; | |
use Digest::SHA; | |
# Using sha256 algorism | |
our $ctx = Digest::SHA->new(256); | |
sub bit_to_digest { | |
my ($bits) = @_; |
#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に感謝したいと思う
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
#### sphinx part. same as build.py | |
from sphinx.websupport import WebSupport | |
from sphinx.websupport.errors import DocumentNotFoundError | |
from sphinx.websupport.search import whooshsearch | |
from sphinx.websupport.storage.sqlalchemystorage import SQLAlchemyStorage |
// fizzbuzz without if statement and % operator. | |
class FizzBuzz { | |
public static void main (String [] args) { | |
for(int i=1; i<100; i++){ test(i); } | |
} | |
private static void test(int num) { | |
System.out.println(num+":"+bark(isMultiple(num))); | |
} |