タグ

databaseに関するasonasのブックマーク (11)

  • プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight

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

    プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight
  • データベース設計徹底指南

    DBエンジニアのための技術勉強会(第3回)で使用した資料です。主にリレーショナルモデルと正規化について解説しています。リレーショナルモデルの限界について正しく認識してこそ、リレーショナルモデルを理解したと言えると思います。

    データベース設計徹底指南
  • 関連モデルの命名 - 鳩舎

    今日は Rails での『関連モデル』の名前について考える。 構造としてはこんな感じ。 ・ルーム(Room)に所属するユーザー(User) ・ルーム(Room)での管理者権限を持つユーザー(User) どちらの関連も N:N の関連。いわゆる has_may な感じ。 で、こういう時の命名って Room モデルと User モデルだから RoomUser とか UserRoom とかっていうモデルやテーブルを作りがちなのだけれど、今回は同様の形態の関連が2つあるのでちょっと微妙な事になりそう。 っていうか、まずもって RoomUser モデルってなんだよ。なんのモデルだよそれ。って感じなので名前を考える。 ルーム(Room)に所属するユーザー(User) 関連モデルのデータは大抵2つのフィールドを持っている。 Migration あたりから抜き出すと t.references :room

    関連モデルの命名 - 鳩舎
  • PofEAA's Wiki - DataMapper

    原文: http://www.martinfowler.com/eaaCatalog/dataMapper.html Mapper (473) レイヤは、オブジェクトとデータベース間でデータを移動させる。データは、オブジェクト、データベース、およびMapperから独立させる。 解説の全文は『PofEAA』 165 ページを参照。 オブジェクトとリレーショナルデータベースは、 異なるメカニズムでデータを構成している。 オブジェクトの多くの部分(コレクションや継承など)は、 リレーショナルデータベースでは表すことができない。 多くのビジネスロジックを伴ったオブジェクトモデルを構築する場合、 データおよびデータに付随する振る舞いをうまくまとめるために、 このメカニズムを使うことは非常に大切である。 これによりスキーマが異なったままとなる。 つまり、オブジェクトスキーマとリレーショナルスキーマは

  • ActiveRecordのSQLの実行箇所をSQLのコメントに入れる - walf443's blog

    arproxyを使うと、SQLにフックして色々書きかえることができて非常に便利ですね。 module Arproxy class QueryLocationCommentAppender < Arproxy::Base WHITE_LIST_WORD_RE = %r{^[a-zA-Z0-9\-_/:\?]+$} def execute(sql, name=nil) if ENV["ARPROXY_QUERY_LOCATION"] # SQL Injection対策 # コメントの閉じ文字がパラメータに含まれていなければ大丈夫なはず if ENV["ARPROXY_QUERY_LOCATION"].index("*/").nil? # 制御文字や、マルチバイトの文字を防ぐため、文字種を制限する if ENV["ARPROXY_QUERY_LOCATION"] =~ WHITE_LIST_WO

    ActiveRecordのSQLの実行箇所をSQLのコメントに入れる - walf443's blog
  • デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    最近、「おおおー、これは凄い、すんばらしい!」と思ったことがあるので、それについて書きます。 最初に言葉についてのお断り; "categorical"の訳語をどうしようか? と。片仮名で「カテゴリカル」が無難ですが、漢字で書きたい。「圏論的」が落ち着きがいいようですが、必ずしも「論」の意味を含まないときもあります。そこで、以下、「圏的」を使います。 [追記 date="2013-02-12"]入門的解説を書きました。→「衝撃的なデータベース理論・関手的データモデル 入門」[/追記] スピヴァックと関手的データモデル デイヴィッド・スピヴァック(David I. Spivak, http://math.mit.edu/~dspivak/)は、MITの研究者です。 彼は圏的情報学(categorical informatics)を提唱しています*1。圏的情報学の中心的な概念が関手的データモデル

    デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • iOS 5 から WebWorker と Web SQL Database(同期) が使えます - latest log

    モバイルブラウザでは、 WebWorkers は利用できない Web SQL Database で定義されている 同期SQL (openDatabaseSync)も利用できない と考えていましたが… やってみたら使えました。 デモ 以下は、現在時刻を WebWorkers 上でDBに保存/取得し表示するコードです。 <!DOCTYPE html><html><head><meta charset="utf-8"> <title>WebWorker in SyncSQL example</title> <script> var worker = new Worker("worker.js"); worker.onmessage = function(event) { var result = event.data.result; alert(result); // Date.now() };

    iOS 5 から WebWorker と Web SQL Database(同期) が使えます - latest log
  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
  • 分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi

    分散Key-Valueストア kumofs を、日オープンソースソフトウェアとしてリリースしました! kumofs@SourceForge kumofs関連資料まとめ kumofsとは? kumofs(クモエフエス)は、実用性を重視した分散データストアです。レプリケーション機能を備え、一部のサーバーに障害が発生しても動作し続けます。単体でも高い性能を持ちながら、サーバーを追加することで読み・書き両方の性能が向上する特徴を持ち、低コストで極めて高速なストレージシステムを構築・運用できます。 kumofsの大きな特徴は、システムの構成の簡単に変更できる点です。システムを止めることなく、簡単な手順でサーバーを追加したり復旧したりできます。アプリケーションには一切影響を与えません。 またkumofsは、広く利用されている分散キャッシュシステムの「memcached」と互換性のあるプロトコルを実装

    分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi
  • mysqlで日本語全文検索の効果 (Nega Diary)

    DBにて、いろいろ試行錯誤しながら、日語による全文検索を実装することができた。 はたして当に効果があったのだろうか・・・と調べてみる。 全レコード数:32740 フィールド(フィールドタイプ:TEXT)には、日語による文章を入れてあり、 全体のうち、4つのレコードのに世界最大のカルデラを持った阿蘇5岳の一つ、山頂のギザギザが特徴的な根子岳です。(省略)という文章が入っている。で、全レコードから「ギザギザ」という文字で検索するとする。この4レコードを探すとする。 LIKEでやる場合、 SELECT * FROM `main` WHERE COMMENT LIKE "%ギザギザ%" レコード表示 0 - 3 (4 合計, Query took 3.1908 sec) と、3秒ちょっとかかった。(実はサーバ自体の性能もあまりよくないんだけれど) EXPLAINすると、ro

  • 風俗未経験の40代がソープで稼ぐには?

    今回のテーマは風俗未経験の40代です、ソープで稼ぎたいですと言う事についてです。年齢はアラフォーを過ぎた40代、そして業種はソープ、仕事ができそして稼げるのかというところをメインにこれから色々と書いて行きたいと思います。 目的意識と現実 風俗未経験の40代です、ソープで稼ぎたいです、と言うのが今回のテーマになります。40代でソープ未経験、そしてなおかつ稼ぎたい、この状況を客観的に見たとき正直厳しいと言えると思います。もちろん40代と言っても色々な女性がいます、容姿も違えば生きてきた過程も人それぞれ違ってくるでしょうから一概に厳しい、そして絶対に稼げないとまでは言いません。しかし、厳しい現実があるかもしれないと言うことは覚悟しておくことが大切だと思います。何れにしても、40代でソープ未経験、このステータスで雇ってもらえるソープ店があるのか?そして自分を雇ってもらえるお店を探すところから始めな

    風俗未経験の40代がソープで稼ぐには?
  • 1