タグ

ブックマーク / blog.livedoor.jp/sasata299 (8)

  • Rails3.2から導入されたpluckメソッドのパフォーマンスが素晴らしい件 - (゚∀゚)o彡 sasata299's blog

    2012年10月11日17:39 Ruby Rails3.2から導入されたpluckメソッドのパフォーマンスが素晴らしい件 Rails3.2から新たに追加された新機能としてpluckメソッドというのがあるんですが、 (pluckは引き抜くという意味のようです) これが大変素晴らしいなと感動しました。そもそもこのメソッドは引数としてカラム名を渡すとそのカラムの値が配列で返ります。 User.pluck(:name) # => [sasata299, name1, name2, name3, ...] つまり、User.all.map(&:name)と同じような処理なのですが、素晴らしいのはそのパフォーマンスです。mapを使った場合(selectで絞込みをした場合としてない場合)とpluckを使った場合でパフォーマンスを比較してみましょう。 それぞれの処理を1000回ずつ行って計測してみます。

    kssm
    kssm 2013/10/15
  • factory_girl で最低限知っておきたい4つの使い方 - (゚∀゚)o彡 sasata299's blog

    2013年08月22日13:26 Ruby factory_girl で最低限知っておきたい4つの使い方 みなさん、テストを書くときには Fixture Replacement として何を使ってますか?一番メジャーなところだと factory_girl でしょうか。machinist も有名ですね。シンタックスの違いのようなので基的にはどちらでも良さそうです。 参考(stackoverflowMachinist vs FactoryGirl - pros and cons In other words, both are extremely similar, just with a different default syntax. 今回は(僕が factory_girl4.2.0 を使ってるので)factory_girl4.2.0 についての話です。 インストール まずインストールし

  • Railsエンジニアならこれだけは知っておけっていう便利メソッド - (゚∀゚)o彡 sasata299's blog

    2011年07月26日13:29 Ruby Railsエンジニアならこれだけは知っておけっていう便利メソッド Object#presence と Object#try という便利なメソッドがあることをご存知ですか?この2つのメソッドはとっても便利なのでちょっと紹介してみます。 Object#presence メソッド これは以下のような定義となっています。 def presence self if present? end present? メソッドというのはみんな大好き blank? の反対のメソッド (!blank?) です。 つまり、nil, false, [](空配列), {}(空ハッシュ), ""(空文字列), " "(半角スペースだけの文字列)であれば false、それ以外であれば true になります(blank? って半角スペースだけの文字列を true と判定するの知って

    kssm
    kssm 2013/10/02
  • 実際のサイト上で動作するチュートリアルが簡単に作れるIntro.jsが便利すぎる件 - (゚∀゚)o彡 sasata299's blog

    2013年05月08日18:21 JavaScript 実際のサイト上で動作するチュートリアルが簡単に作れるIntro.jsが便利すぎる件 さて、先日簡単なチュートリアル作ろうと思ったんですが、どうやるのが良いのかなーと思って悩んでました。キャプチャ取ってそこに説明文を書いて…ってしてもいいんですけど、キャプチャだと一部分なのでサイト上のどの辺なのかわかりにくかったり、サイト側は変更したのにキャプチャが古いままとかになったりしちゃいますよね>< とか思って探してみたらこちらの Intro.js が便利だったので紹介してみます。 さて、この Intro.js を使うとですね、サイト上で動作するチュートリアルを簡単に作れるんですよ。使い方も簡単で、動作させたい要素に対して data-intro (表示する説明文) と data-step (チュートリアルの何番目に表示するか) を指定します。チ

  • Redisでランキング機能を実装してみる - (゚∀゚)o彡 sasata299's blog

    2013年04月24日13:26 NoSQL Ruby Redisでランキング機能を実装してみる Redis を触ってると楽しくてニヤニヤしてしまう今日この頃です、こんにちは。 読み書きのパフォーマンス的には memcached とよく似てる感じかなーと思いますが、データが消えない(永続化)、さまざまなデータ型を持っていて用途によって使い分けられる、データ操作がアトミック、など、Redis には魅力的な特徴があります。 今回は Redis を使ってちょっとしたランキング機能を実装してみる話でも書いてみます。 Redisの環境準備 まずは Redis をインストールします。Mac だったら homebrew を使うと良いでしょう。 $ brew update $ brew install redis Redis の起動自体は非常に簡単で、このコマンドを実行するだけです。 redis-serv

    kssm
    kssm 2013/04/25
  • 今日から使える!rvmの簡単な使い方とその仕組み - (゚∀゚)o彡 sasata299's blog

    2011年01月15日13:33 Ruby 今日から使える!rvmの簡単な使い方とその仕組み 昨日、「えー、こんなのも知らないんですかー。えー」って言われて「(゚皿゚メ) ムキー」 ってなったので、rvm (Ruby Version Manager) を遅ればせながら勉強してみました。 rvmとは、色んな種類の Ruby をバージョン毎に別々のパスにインストールし(関連する gem も)、また、それらを簡単に切り替えられるものです。そういえば Perl にも perlbrew っていう良く似た仕組みがありますね。 Ruby の 1.8.6 と 1.8,7 と 1.9.1 と JRuby と Ruby Enterprise Edition を1台のマシンにインストールして必要なときに必要なバージョンのものを使ってムフフフ・・みたいなことが気軽に出来ちゃいます。それぞれ別のパスにインストールさ

    kssm
    kssm 2011/11/08
  • vimを使うべき8つの理由 - (゚∀゚)o彡 sasata299's blog

    2009年02月06日00:13 vim vimを使うべき8つの理由 流行りそうなタイトルに変えてみましたww 僕はviが好きです。ということで、そろそろ.vimrcを晒しておくかと思ったんですが、よく考えたらすでにここに置いてありました>< ・・まぁせっかくなので、気に入っている設定を8つ紹介しますw viを使いたいけどよくわからない。という人の助けになれば嬉しいです。まずは.vimrcの設定からお気に入りを4つ。 ① ファイルの前回閉じたときの場所を記憶してくれます。 if has("autocmd") autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") <= line("$") | \ exe "normal! g'\"" | \ endif endif ② ファイル作成時に、指定したファイルから雛形が出来上がります。

    kssm
    kssm 2011/05/22
  • require 'rubygems' したときの挙動 - (゚∀゚)o彡 sasata299's blog

    2009年08月11日05:20 Ruby require 'rubygems' したときの挙動 以下の話は Ruby 1.8.6 , Rubygem 1.3.1 での話です。 バージョンによっては挙動が違う可能性がありますので注意して下さい。 gem って凄く便利ですよね。インストールもアンインストールも簡単で素晴らしいです。が、しかし、ロード順には気を付けてください。 gem でインストールしたライブラリを使うときには、まず最初に require 'rubygems' しますよね。このとき、custom_require.rb というファイルが読み込まれるんですが、その中で require が置き換えられています。 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb alias gem_original_require requi

    kssm
    kssm 2011/04/07
  • 1