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

コマンドメモ

Linux/unix系のコマンドメモ・centOsのバージョン確認 cat /etc/redhat-release ps -aef|grep ruby |grep -v grep | awk '{print $1 $2 $8}' ps aux | grep redis | grep -v grep○psの実行結果を並び替えする ps -ae -o pid,pcpu,rss,time,cmdps -ae -o pid,…

Railsでモデルを分割しようと思った時

Rails4から導入されたconcernsを使うという方法もあるが、これは「他のモデルにまたがる処理があるときそれを分割する」場合に使うということらしいので、単純にモデルに色々な処理が入り過ぎたり、重複が沢山あってそれを整理するという場合には適用し辛い…

Rails4でデータあれば、それを返しなければ作る、という処理をやりたい時

Rails3では、first_or_createというメソッドがありましたが、Rails4からはfind_or_create_byというメソッドを使います。 例として、次のように書きます。次の例はUserテーブルに対しemailで検索して、データがあればそれを返しなければ登録します。 User.fin…

Rails4のfilter処理

Rails4でコントローラのメソッド実行前に何か処理を挟みたい場合、次のように書きます。 #処理を入れる before_filter login? #処理を入れたくない場合 skip_before_action :login?, :only => [:new, :create, :destroy,] 取りあえずメモということで

Rails4でJSON形式のデータを返す

Rails4系からjson形式のデータを返すのにJbuilderというgemを使うことがデフォルトになりました。ので軽く使ってみました。 def my_list @photos = User.find(params[:user_id]).photos.page(1).per(5) render json: @photos end 続いて対応するview側のソー…

rspecを使った場合の画像アップロードのcontrollerのテスト

Paperclipを使って画像アップロードしている場合、コントローラのテストをどう書いたら良いのだろうか。今回はspec/fixtures以下にテスト用の画像があるとして、その書き方例を書く。 require 'rack/test' describe PhotosController do describe "photo 投…

Rails4でセッションをMemcachedで管理する

rails4ではデフォルトでセッションをクッキーで管理します。で、memcachedで管理したい場合は、次のようにdalliを使います。 # memcached client gem 'memcachier' gem 'dalli' 今回herokuに最終的にアップしようと思います。その際使うmemcachedアドオンと…

Rails4でconcernsを使ってみる

Railsでロジック部分をモデルに書くようにしているとモデルがFatになってきます。 Rails4では、そういう場合にconcernsにコードをうまく分割してモデルをスリムにすることができます。この方法はRails3でも出来るのですが、Rails4からプロジェクト生成時にco…

気になるgem達

今日凄く寒いですよね。 昨日調べていたgemで まだ使ってないけど使ってみたいgem 調査中のgem をここにメモ draper viewのロジックを分離する quiet_assets assets関連で出力されるログを抑える。(ログが奇麗になり、みやすくなる) foreman バックグランド…

Railsアプリケーションのプロファイリングで使えるgem speed_gunを使ってみて

最近凄く寒くなってきましたね。何か新しいことを学ぼうと日々思っているのですが、今日はrailsのgemについてです。 今回はプロファイリングツールとして使えるspeed_gunの使い方についてです。 まずGemfileをに追記してます。 gem 'speed_gun' 続いてbundle…

今更Seasar2で開発

最近業務でSeasar2を使うことが多くなった。 個人的にはSpringMVCやPlay Frameworkに挑戦したいところですが・・・。で、seasar2で開発する場合のORマッパーとしてS2jdbcを使うことになったので、 あまり使う事がなかったので、チュートリアルをやって勉強。…