Use space bar or arrow keys to navigate, and escape for index. Built with Slippy.
前回は具体的なWebアプリを例にして簡単なコードレビューをしました。今回からは、テストを使ったリファクタリングについて解説していきます 少し時間が空いてしまいましたが、前回は具体的なWebアプリを例にして簡単なコードレビューをしました。今回からは、そのWebアプリに対してテストを書いてリファクタリングする具体的な方法について解説していきます。 今回はまず、Ruby on Railsで人気のあるテストフレームワークの数々についてご紹介します。 最近のテストフレームワークトレンド Hamlの作者として知られるHampton Catlin氏が行った「Hampton's Third Ruby Survey, 2010」の中に、テストに関するいくつかの興味深い結果があります。好きなテストフレームワークは何ですかという質問に対する答えをグラフにすると以下の通りです。 これを見ると「ビヘイビア駆動開発(
Railsのセッションの有効期限を変更する Railsでセッション有効期限を変更して、ログイン状態での最後のアクセスから1ヶ月間ログインを保持するやり方。 Railsでログイン状態を保持する方法 - おもしろWEBサービス開発日記 sessionに有効期限を設定する時の試練 - ザリガニが見ていた...。 これらの先人の記事に感謝しつつ参考にしてみる。 ■dynamic_session_expプラグインのインストールruby script/plugin install http://svn.codahale.com/dynamic_session_exp/trunk ■セッションの有効期限を設定 config/environment.rbCGI::Session.expire_after 1.month ※Rails::Initializer.run do |config|~ end内に書
(6/20 大幅に加筆修正を行いました)Railsのセッションの有効期限は、デフォルトだとブラウザが終了するまでです。これだと、ログインページによくある「ログイン状態を保持する」チェックボックスが作れません。というわけで、やり方を調べてみたら、よさそうな情報がのっているサイトを見つけたので英語の勉強がてら概要を意訳してみたいと思います。 HowtoChangeSessionOptions in Ruby on Rails すべてのセッションに対して一律に有効期限を作りたい場合 environment.rbに下記のように設定します。 ActionController::Base.session_options[:session_expires] = Time.local(2009,"jan") ここでは、上記のように絶対時間を入れます。Time.now + 1.weekのようにするのはうまく
手順 - Procedure 1.0.0.rc の Bundler をインストール。 - Install the Bundler of 1.0.0.rc. $ sudo gem install bundler --pre アプリケーションを作成していく。 - Now we're going to create the application. $ mkdir rails3 $ cd rails3 $ bundle init Gemfile を以下のように編集。 - Edit Gemfile as follows. source :gemcutter gem "rails", "3.0.0.rc"gem パッケージの一括インストール。 - Install gem packages in one lump. $ bundle install アプリケーションの作成(データベースに MySQL
2010-09-19 ruby/rails/RailsGuidesをゆっくり和訳してみたよ/Getting Started with Rails 2010-09-18 ruby/rails/RailsGuidesをゆっくり和訳してみたよ Top 2010-09-16 search_result MenuBar 注意 † 英語が苦手なので、超意訳だよ。 表題に日本語がついているのは一応訳してあるけど、 古いバージョンだったり、適当な訳で清書していなかったり。 ちゃんと終わったものは、twitterでつぶやくから、よかったらフォローしてね。 ちゃんと終わったページ Railsのはじめ方(Getting Started with Rails) 最低でも一週間に一本以上は更新予定だけれど、 滞っている場合は、StarCraft2にハマってるから叱咤して下さい。 Rails 3を始める皆
まずは設計以前の話から。(というか設計は語れません。) あと、Rails ガイド読むならこのエントリ要らない。 Ruby on Rails Guides: A Guide to Active Record Associations 基本概念用語DBMS 用語としては entity の relation だと思うんだけど、Rails 的には クラスベース OOP の用語をそのまま拝借して Model(クラス)の association と呼ぶらしい。 DBMSの制約はただの約束外部キー制約 = リレーションシップではないDBMS はこの制約を無視して構わないリレーションシップはテーブル設計を開発者が「そう決めた」からリレーションシップを設定するのが外部キー制約ではないことに注意してください。外部キー制約は、列の値がターゲットテーブルの既知のキーを参照するかどうかチェックすべきことを、データベ
RailsでBDDと言ったらRSpecが圧倒的にポピュラーですね。でもRSpecに馴染めないという人はいませんか?私はx.should == yという書き方からKernelを拡張する実装まで、何もかも独自路線でいく個性の強さについていけません。 しかし同時にTest::Unitの垢抜けなさにもうんざりしていて、何かいいフレームワークはないかと思っていた時にShouldaに出会いました。contextを入れ子にできる柔軟性や、既存のTest::Unitインスタンスの中に書けるとっつきやすさはとても魅力的に見えました。そしてその日からShouldaでテストを書き始めました。 このエントリでは、Shouldaを中心にヘルパーやMochaを使った気持ちのいい開発手法を紹介します。 Shouldaは柔軟でとっつきやすい RSpecの最大の魅力はその書き方にあると思います。しかしその書き方を利用するた
Editor's Notes\n\n\n\n\n\nテスト時間は早ければ早いにこしたことはない。全部のテスト通すの&a
257: request specとCapybara (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto ハイレベルテストは、Railsアプリケーションをテストする優れた方法です。この種のテストでよく用いられるCucumberについて、エピソード155[動画を見る, 読む]で取り上げました。Cucumberの、アプリケーションの振る舞いを英語の文法で定義するやり方が好きではない人もいるでしょう。そこで今回はハイレベルテストを実行する別の方法を見てみます。 普段はテスト駆動開発を奨励していますが、今回はすでに完成したアプリケーションにテストを追加することにします。それによって、実装の詳細やアプリケーションが正常動作するかどうかに気をとられることがなくなります。これから
Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas
※2011/11/08 コメント欄で指摘を頂いた箇所を加筆修正しました。また、割と古い記事ですので最新の情報は Fabrication を参照することをお奨めします。 これを作ってるとき、machinistとmachinist_mongoを使っていたんですが、試しに前々から気になっていたFabricationで書き換えてみました。README書いてあることをいくつか実際にやってみたのでメモしておきます。割と使いやすかったです。 何に使えるの 下記をサポートしてるそうですので、Mongoid使えます。やった! Plain old Ruby objects ActiveRecord objects Mongoid Documents 使ったもの Fabrication…本日のメイン Faker…嘘データをどんどこ作ってくれるやつ QuickStart & 使い方 Gemfile Rails/M
■ [ruby] 大規模Railsサイトのための新しいHTTPサーバ、Unicorn githubの中の人が、ブログで「Unicorn使い始めて一ヶ月くらい経つけどいい感じだよ」と書いています。 適当に要点だけ拾ってみました。 Unicornって何よ? UnicornはRubyのためのHTTPサーバ。MongrelやThinのようなものだけど、全く違う設計と思想を持っている ありがちな構成 [mongrel] [mongrel] .. [nginx] -> [haproxy] -> [mongrel] [mongrel] .. [mongrel] [mongrel] .. 問題点: あるactionの処理に60秒以上かかったとき、Mongrelが当該スレッドをkillしようとして固まることがある メモリが一定量を超えたときMongrelを再起動するのが遅い。 デプロイ時に9個のmongre
Account Suspended This Account has been suspended. Contact your hosting provider for more information.
注意!!このエントリは賞味期限切れています。 Rails3がリリースされているけど、まだまだ、Rails2系でうごいているアプリケーションも多い。 RVMに備わっているgemsetという機能を使って、rails2系とrails3系の環境を整えてみた。 こういうことができるようになるよ。 #ruby1.8.7 + rails2 rvm use 1.8.7 rvm gemset use rails2 #ruby1.8.7 + rails3 rvm use 1.8.7 rvm gemset use rails3 #ruby1.9.2 + rails3 rvm use 1.9.2 rvm gemset rails3 #RVMじゃなくて、/usr/bin/ruby(自分の環境だと)を使いたいとき rvm use system #RVMじゃないgemを使いたいとき rvm gemset use glo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く