May 21, 2013
「2と1は等しい」 数学界で論議

「2と1は等しい」 数学界で論議

May 21, 2013
"

6÷2(1+2)=?

この式は人の計算の仕方の違いが大きく出てくる。

"

6÷2(1+2)とは (ロクワルニカッコイチタスニカッコトジとは) [単語記事] - ニコニコ大百科

May 21, 2013
"「1=2=3ダー!!」
1=2 について、アントニオ猪木"

1=2 - アンサイクロペディア

May 21, 2013
"「納期が1日遅れると2日遅れる、2日遅れると4日遅れる」
1=2 について、IT関係者"

1=2 - アンサイクロペディア

May 21, 2013
"
「そして二人は、ひとつになった。」
1=2 について、官能小説
"

1=2 - アンサイクロペディア

May 21, 2013
(via haru012)

(via haru012)

May 21, 2013
ねこ (via haru012)

ねこ (via haru012)

May 21, 2013
"

──「うる星」の「ビューティフル・ドリーマー」のように原作とはちょっと離れた内容の映画は、ファンの間では長年議論の的になっていたりしますが。

あれは押井守監督の作品と割り切って、楽しく観ましたよ。

"

コミックナタリー - [Power Push] 「るーみっくわーるど35~SHOW TIME&ALL STAR~」高橋留美子画業35周年インタビュー (5/5)

(Source: katoyuu, via lovecake)

May 21, 2013
"

Jenkins おじさんと戯れること半日、うまくいったので備忘録を残しておく。

