2014年8月31日日曜日

rspec 関連


rspec doc (Relish)Better Specs

とりあえず、この辺りをまねしてみる。
RailsのテストフレームワークRSpecの基礎知識

テストの実行が、よりスムーズになるように
Setup Rails 4.1, Spring, Rspec, and Guard

matchers
Built in matchers (Relish)
Matchers (apidoc)

■ APIのテスト
Request spec を利用するのがポイント。
Rails API Testing Best Practices
Rails でつくる API のテストの書き方(RSpec + FactoryGirl)

dockerメモ


かなり、中途半端な状態です。


docker インストール
yum (repo?) でインストール
chef recipe 作成

docker の起動権限
起動時にmongoを起動

イメージ作成

docker起動終了スクリプト

ホストとコンテナ間でファイル共有
コンテナのログ出力
dockerfile
Remote API で何かできる?
docker-client (ruby クライアント)
docker キャッシュ

ネットワーク
ip address show "docker0"


dockerコマンド
docker pull centos
docker images
commit

docker info
docker run -i -t centos /bin/bash
docker run -d -p 8001:80 chef-node:centos6 chef-client -i 600 -s 60 -N "node_01"

# コンテナ削除
$ docker rm `docker ps -a -q`
# イメージ削除
$ docker rmi [IMAGE]

# docker-host上からログイン
docker-enter <コンテナID>

Docker-provider



2014年8月30日土曜日

pull requestとコードレビュー (github flow)


■ github flowのワークフロー
masterブランチでは作業せず、目的毎に作業用ブランチ(フィーチャーブランチ、トピックブランチ、hotfixブランチ) を作ってゴニョゴニョと作業する。

masterにマージするときはpull request で依頼する。自分でマージしない。
(だれか! この作業ブランチをmasterに取り込んで!)
チーム内の誰かが「確認」後、masterへマージをしてくれる。
なんと! この「確認」がコードレビューとなってしまう。

というわけで、自分自身でmasterブランチへマージせず、pull request
することで、自然とコードレビューされる仕組みとなっている。
(自然かどうかはチーム力によると思うが.....)

GitHub Flow (日本語訳)

プルリクエスト/レビューを取り込んだ、よりシンプルなGitHub Flowの運用を図解する

Webサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー

GitHubをすすめる7つの理由


コードレビューで喧嘩。。。。。
コードレビューを円滑に行いたい


CIサービス
CircleCI
アクトキャットの「SideCI」は、コードレビューを自動化してセキュリティホールをふさぐ
Side CI

2014年8月24日日曜日

mongodb 関連

mongoコマンド (クライアント)

サーバー
mongod
confファイル

RDB  データベース → テーブル → レコード
mongodb データベース → コレクション → ドキュメント

ドキュメント
http://docs.mongodb.org/manual/

■ 説明リンクなど
mongoコマンドまとめ
MongoDB University
MongoDBでゆるふわDB体験
BSON

■ rails での利用 Mongoid (pronounced mann-goyd)
 参考リンク How to Host Ruby on Rails 4 Apps on OpenShift

# rails new proj01 -O  # -O:active recordをスキップ、 --skip-active-record でも同じ
# rails g mongoid:config

マイグレーション用ファイルは必要ない。modelファイルに直接定義。

問題点
ver4から DateTime fieldsがサポートされなくなった。
mongoid-sadstory で対応?

■ 参考
MongoDB vs MySQL性能比較 (2013/11)

2014年8月21日木曜日

concerns のspec


controller/concerns のspec をどう書くか

ダミークラスを作って利用する
How to Test Controller Concerns in Rails 4

ここも参考に (model について?)
How to Test a Concern in Rails
ちなみにここでは struct を使う例が提案されている。