2012-01-01から1年間の記事一覧

capistrano-unicornでハマった

capistrano-unicornはその名の通りcapistranoでunicornを扱う便利なgemです。 早速Railsのサービスに導入してみた。試した環境は ruby-1.9.3p194 rails-3.2.9 capistrano-2.13.5 capistrano-unicorn-0.1.6 githubの使い方を参考にGemfileに下記を追加してbun…

EC2にMonitをセットアップする

Monitとは指定したプロセスを監視して落ちていた場合に再起動を行なってくれるデーモンプロセスです。 DaemontoolsとSuperVisordと比べると設定が一番シンプルな気がします。 yumからインストール $ sudo yum install monit # 確認 $ yum list installed | g…

検索条件をWHEREで指定する場合とJOIN ONで指定する場合の違い

mysqlにおいてWHEREとJOIN ONで条件を指定した場合の違いがよくわかっていなかったのでまとめておく。映画を表すmoviesテーブルと映画の日毎の再生回数を表すplaycountsテーブルがあるとする。 moviesテーブル +----+------------+ | id | title | +----+---…

rakeで引数を受け取る

demo.rake desc "task to receive args" task :demo, :arg1, :arg2 task :demo => :environment do |t, args| puts args[:arg1] puts args[:arg2] end 実行例 rake "demo[aaa,bbb]" もうちょっと普通に引数を渡したいものです。

railsでnamespaceの中にあるModelのObserverの設定方法メモ

RAILS_ROOT/app/model/page/count.rb class Page::Count < ActiveRecord::Base end RAILS_ROOT/app/model/page/count_observer.rb class Page::CountObserver < ActiveRecord::Observer def after_save(model) logger.info "Saved!" end end RAILS_ROOT/conf…

Rails3で1つのアプリケーション内に複数ドメインのサービスを提供させる方法

PCとモバイルでドメインを別にしてサービスを提供することもあると思う。 その場合アプリケーションを別にしてもいいのだがモデルを共有したい場合もある。 そういう時はconfig/routes.rbでconstraints指定をしてrequestされたhost名でコントローラを出し分…

Action Mailerでエクセルを添付する方法

環境 rails 3.2.8 ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0] actionmailer 3.2.8 rails3のaction mailerでメールを送る際にエクセルを添付したいケースがあると思う。 Rails Guideにならって書くとこうなる。 # -*- coding: utf-8 …

turbo-sprockets-rails3を試してみた

Rails3といえばasset pipeline。 賛否両論ありますが僕はそのコンセプトが好きです。 ただ欠点があってCPUの性能が低いマシン(EC2 smallインスタンスなど)ではasset precompileがくそ遅い。 仕事で運用しているあるサイトでは大体150秒くらいかかってしまっ…