タグ

設計とRailsに関するnsyeeのブックマーク (3)

  • RailsでModelをDBから分割・整理する - リア充爆発日記

    それなりの規模のRailsプロジェクトではよくFat Model問題とかFat Controller問題が課題になってくる。 で、Fat Model問題については、Concernsなどに振る舞いを切り出したり、そもそも「それって1つのテーブルに収める必要ある?」というものを分割するなどの対策がある。 後者については、http://kenn.hatenablog.com/entry/2014/03/05/081525 この記事がわかりやすいサンプルとしてUserモデルからProfileモデルをテーブルごと切り出す例を挙げている。 今僕が関わっているプロジェクトでも上記例のように姓名などはProfileに切り出してあり、その他も住所関連の情報をAddressに、「退会理由」みたいなめったにつかわない情報をExtraInfoに、といったように意味合いと使用頻度を考慮していくつか分割する設計になっ

    RailsでModelをDBから分割・整理する - リア充爆発日記
  • プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight

    おそらく多くのソーシャル系アプリにあてはまるRailsのプチ・デザインパターン的な話。 ぼくが今やっているEast Meet Eastには、ユーザごとに数多くのプロフィール属性があります。名前、性別、生年月日、郵便番号、職業などなど、カラム数にしてざっと25個。これを、全部ひとつのusersテーブルに詰め込むのは、コードの見通しという観点からも性能の観点からも、あまりよろしくありません。 なぜならば、ユーザ関連の情報を扱う局面としては主に メールアドレスとパスワードなどを使ってログインする(アカウント情報) プロフィール情報で条件を指定してユーザを検索・推薦する(プロフィール情報) という2つの独立性の高いユースケースにわかれるため、ログイン処理をやってるときにはプロフィール情報はいらないし、プロフィールを検索してるときにはメールアドレスやパスワードをロードするのは無駄です。また、開発やデ

    プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight
  • RailsアプリでER図とかクラス図を作る - Qiita

    あんまり日常的に開発で使うことなさそうだけど、誰かにアプリの概要を説明したり、QiitaとかでサンプルアプリのER図を見せたい時とかに使えるGemたち。 preston/railroady voormedia/rails-erd この2つ。railroadyの方はモデルのER図だけじゃなくて、コントローラーなどのクラス図なども作成できる。 前提 Rails v4.x Graphviz v2.22 Graphvizというパッケージが必要になる。GraphvizとはDOT言語というスクリプトをグラフに描画してくれる良い感じのやつらしい。どうでもいいけど、DOT言語ってカッコいいな…。 Graphvizのインストール yum系

    RailsアプリでER図とかクラス図を作る - Qiita
  • 1