データベースの設計

/web/server-side

あるシステムにDB(データベース)を実装しようとする場合、RDBMSにOracleを使うかMySQLにするかPostgreSQLを選択するかってのもあるけど、まず実際どういうDBにするのか設計すると思う。Sig.の場合、設計時のコンセプトは次の2つ。

  • 重複を避ける
  • 求めるデータを「特定できる」ようにする

DB設計を厳密に行う手法には「リレーションの正規化」というものがある。これはデータの一貫性を維持し、不整合と冗長性を避け、効率的なアクセスを可能にするための設計手法。単に正規化ともいう。正規化には幾つか段階があるけど、実務の際には第三正規形までに止めて、それで十分とする場合が多い。その場合のポイントは、大まかに3つ。

  1. 繰り返しを避け、分割する
  2. キーと非キーに分ける
  3. キーとなりうる項目を分割する

あらかじめSQLでデータを取得することに慣れていると、設計から入るより楽に覚えられると思う。

»続きがあります

『ヱヴァンゲリヲン新劇場版:序』みてきた

/recommend/movie

なんか評判良いみたいなので混んでるかもな~、と思ってAM2:05からのレイトショーで見てきました。こっちはガラガラ。ど真ん中、大音響で堪能してきました!

うん。良かった。なんといっても戦闘シーンが圧巻! 特に正八面体のカレは変形するとは聞いてたけど、せいぜいドリルくらいだろうと思ってた俺の予想を一足飛びで裏切ってくれました。ありゃスゴイよ。使徒つえぇぇぇ! ここだけ取ってもDVD出たら買ってやろうと決意した出来映え。庵野さんGJ。

以下、ネタバレ含む感想およびメモ書き。

»続きがあります

古いノートPCにLinuxを入れる

/web/server-side

そろそろバックエンドの勉強に力を入れようと思っていて、テストサーバが欲しくなってきた ...ので、現PCに代えてから長いこと置物になっていた愛機 Thinkpad X22 に復活してもらうことにした。ディストリビューションは Debian 。理由としては Update が楽だからってのもあるけど、単に会社で使ってるから。実益も兼ねてってことで。

さて、このマシン... HDD以外のドライブを持たない1スピンドル機でして、光学ドライブはDVDはおろかCD-Rドライブすら付いてません。なので、まずは付属のUSB-FDDを使用して挑戦。ところが、これが巧くいかない。

»続きがあります

JavaScriptの変数とスコープ

/web/javascript

一度しっかり試しておきたかった変数とその有効範囲について。

  • JavaScriptには変数の型という考え方がない(任意のデータ型の値を代入できる)
  • JavaScriptでサポートされるデータ型には、基本型と参照型がある
  • 参照型の変数には、参照が格納される(実際のデータ値ではない)
  • 関数、配列、オブジェクトなどが参照型
  • 変数の有効範囲を、その変数のスコープという
  • 暗黙的に宣言された変数は、必ずグローバル変数になる
  • 関数の内部で暗黙的に宣言された場合でも、グローバル変数になる
  • var文で宣言した変数は、ローカル変数になる
  • ローカル変数のスコープは、その変数が宣言された関数の中だけに限定される
  • 関数の中にグローバル変数と同じ名前のローカル変数があった場合は、ローカル変数が優先される
  • ある関数で宣言された変数は、「関数全体」で有効(値はともかく、宣言自体に順序は関係ない)
  • 関数の引数もローカル変数の仲間

»続きがあります

Coolなアニソンを集めてみた

/recommend/music

ふと思い立って、個人的に最高にクールだと思うアニソンを集めてみた。

マクロスプラスの挿入歌『INFORMATION HIGH』。神曲が多いこの作品の中でも特に評価が高いこの曲は、実はサントラには含まれておらず、作中で絶大な人気を誇るヴァーチャルシンガー、シャロン・アップル名義で出されたアルバム『THE CREAM P・U・F style=』に含まれています。

»続きがあります