2014年2月6日

CentOS 6.5 x86_64 minimal インストールログ

CentOS 6.5 x86_64 minimal をインストールした時の備忘録です。

http://centossrv.com/centos6.shtml を参考にしてインストールを行いました。


  1. Ubuntu と違い、CentOS の配布ディスクには、様々な種類があります。
    今回は、その中からGUIもない最小構成をインストールしました。
    http://isoredirect.centos.org/centos/6/isos/x86_64/ のページから、適当なミラーリングされているページを選び、「CentOS-6.5-x86_64-minimal.iso」をダウンロードします。
  2. ディスクを入れて起動します。ブートメニューが表示されるので、初期値となっている「Install or upgrade an existing system」を選択し、Enterキーを押下します。
    押下すると、しばらく読み込みが始まり、その後「Disc Found」画面に移動します。
  3. 「Disc Found」の画面になったら、「Skip」を選択して、Enterキーを押下します。
    押下すると、「CentOS」の画面に移動します。
  4. 「CentOS」の画面になったら、「Next」ボタンをクリックします。
    クリックすると、「What language would you like to ...」の画面に移動します。
  5. 「What language would you like to ...」の画面に移動したら、「Japanese(日本語)」を選択して、「Next」ボタンをクリックします。
    クリックすると、「このシステム用の適切なキーボードを選択します。」画面に移動します。
  6. 「このシステム用の適切なキーボードを選択します。」画面に移動したら、「日本語」を選択して、「次(N)」ボタンをクリックします。
    クリックすると、「どちらのタイプのストレージデバイスにインストールしますか?」画面へ移動します。
  7. 「どちらのタイプのストレージデバイスにインストールしますか?」画面へ移動したら、「基本ストレージデバイス」を選択し、「次(N)」ボタンをクリックします。
    クリックすると、「ストレージデバイスの警告」画面に移動します。
  8. 「ストレージデバイスの警告」画面に移動したら、「はい。含まれていません。...」ボタンをクリックします。
    クリックすると、「このコンピュータのホスト名を指定してください。...」画面に移動します。
  9. 「このコンピュータのホスト名を指定してください。...」画面に移動したら、「ホスト名」を入力して、「次(N)」ボタンをクリックします。
    クリックすると、「使用するタイムゾーンの中で...」画面に移動します。
  10. 「使用するタイムゾーンの中で...」画面に移動したら、「システムクロックで UTC を使用(S)」のチェックをはずし、「次(N)」ボタンをクリックします。
    クリックすると、「root ユーザーはシステムの管理者に使用します。...」画面に移動します。
  11. 「root ユーザーはシステムの管理者に使用します。...」画面に移動したら、希望のパスワードを入力し、「次(N)」ボタンをクリックします。
    クリックすると、「どのタイプのインストールをしますか?」画面に移動します。
  12. 「どのタイプのインストールをしますか?」画面に移動したら、「既存のLinuxシステムを入れ替える」にチェックが入っている事を確認し、「次(N)」ボタンをクリックします。
    クリックすると、「ストレージ構成をディスクに書き込み中」画面に移動します。
  13. 「ストレージ構成をディスクに書き込み中」画面に移動したら、「変更をディスクに書き込む(W)」ボタンをクリックします。
    クリックすると、ディスクのフォーマットが開始され、インストールが始まり、「おめでとうございます。CentOS のインストールが完了しました。」画面に移動します。
  14. 「おめでとうございます。CentOS のインストールが完了しました。」画面に移動したら、「再起動」ボタンをクリックします。
    クリックすると、再起動が始まり、インストールは完了です。
以上。

2014年2月6日のタスク

本日は

  • アルバイト
を行いました。

2014年2月5日

2014年2月5日のタスク

本日は

  • 環境構築
を行いました。

2014年2月4日

2014年2月4日のタスク

本日は

  • 東京で打ち合わせ
を行いました。

その際に渋谷川を写真に収めました。


2014年2月3日

2014年2月3日のタスク

本日は

  • システム開発
を行いました。

Ruby on Rails 4.0 で Turnip 上のcapybara を使ったテストでトランザクション処理が上手くいっていない問題が解決

Railsで TDDが開始できる環境を整えたと思って、実際に作業を始めると、テストの実行を繰り返すと、データベースにテストデータが残る問題が発生しました。

同じテストは、何回実施しても、同じ結果になって欲しいのですが、2回目以降のテストは、データベースに前のテストのデータが残ってエラーとなってしまいました。

そこで、検索して解決策を探したら、解決策が記載されているページを発見しました。

原因は、 capybara経由でnewしたものと、FactoryGirlでnewしたものが、連携をとれてないので、不整合が起こっていたのでした。

解決策は、
RSpec.configure do |config|
  config.use_transactional_fixtures = false
end
として、
database_cleanerというgemを導入する事でした。

database_cleanerの設定も含め、以下の記述をspec_helper.rbに追加して解決しました。
RSpec.configure do |config|
  config.use_transactional_fixtures = false
 
  config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
  end
  config.before(:each) do
    DatabaseCleaner.start
  end
  config.after(:each) do
    DatabaseCleaner.clean
  end
end

Ruby on Rails 4.0 に FactoryGirl を導入する

テストデータの作成に FactoryGirl を導入します。

使い方のチュートリアルは
https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md

FactoryGirl の導入は、

> vi Gemfile
gem 'factory_girl_rails', group: [:development, :test]
> bundle install
と簡単です。
注意点は、gem に "factory_girl" と上記の"factory_girl_rails"の2種類が存在しますが、どちらを導入すればいいか迷いました。

検索して分かった事は、Railsに使うのなら、"factory_girl_rails" を使い、Ruby上で汎用的に使いたいのなら "factory_girl"を使えばいいとの事。

テストデータは rspec を使用している場合は、
spec/factories.rb
spec/factories/*.rb
に設置しましょう。