2014年9月17日水曜日

Pythonでも動的型付け

Pythonへの型アノテーション導入を目指すGuido van Rossum氏

個人的にはいらないけど。
動的型付けができたら、プログラムの方法も少し変わるのかも。

テスト文化


効果的なテストの文化を創る

チームに導入するのは大変。

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)