DesignAssembler

備忘録に近い

2016-05-01から1ヶ月間の記事一覧

インスタンス変数をDRYにする

Railsで同じビューを全ページに実装する時、全コントローラーに同じインスタンス変数を生やすのはDRYじゃないのでapplication_controller.rbにまとめて書きました。 #application_controller.rb class ApplicationController < ActionController::Base befor…

Railsアプリケーションを6倍速くしてから更に5倍速くした

hyottokoaloha.hatenablog.com 500msから更に5倍速くした やった事 ボトルネックになっていたモデルメソッドの結果をキャッシュに入れる Rails.cache Rails.cache使ってモデルメソッドの結果をキャッシュに入れました。 def hoge cache_variable = Rails.cac…

Railsアプリを6倍高速化した話

正確に言えば通常の6倍遅いRailsアプリケーションを通常の速度にした、といった感じです。 まず、こちらを見てください Completed 200 OK in 3271ms (Views: 53.9ms | ActiveRecord: 2300.6ms) あぁ・・・・・ ActiveRecord2300msって・・・・あと800msくら…

Railsでブラウザ判定

Railsでブラウザ判定する時にrequest.env['HTTP_USER_AGENT']でブラウザ判定しようとしたのですが、ChromeからうまくSafariが取れませんでした。 request.env['HTTP_USER_AGENT']を見てみると Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/…

Rubyの時間の扱い

時間を表すクラスにはDateとTimeとDateTimeクラスがあって、Dateクラスは日付、Timeクラスは時間、DateTimeクラスは日付と時間をそれぞれ扱います。 時間を表示する 最初1つずつフォーマットごとに切り出して連結していたのですが、strftimeという便利なメソ…

sizeとcountの違い

activerecordで取得したレコードの数を調べるときにcountとsizeを使ったら速度にかなりの差が出たのでその違いを調べました。 countとsizeの差はそのレコードがロードされているか否かで変わります。 レコードがロードされている時、countはsqlを生成し、siz…