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

active_adminの認証を他のページに設定する方法

active_adminはrailsで定義したモデルを操作するwebインターフェースを数コマンド叩くだけで簡単に定義してくれるお手軽なツールです。まれにあるページに対して認証を定義したい時がありますがactive_adminの認証を簡単に設定する方法があります。認証を設…

CoffeeScriptで定義したクラスを別のcoffeescriptファイルから呼び出す方法

普通にcoffeescriptを書くとglobal汚染を防ぐためにfunctionの中に入れられてしまうのでwindowに領域を確保してそこに格納しておく必要がある。HogeClassの前にHogeProjectを定義しているのはnamespaceみたいなもので他のjsがHogeClassを定義している時のた…

redis-mutexで排他制御

例えばサーバが2台あったとして同じ時間に全く同じ内容のcronスクリプトが実行されるとする、その処理がDBのバッチ処理など大きなコストを必要とするなら両方のサーバで実行されるのは無駄でしかないし場合によってはデータの不整合なども発生するかもしれ…

事前にprecompileしたassetsをS3に配置してdeployを高速化する方法

Railsで作られているサービスとおもわれるbasecampやgithubはassetsファイルをアプリケーションサーバとは別のCDN(akamaiやCloudFront)サービスから配信している。CDNに配置する事のメリットとして世界中のEdgeサーバからassetsを配信できるのでどこからアク…

active_adminにロック機構を導入する

active_adminをインターネットに公開する場合にアカウントロックを設けたいなぁと思った。いろいろ調べていたらdeviceでアカウントロックを後から追加するの記事がとても参考になりました。 要約するとactive_adminはdeviceという認証フレームワークを使って…

active_adminのassets precompileが失敗する

active_adminのprecompileが失敗する。 環境 Mac OS X 10.8.2 ruby-1.9.3-p125-p194 rails-3.2.11 active_admin-0.5.1 プリコンパイルしてみると.. $ bundle exec rake assets:precompile /Users/hakutoitoi/.rbenv/versions/1.9.3-p194/bin/ruby /Users/hak…

protect_from_forgeryが何をやっているのか調べた

Rails3でCSRF対策としてApplicationControllerにデフォルト指定されるprotect_from_forgeryですが、実際のところ何をやっているのかわからなかったのでコードリーディングしてみたメモ。 環境 Mac OS X 10.8.2 ruby-1.9.3-p125 rails-3.2.9 処理の流れ 0. Ap…