タグ

2014年1月15日のブックマーク (6件)

  • Stack Overflowのアーキテクチャ - ワザノバ | wazanova

    http://www.youtube.com/watch?v=OGi8FT2j8hE1 comment | 0 pointsドイツのハンブルグで開催されたDeveloper Conference 2013で、Stack Overflowのアーキテクチャが紹介されてます。 Stack Overflowのネットワークは、110 Q&Aサイト、430万ユーザ、質問760万件、回答1360万件、月間5億6千万ページビュー サーバ25台: ウェブサーバ11台(内9台でほぼトラフィックさばく)、ロードバランサ1台 (+ 予備1台)、DBノード4台、アプリサーバ3台、検索サーバ3台(Elasticsearch)、Redisサーバ2台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ

  • Rails4のconcernsなmoduleのテストをrspecで書く方法 - リア充爆発日記

    Railsとcapybaraで何かをドラッグアンドドロップしてソートするテストを書くではカテゴリをソートするfeaturesなテストを書いたけど、アレには当然modelのテストもある。 モデルにはCategory.reorderという並び替えを行うメソッドがあって、これのテストはcategory_specに書いていた。 が、別の種類のカテゴリが必要になり、もともとあったCategoryと同じ仕様でソートができる仕様であったため、FooCategoryとBarCategoryに分け、このソート処理をconcernsの下にCategorySortable moduleとして切り出した。 app/models/concerns/category_sortable.rb module CategorySortable extend ActiveSupport::Concern included d

    Rails4のconcernsなmoduleのテストをrspecで書く方法 - リア充爆発日記
  • [Ruby] privateメソッドの本質とそれを理解するメリット - Qiita

    概要 Rubyのprivateメソッドを支える、2つのルール ルールを知る事によるメリット ※前者はメタプログラミングRubyより。 2つのルール privateメソッドを呼び出す時は、レシーバは指定できない 自分(self)以外のオブジェクトのメソッドを呼び出すには、レシーバを指定する必要がある ルール1 privateのついたメソッドを呼び出す時は、レシーバは指定できない 例として、レシーバ指定しないパターンと、 明示的にレシーバ指定してしまうパターンを試してみます。 class Sample1 def s1_call_private s1_private # 通常の呼び出し end def s1_call_private_with_receiver self.s1_private # あえてレシーバ(self)を明示して指定 end private def s1_private p

    [Ruby] privateメソッドの本質とそれを理解するメリット - Qiita
  • 【拡張】論理和できるenumを書いてみた【gem】 - MUGENUP技術ブログ

    新年あけましておめでとうございます! MUGENUP の osada です。 2014 年は挑戦の年、ということで、MUGENUP でも新しい事業を初めています。 ゲームライター・編集者募集中|みなゲー みんなで作るゲーマー向けの攻略サイト「みなゲー」。 その攻略記事を書いてくださる方を募集しています。 スマホゲームなら俺に任せろ!という豪の方、攻略記事を書いてみませんか? 開発部でも、新しい挑戦としてRuby 2.1、Rails 4.1 で開発を初めています! 新機能 enum Rails 4.1 に enum という新機能が実装されました。 Ruby on Rails 4.1 Release Notes — Ruby on Rails Guides class Conversation < ActiveRecord::Base enum status: [ :active, :arch

    【拡張】論理和できるenumを書いてみた【gem】 - MUGENUP技術ブログ
  • ClassMethodsについて

    railsのコード読んでると結構目にするmodule ClassMethods。 名前から一応類推できるのでスルーしてたのですが、GWで時間もあったので調べてみました。 クラスメソッドの追加クラスメソッドの追加にはいろいろ方法があります。 class定義内でselfを使ってクラスメソッドを定義する クラス定義内ではselfがそのクラスになります。 なので、下記のようにクラスメソッドを定義できます。

    ClassMethodsについて
  • 長くなりがちなRailsのモデルをきれいに分割する - Qiita

    FrogApps 技術ブログ始めました! RailsやiOS、HTML5の情報を発信中!! → http://qiita.com/teams/frogapps Railsでアプリを作っていると、app/models/以下にあるモデルファイルの行数が非常に長くなることになります。 そこでincludeメソッドを使ってモデルファイルを機能毎に分割してみましょう。 ファインダー関係のメソッドだけを、user/finder.rbに切り出します。 このときクラスメソッド関係は通常の定義方法が異なります。 クラスメソッドの定義は、ClassMethodsモジュールの中で行う様にします。 has_many, belongs_toなどのクラスメソッドの実行は、self.includedの中でbase.has_manyの様にして呼び出します。

    長くなりがちなRailsのモデルをきれいに分割する - Qiita