タグ

2014年4月7日のブックマーク (5件)

  • 昨今の自分用Webアプリケーションひな形 - naoyaのはてなダイアリー

    ちょっと jQuery と簡単なサーバサイドの処理を組み合わせた処理を試しに書いてみよう・・・なんて時に、いちいち jQuery を取ってきて HTML を書いて script タグを書いてロードして sinatra 立ち上げて云々・・・というのが毎度面倒なので、ひな形になるアプリケーションを作った。 https://github.com/naoya/boilerplate ひとまず sinatra でサーバーサイドを書き、HTML は slim で、CSS は sass 。JavaScript は CoffeeScriptで書くにあたって jQuery、underscore、Backbone をロードしてある、というような構成にしてあります。 まあ、この類のことは人それぞれ自分なりにカスタマイズしてやっていると思いますが、どういうコンポーネントで構成しているかを、備忘録も兼ねてちょっと紹

    昨今の自分用Webアプリケーションひな形 - naoyaのはてなダイアリー
  • Mysqlでログ系テーブルを運用するときやっておきたいこと - 主夫ときどきプログラマ

    SNSやソーシャルゲーム、アドネットワークなどのシステムではいろいろなログ情報をDBに保存することもあると思います。 そのさい、日々増えつづけるデータやパフォーマンスをどの様にさばいていくかが重要になってきます。 今回はログ系のデータをMysqlでどのように運用していくか、をテーマにいくつかのノウハウをまとめました。 ログ系テーブルの特徴 ログ系のデータとは、つまり何かのアクションの履歴データのことです。 一般的にはこのような形になるかと思います。 CREATE TABLE `t_logs` ( `id` bigint(20) unsigned NOT NULL, `user_id` int(10) unsigned NOT NULL DEFAULT '0', `event_id` int(10) unsigned NOT NULL DEFAULT '0', `created` datet

    Mysqlでログ系テーブルを運用するときやっておきたいこと - 主夫ときどきプログラマ
  • そろそろ履歴データについて真面目に考えてみていいんじゃないの - iakioの日記

    WEB+DB PRESS Vol.75の「理論で学ぶSQL再入門/履歴データとの上手なつきあい方」が面白かったと感想を書こうと思っていたらもうVol.76が出そうなのでいい加減慌てて書きます。 さてこの記事では、リレーショナルモデルが苦手とするデータ構造の1つとして履歴データを挙げています。 もしかすると「履歴データ」であるということを気づかずにデータベースの設計、クエリの記述をしたことがあるかもしれません。 この記事ではショッピングサイトの価格表を例としています。 価格表が常に現在の価格のみを扱うのであれば問題ありませんが、ある期間に価格を変えたことも価格表に含めるのであればそれは「履歴データ」となります。記事から一部引用するとこんな感じ item price start_date end_date 懸垂マシーン 18000 2010-01-01 2011-12-31 懸垂マシーン 20

    そろそろ履歴データについて真面目に考えてみていいんじゃないの - iakioの日記
  • テーブル設計 データモデリングのエッセンス(1) | システム設計日記

    何回もデータベースを設計してきた。多くの失敗をしながら。その中から、こうすれば良い設計ができる、というデータモデリングやデータベース設計のノウハウが少し見えてきた。その要点をまとめてみる。 テーブルの役割を一つにする クラス設計と同じで、テーブルの役割は単純にすべきである。 関心のある情報のグループごとに別のテーブルに分ける。 例えば、商品にはさまざな属性情報がある。 ・仕様(色、サイズ、機能など) ・価格や割引ルール ・仕入れルート ・原価 ・在庫数 ・在庫場所 ・販売開始/販売停止の状態や予定日 など。 「商品」という一つの「なんでもテーブル」に情報を詰め込んで、アプリケーションプログラムのほうで、さまざまな検索条件を使い分けるのは、典型的なアンチパターン。 それぞれの情報ごとに別テーブルを用意して、ひとつのテーブルは、一つの関心だけを管理する設計が基。 役割が一つのテーブルの特徴

  • SQLにおける期間重複チェックの考え方

    特売期間とはいえ、特売金額が同じ日に複数あるのは問題なので 特売期間テーブルも商品マスタと同様に 同一商品IDによる期間重複制限を行います。 その前に、既に登録している特売期間のうち 特売期間がかぶっているデータの洗い出しを行わなければいけません。 というようなシチュエーションです。 期間重複しているデータを洗い出す方法を考えてみます。 テストデータの考え方 期間の重複が発生するデータパターンを洗い出します。 通常の販売期間と特売期間がかぶっているパターンはケース6まで 念のためテストデータとしてケース9まで用意します。 ケース1 特売期間が通常販売期間に内包 ケース2 特売開始日が通常販売期間の開始日をまたぐ ケース3 特売終了日が通常販売期間の終了日をまたぐ ケース4 特売期間が通常販売期間より長い ケース5 特売日(当日のみ)が通常販売期間の開始日と一致 ケース6 特売日(当日のみ)