homeASCIIcasts

Episode Archive

286 Draper
複雑なビューロジックをDraperで整理しましょう。Draper gemが提供する、presenterにとても似たdecoratorを使って、ビューロジックをオブジェクト指向的な手法でまとめることができます。今回のエピソードでは、複雑なテンプレートをステップバイステップでdecoratorにリファクタリングします。
285 Spork
Sporkは、Railsアプリケーションを一度バックグラウンドで起動することでテストスイートの読み込み時間を改善します。Guardと一緒に使えば最強の組み合わせとなり、テスト駆動開発で素早いフィードバックを得ることができます。
284 Active Admin
Active Adminを利用すると、わずかなコマンドですばやく管理用画面を作成できます。外観がきれいなだけでなく、今回のエピソードで紹介するように自由にカスタマイズが可能です。
283 Sorceryで認証
Sorceryはフル機能かつモジュール方式の認証ソリューションで、コントローラ層とビュー層はユーザが自由に作ることができます。
282 Rails 3.1へのアップグレード
Rails 3.1へのアップグレードはとても簡単ですが、Asset Pipelineの利点を活かすには追加の作業が必要になります。でも恐れることはありません。今回のエピソードで必要なステップを一歩ずつ案内していきます。
281 Foreman
ForemanはRailsアプリケーションの開発時に依存しているプロセスの管理を助けてくれます。本番環境へ移行するためのエクスポートコマンドも備えています。
280 RailsでPry
PryはIRBの代替で、多くの優れた機能を備えています。今回はPryをRailsアプリケーションに統合する方法と、デバッグ作業で役に立つ使い方を紹介します。
279 Asset Pipelineを理解する
Asset PipelineはおそらくRails 3.1でもっとも大きな新機能ですが、最初は魔法のように感じるかも知れません。今回はAsset Pipelineのしくみを探っていきます。
278 Sunspotで全文検索
Sunspotは、Solrを利用して全文検索を簡単に実現します。今回のエピソードでは、いろいろな属性に対して検索を行い、検索結果をさらに絞り込むためにファセットを追加する方法を紹介します。
277 マウント可能なエンジン
Rails 3.1でエンジンが大きく更新されました。任意のパスへのマウント、assetsの組み込み、ジェネレータの実行など、新機能を今回のエピソードで見ていきます。
276  時刻とWebリクエストをテストする
現在の時刻や外部Webリクエストを扱うコードをテストすることは難しくなりがちです。今回はこれらのテストをTimecopとFakeWebというgemを用いて行う方法を紹介します。
275  私のテスト手法
今回は前回のエピソードで作成したパスワードリセット機能のテストを追加する方法を紹介します。RSpec、Capybara、Factory Girl、Guardを使用してrequest、model、mailer用のspecを作成します。
274 「ログイン状態を記憶」と「パスワードをリセット」
認証機能をゼロから作るのは簡単ですが、さらに機能を拡張するにはどうすればいいでしょうか。今回は「ログイン状態を記憶」のチェックボックスと「パスワードをリセット」のリンクを追加します。
273 Geocoder
地理データを扱う必要があるときは、Geocoderという優れたgemを使って住所や地理座標を変換したり、近くの観光スポットを探したり、距離を測定したり、その他にもいろいろなことができます。
272 RedcarpetでMarkdown
RedcarpetはMarkdownを解釈する簡単に操作できるgemです。今回のエピソードではそのカスタマイズ方法とPygmentsとAlbinoを介してシンタックスハイライトを追加する方法を紹介します。
271 Resque
ResqueはRedisを用いてバックグラウンドジョブを作成します。複数のキューをサポートし、キューをモニタリングできる管理画面も提供されます。
270 Rails 3.1の認証機能
今回は認証で役に立つRails 3.1の3つの新機能(より簡単なHTTPベーシック、データベースでのセキュアパスワード、SSLの強制)を紹介します。
269  テンプレートの継承
Rails 3.1ではコントローラの継承がビュー層にも適用されます。今回は、アプリケーションのすべてのビューで共有されるテンプレートと、サブドメインに応じてテンプレートをオーバーライドするための参照パスを追加する方法を紹介します。
268 SASSの基礎
SASSは、変数、ネスト、mix-inなどでCSSの機能を拡張します。今回はRails 3.1アプリケーションで単純なCSSをSCSSに変換する方法を紹介します。
267 CoffeeScriptの基礎
CoffeeScriptを使えばJavaScriptを簡潔に美しく書くことができます。今回のエピソードではRails 3.1アプリケーションのJavaScriptコードをCoffeeScriptに書き換えます。
266 HTTPストリーミング
HTTPストリーミングを使用すると、Railsアプリケーションがまだリクエストを処理している間にブラウザがHTMLレスポンスの処理を開始することができます
265 Rails 3.1の概要
Rails 3.1について解説するシリーズの第1回です。ベータ版のインストール方法といくつかの新機能を紹介します。
264 Guard
Guardはファイルを監視し、ファイル修正時にコマンドを実行します。これにより自動的に、テストをバックグラウンドで実行したり、開発用サーバを再起動したり、ブラウザを再読み込みしたりなど、いろいろなことが可能になります。
263 クライアント側での検証
ユーザがフォームに入力中に直接検証エラーを表示できればユーザの使い勝手は向上します。client_side_validations gemを使ってこれを実現する方法を学びましょう。
262 Ancestryでツリー構造
Ancestry gemは階層を扱えるだけでなく、深くネストされたメッセージを一度の検索で取得することができ、取得した階層データを並べ替えるメソッドも提供します。
261 JasmineでJavaScriptのテスト
JavaScriptをテストしていますか? Jasmineでspecを追加する方法を学びましょう。jasmine-jqueryによるjQueryの統合についても説明します。
260 Fayeでメッセージング
Fayeは、Railsアプリケーションでプッシュ通知を簡単に実現する購読/配信用サーバです
259 Decent Exposure
decent_exposure gemを使用すれば、インスタンス変数の代わりにメソッドを用いてコントローラのデータをビューで簡単に利用できるようになります。
258 トークンフィールド
jQuery Tokeninputプラグインを使えば、多対多の関連において自動補完によるリストの入力を簡単に実装できます。
257 request specとCapybara
RSpecのRequest specは、アプリケーション全体が正しく動作していることを保証する優れた方法です。合わせて、Seleniumを使用してCapybaraでJavaScriptの統合テストを行う方法を紹介します。
256  国際化のバックエンド
Railsの国際化は簡単ですがYAMLファイルの管理は簡単ではありません。今回のエピソードではRedisを使用してウェブ画面から翻訳を管理する方法を紹介します。
255 PaperTrailで操作の取り消し
「取り消し」と「やり直し」の機能は、PaperTrailなどの世代管理のgemを使用して簡単に実装できます。モデルのフラッシュメッセージに取り消しのリンクを追加する方法を学びましょう。
254 Kaminariでページ分割
Rails 3でページ分割が必要なら、Kaminariを試してみてください。きれいで柔軟性があり、ActiveRecordの検索式の記法によくなじむスコープを利用しています。
253 CarrierWaveでファイルのアップロード
CarrierWaveで、アプリケーションに簡単できれいにファイルアップロード機能を追加できます。多くのORM、フレームワーク、画像処理プログラムをサポートしています。
252 Metrics Metrics Metrics
コードメトリクスに関するこのエピソードでは、Metric Fu、Metrical、SimpleCov、Rails Best Practices、その他のツールを紹介します。
251 MetaWhereとMetaSearch
MetaWhereはActiveRecordでSQLを使わすに複雑な検索を行う方法を提供します。MetaSearchを利用すれば複数の条件を指定する検索フォームを簡単に作成できます。
250 ゼロから作る認証機能
認証機能をゼロから作ることは難しくありません。それに、認証がどのような仕組みで動いているかについてより深く理解できるようになります
249 Rails 3のnotification(通知)
Rails 3では、ActiveSupport::Notificationsクラスで計測機能がサポートされています。「購読(subscribe)」でnotificationを受信し、「計測(instrument)」して発信します。
245  Bundlerでgemを作る
'bundle gem'コマンドで簡単にgemを作成できます。今回のエピソードではその方法を順を追って説明していきます。
241 簡単なOmniAuth
ユーザ名、パスワードを持つ必要がなかったり、ユーザごとに複数の認証を行わなくてもいい場合、OmniAuthで簡単に認証のしくみを付加できます。
210 Deviseのカスタマイズ
今回のエピソードでは引き続きdeviseを見ていきますが、今回は特にビュー、ルーティング、バリデーションのカスタマイズ方法を取り上げます。
209 Deviseの導入
Deviseはフル機能の認証手法で、すべてのコントローラロジックとフォームビューを自動的に処理します。今回のエピソードでその設定方法を学びましょう。