[Rails][TDD][Rspec] Rspecをストレスなく回す方法 - fast_spork_runner をリリースしました!

皆さん、TDDをやっていますか?

RailsでTDDをやる場合に、bundlerやRailsの初期ロードの時間などでテストを実行すること自体に時間がかかって、待ち時間が発生して非常にストレスに感じていました。

先日、そのアプローチとして @a_matsuda さんが interactive_rspec という gem をリリースして解決しようとしていることを聞きました。rails console 上で rspec を実行できるようにして、bundlerやRailsの初期ロード時間を短縮しようというのを目指しているそうです。

このgemを試してみたところ、確かにrspecをconsole上で実行でき軽快にTDDを実施できそうでした。しかし、たまに動きがおかしい状態になってしまっていました。まぁ、まだver0.0.1の状態なのでしかたないのですが。

....

続きは新しいブログへ

MA7 に向けて Happy Done というアプリを作りました!


BacklogのAPIを利用したサービスとして、Happy Doneというサービスを作りました!BacklogはNulabさんが提供している課題管理ツールです。

以前、Pivotal Trackerでの開発をもっと楽しくするために課題が終わった時に音声で喝采を浴びせてくれるというRubyスクリプトを作りました。

http://d.hatena.ne.jp/mat_aki/20100916/1284635001

これはわざわざRubyスクリプトを走らせないといけないという決定的な問題がありました。今回この問題を解決する + MA7に申し込むために、Chrome ExtensionでBacklogの課題の完了時に喝采をしてくれるというものに書き換えました。Chrome Extensionにすることによりブラウザを起動するだけで動作するようになるので、設定が非常に簡単になりました。

... 続きは新しいブログへ ...

acts_as_flexigrid リリースしました

jQuery pluginのTableをソートできたりページングしたりするものってたくさんありますよね。
今、その中でもシンプルで良さ気なプラグインFlexigrid というものを利用しています。

Railsで利用する上で簡単に導入できるように表示用のjsonを返す事ができるようにするメソッドを定義するRailsプラグインを書いてみました。

続きは、新しいブログへ。。。

Herokuで定期バックアップを無料で簡単に取得する方法

HerokuでPostgresを利用しているとバックアップの仕組みなどが最初からアドオンで提供されており非常に便利です。PG BackupというAddonですね。

。。。続きは新しいブログ

[heroku] herokuでStagingとProductionの2つを同じレポジトリで管理しているときに便利にherokuコマンドを打つ方法

herokuでStagingとProductionの環境を同じレポジトリから操作するようにしている場合が多いと思います。その場合基本的に操作するのは、Staging環境でProduction環境を触る場合は稀だと思います。

しかし、herokuのレポジトリが2つ以上remoteに追加されている場合は、コマンド実行時に通常わざわざアプリを毎回指定する必要があります。

$ heroku info --app hogehoge-staging

という感じですね。

誰もが思うと思うのですが、hogehoge-stagingは長いし毎回打ってられないですよね。

。。。つづきは新しいブログへ

[rails][pow] Powを使い倒す

MacRailsを開発中のみなさんPowを使っていますか?私も使い始めてとても便利に使っています。しかし、そのまま利用しているとちょっと引っかかる部分がいくつかあります。
http://pow.cx/

.rvmrc

bundlerを利用できない場合などに、RVMを利用したい場合があると思います。その際に、.rvmrcを以下のようにプロジェクトルートに入れておけばそのファイルを読み込んでRVMを利用して起動することができます。

rvm ruby-1.8.7-p334@youroom

.powenv

Herokuと一緒に使う場合はよくENVを利用して、設定項目を操作します。その際に、.powenv以下のようにをプロジェクトのルートに入れておけばそのファイルを読み込んでENV(環境変数)を設定して起動できます。

export AMAZON_ACCESS_KEY="XXXXXXXXX"
export AMAZON_SECRET_KEY="YYYYYYYYY"

Rails2

Rails2でPowを利用したい場合は、そのままだと使えません。config.ru以下のようにをプロジェクトルートに入れておけばPowからもRails3などと同じように起動できます。

# Rails.root/config.ru
require "./config/environment"
run ActionController::Dispatcher.new

ruby-debug

Powを利用した場合は、ruby-debugが利用できません。Powのプロセスで動作するためdebugに入っても操作できないからですね。debuggerをするときに以下の2行を入れておきましょう。

  Debugger.wait_connection = true
  Debugger.start_remote
  debugger

そして、処理をすすめるとdebuggerの部分で動作が止まります。以下のコマンドを実行するとリモートからdebugのプロセスにアクセスしてこれまでと同じようにdebuggerを利用できます。

rdebug -c

いまのところ、こんな感じです。あなたのPowHackがあれば教えてください!