やりたかったのは Chef で構築したサーバーを Jenkins で CI する、というもの。このときサーバーはテストが終わる度に破棄して、テスト開始時に再度真っ新な状態から立ち上げたい。(こういうサーバーを壊して作ってというテストはなんという名前で呼ばれるのだろう?)

  • 仮想サーバーを破棄/作成をプログラマブルにやるのはもちろん Vagrant
  • プロビジョニングは Chef
  • Chef の環境を整えるのに knife-solo 0.3.0.pre3
  • テストは serverspec
  • コードは Github に上げる (https://github.com/naoya/jenkins-vagrant-test)
  • CI は Jenkins

という構成になっている。ひとまず Jenkins や Vagrant はローカルの OSX に入れている。

レポジトリ

プロビジョニング用レポジトリのディレクトリは、knife solo で作ったもの。Vagrantfile もその中に入れる。

% bundle exec knife solo init jenkins-vagrant-test
% cd jenkins-vagrant-test
% vagrant init centos

この辺は Chef Solo + Vagrant を使う際のいつもの様子。

Gemfile

レポジトリ内に Gemfile を作って CI に必要な gem を列挙しておく。

source 'https://rubygems.org'

gem "knife-solo", "~> 0.3.0.pre3"
gem 'serverspec'
gem 'rake'
gem 'ci_reporter'

RSpec の出力を Jenkins 用にカスタマイズするため ci_reporter も入れておこう。

serverspec でテストを書いてレシピを書く。

特に変わったことはしていない。いつも通り

ci_reporter で出力を出すためには serverspec の Rakefile に

require 'ci/reporter/rake/rspec'

を追記しとく。これで rake ci:setup:rspec spec で Jenkins が読める XML でのレポートが、テスト実行時に spec/reports/*.xml に吐き出される。

SSH 周りをどうするか

細かい話なのだけど、この構成で CI を回そうとするときに問題になるのが SSH 周りの設定。knife-solo も serverspec も Vagrant で立ち上げた仮想サーバーに ssh してごにょごにょするツールですが全部自動化しようとすると vagrant up したサーバーをどうやって名前解決するかというところで困る。

幸い

  • Vagrant には vagrant ssh-config で ssh 設定を出力するオプションがあり
  • knife solo には ssh 設定ファイルを指定するオプション (-F) があり
  • serverspec は serverspec 本体を弄らなくても Net::SSH のオプションを触れる構成になっている

ので、vagrant ssh-config の出力をファイルに吐き出してそれを両者に読み込ませるようにすれば、課題は解決できる。つまり、Jenkins のビルド設定のシェルスクリプトは以下になる。

# 仮想サーバー起動
vagrant up

# ssh 設定を出力
vagrant ssh-config --host=jenkingrant > vagrant-ssh.conf

# gem 入れる
bundle

# bootstrap = prepare + cook : Chef入れてクックブック適用
bundle exec knife solo bootstrap jenkingrant -F vagrant-ssh.conf

# serverspec でテスト実行
bundle exec rake ci:setup:rspec spec

# 設定ファイル削除
rm -f vagrant-ssh.conf

# 仮想サーバー破棄
vagrant destroy -f

serverspec の ssh 設定周りは spec/spec_helper.rb で Net::SSH::Config.for を読んでるところを

options = Net::SSH::Config.for(c.host, files=["vagrant-ssh.conf"])

とする。これで引数に与えたファイルも ssh の設定として使われる。

Jenkins 周りの設定

Git プラグインを入れて、ビルドの際に github からコードを取ってくるように設定し、ビルドの設定に先のシェルを入れている。特に変わったことはしていない。

f:id:naoya:20130520215201p:image:w480

これでビルドを実行すると Github のコードが pull されて、vagrant up で仮想サーバーが立ち上がり、Bundler で必要な gem が入って、knife solo でノードの Chef が最新になり、クックブックが適用されたノードに serverspec が走り、テストに問題なければサーバーが破棄される。この一連のテストは仮想サーバーの上げ下げそのほかがあって時間がかかるので CI に任せるのうってつけ。

f:id:naoya:20130520215649p:image:w480

普段クックブックを調整してその場でテストを回すのにはあらかじめ仮想サーバーを立てておいたものに、差分のクックブックを適用して serverspec でテスト、サーバーは破棄しない・・・みたいなのを Guard や Grunt なんかを使ってテスト保存のたびカジュアルに回す。一方、調整が終わったクックブックは他のクックブック含め真っ新なサーバーに適用してがっちりインテグレーションテストしてみないと予想外のことが起こるかもしれない。そのための CI をしたかった、というわけでした。

サーバー構築も継続的インテグレーションする時代です。

"

http://d.hatena.ne.jp/naoya/20130520/1369054828 (via redtower)

(via act2012bl)

May 21, 2013

(Source: theamericankid)

May 21, 2013
"自分がこういう人間だ、という考えを積極的に裏切らないと駄目ですよ"

Twitter / hazy moon (via hanemimi) (via kawabauer) (via tetris) (via thinkupstudio) (via nemoi) (via konishiroku) (via yaruo) (via lickkane)

定義づけされた他人の評価を確固たる自分の定義づけにしてしまう例 エリートは手におえない

(via kisato2clipnews)

(via nozma) (via konishiroku) (via petapeta)

(via tsutomuonoda) (via cubeon) (via tokunoriben) (via kiri2)

May 21, 2013

買収か

May 21, 2013

Flickr 雰囲気が変わった

May 20, 2013
Amazon.co.jp: アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229)): フィリップ・K・ディック, カバーデザイン:土井宏明(ポジトロン), 浅倉久志: 本

ジャケ買い。テーマに、人間とは?、共感、親切が織り込まれているらしい。

Amazon.co.jp: アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229)): フィリップ・K・ディック, カバーデザイン:土井宏明(ポジトロン), 浅倉久志: 本

ジャケ買い。テーマに、人間とは?、共感、親切が織り込まれているらしい。

May 20, 2013
haru012:

babie:

thata:

haru012:


send:


umelabo:

ulVAisddj32v2su22XnLZ9Ru_500.jpg

haru012:

babie:

thata:

haru012:

send:

umelabo:

ulVAisddj32v2su22XnLZ9Ru_500.jpg