タグ

ブックマーク / nippondanji.blogspot.com (85)

  • DB設計の難しさ

    今日は徒然なるままにDB設計について思っていることを並べてみようと思う。 ようやくWEB+DB Pressの次号の原稿を書き終えた。2年間の連載であるが、来年はプライベートが忙しくなる予定なので、連載はこれにて終了とさせてもらうつもりである。 「なぜ人はリレーショナルデータベースを使いこなせないのか」 このところ執筆や講演を通じてリレーショナルモデルについて説明する機会を色々頂いているが、それらの活動の根源となっているのが、この素朴な疑問である。その疑問をパワーにしてこれまで活動を行なってきた。 現時点での自分の回答は「データベース設計が難しいから」である。もちろんリレーショナルモデルそのものの難しさというのもあるが、それよりは「適切な使い分けができていない」ということが大きいように思う。言葉を変えると、リレーショナルモデルを適用すべきデータとそうでないデータの判断ができていないからDB

    DB設計の難しさ
  • リレーショナルモデルのドメイン設計についての議論

    リレーショナルモデルを実践するには、ドメイン(≒データ型)を如何に正しく設計するかということが極めて重要になる。しかしながら、ドメインをどう設計すべきかという議論はあまりされていないように思う。その結果、ドメインについての理解はあまり進まず、データベース設計に失敗しているパターンが多いように思われる。 というわけで今日のテーマはドメインである。 集合を定義するリレーショナルモデルにおけるデータ型とは何か。リレーショナルモデルを実践するにはまずその点から理解する必要がある。 リレーショナルモデルでは、データ型はドメインと呼ばれる。ドメインとは、その属性(≒カラム)に入るべき値はどういったものかを集合として定義したものだ。言い換えると、属性値とはある集合の要素の一つであると言える。従って、ドメインを設計する際には、SQLで言うところのデータ型、つまりINTやCHARといったものだけでなく、その

    リレーショナルモデルのドメイン設計についての議論
  • ヒゲモジャのギークが提案する技術習得戦略

    先月、Dbtech Showcaseで松信さんがデータベース技術の羅針盤という講演をされた。残念ながらプレゼンそのものを観に行くことはできなかったが、その前の日に松信さんと一緒に昼飯をべたとき、講演のあらすじについては伺っていた。その際にも同じようなことを松信さんには言ったのだが、スライドを見直した上で改めて自分の意見をまとめておこうと思ったので筆をとることにする。 なお、このエントリではスライドに書かれているトピックについて語るので、まだ松信さんのスライドを見てない人は先にスライドに目を通してからエントリを読んで欲しいと思う。結論は全く違った方向に進んで行くが、その点は了承して頂きたい。 あなたに選択肢はあるか?ひと握りの天才なら自分の興味のある分野を開拓することができるだろう。あるいはすでに成功を収めた人であれば転職に困ることはないので、成功しそうな会社に乗り換えることもできるだろ

    ヒゲモジャのギークが提案する技術習得戦略
  • 隙がなくなったMySQL Cluster 7.3登場!!これで勝つる。

    MySQL Cluster 7.3の正式版がリリースされた。このバージョンで追加された新機能は少ない。だが、これまでにリリースされたMySQL Clusterのバージョンの中で、この7.3こそが最も重要なバージョンである!と私は考えている。新機能は少ないが非常に重要なものが詰まっているからだ。今日はMySQL Cluster 7.3の新機能について見てみよう。 外部キー制約、来たる!何を差し置いてもまず重要なのが、外部キー制約である。長年InnoDBでは使えるが、MySQL Cluster(NDBストレージエンジン)には実装されていなかった。外部キー制約が使えないという理由でMySQL Clusterを採用しなかったという人も多いだろう。 だが、それはこれまでの話だ。MySQL Cluster 7.3なら外部キー制約が使える!! メジャーどころのRDBMSなら当たり前のように搭載されている

    隙がなくなったMySQL Cluster 7.3登場!!これで勝つる。
  • MySQLのmanページのライセンスについて

    MySQLのmanページのライセンスがGPLからプロプライエタリライセンスに変更されたというようなことが騒ぎになっている。既にご存知の方はいらっしゃるだろうが、これはバグであり意図して行ったものではない。何故このようなバグが起きたかということも含め、今日はmanページにまつわる話をしたい。 バグが起きた仕組み結構な人が「バグでそんなことが起きるの?」と考えたようだ。「manページのマニュアルを差し替えるなんて人為的にやらなきゃ起こり得ない」という思考だろう。そう考える前にひとつ事実を知ってほしい。そもそもMySQLのソースコードとmanページはもともと別個に管理されているということを。 どれでもいいので以下のページに記載されてあるリポジトリをコピーしてみてほしい。 MySQL Server in Launchpad 5.6なら例えば次のコマンドを実行すれば良い。 shelL> bzr br

    MySQLのmanページのライセンスについて
  • 書評:「7つのデータベース 7つの世界」

    訳者、角 征典氏より献御礼。「7つのデータベース 7つの世界」はそのタイトルの通り、7種類のデータベースソフトウェアについて解説したNoSQLの道標とも言うべき書籍である。7種類のデータベースとして紹介されているのは、PostgreSQL、Riak、HBase、MongoDB、CouchDBNeo4j、Redisである。書は非常にそそるタイトルであり、わくわくしながらページをめくった。だが、第2章「PostgreSQL」で期待感は打ち砕かれることになる。 正直なところ、この書籍について書評を書くのはどうしようか迷ってしまった。なぜならば、第2章の説明がかなり間違っているからである。そのため、書評を書こうとするとどうしても辛口にならざるを得なかった。献して頂いた角氏にその旨を伝えたところ、それでも良いと快く了承して頂いた。当に辛口になるのでその点は容赦して頂きたい。 何が問題なのか

    書評:「7つのデータベース 7つの世界」
  • Ubuntu脱出計画その1 〜動機編〜

    実は最近Ubuntuから別のディストリビューションに転向した。そろそろ新しい環境にも慣れてきたのでエントリにまとめようと思う。 だが、新しい環境について語る前に、なぜUbuntuから乗り換えたのかということについて語ろうと思う。語らなくて良い?いや、まあそう言わずに聞いて行って頂きたい。 Ubuntuの何が問題なのか 機能や性能という点ではUbuntuに特に不満はなかった。Ubuntu性能面では少し劣ると言われているが致命的なほどではなかったし、何より日々の作業に支障はなかった。では何故乗り換える必要があったのか。それは我らがリチャード・ストールマンの意向に従いたかったからだ。 少し古い話になるが、リチャード・ストールマンはフリーソフトウェア財団のサイトにおいて、Ubuntu Spyware: What to do? という記事で「Ubuntuがスパイウェアだ!」と痛烈に批判している。日

    Ubuntu脱出計画その1 〜動機編〜
  • 【書評】まさに万人のためのPython入門書「みんなのPython 第3版」

    著者、柴田氏より献御礼。Python入門書籍の定番中の定番が、なんと第3版まで到達した!!しかもバージョン3対応!!というわけで拝読させて頂いたのでレビューをしてみたいと思う。 プログラム初心者にもおすすめまずこの点を強調したい。書はプログラムの初心者にも非常にオススメである。関数とは何か、変数とは何か、オブジェクトとは何かということを分かりやすいアナロジーを用いて解説してくれている。Python以外でも、ここまで丁寧に「プログラミングとはどういうものか」ということについて解説してくれている書籍は無いのではなかろうか。もちろんコンピュータ業界でメシをっている人であれば関数や変数などの概念は身近なものであるが、それでも「ほう、そんな説明の方法があるのか!」と楽しんで読み進めることが出来るだろう。 例えば、以下は変数のスコープの説明をするのに「机」を例にした説明の抜粋である。 Pyth

    【書評】まさに万人のためのPython入門書「みんなのPython 第3版」
  • MySQL 5.6正式リリース!! #mysql56

    待望のMySQL 5.6が正式にリリースされた。正式版の最初のバージョンは5.6.10である。コミュニティ版(MySQL Community Server)は下記のページからダウンロードできるので、ぜひ今すぐダウンロードして頂きたい。 MySQL Downloads MySQL 5.6のリリースにあわせて、GUIツールであるMySQL Workbenchやドライバも新しいバージョンがリリースされており、MySQL 5.6対応となっている。それらの周辺ソフトウェアもチェックして頂けると幸いである。 新機能について正式版の機能はリリース候補版の頃から特に変更はない。(リリース候補版まで到達したということは、正式版の機能セットは固まったということであり、大きな機能の変更はないことを意味するからだ。)なので新機能については、リリース候補版が出たときに書いたエントリを参照して頂きたい。 漢(オトコ)

    MySQL 5.6正式リリース!! #mysql56
  • 紹介:【書籍】SQLアンチパターン

    リレーショナルデータベースの父、エドガー・F・コッド氏が論文を発表したのは1970年。私が生まれる前の話である。そしてSQLがANSI標準になったのが1986年。RDBMSを、そしてSQLを使ったシステム開発は常に主流で在り続けたと言っても過言ではない。そんな歴史のあるSQLであるが、未だに多くの人はSQLを使いこなせて居ないように見える。 SQLはとても奥が深い。ソートやトランザクションが使用出来るおかげで、リレーショナルモデルを無視して単なるデータの入れ物として使ってもそれなりに便利だったりする。だが、それが今現在多くの悲劇を生んでいる原因でもある。多くの人が同じようにSQLを理解せず、そのため多くの人が同じ悲劇に見舞われる。そう、それがアンチパターンである! 今回紹介するSQLアンチパターンは、洋書SQL Antipatternsの邦訳版だ。私は元々英語版のファンでであり、人々が陥り

    紹介:【書籍】SQLアンチパターン
  • 書評:"人権侵害救済法"で人権がなくなる日

    皆さんは人権侵害救済法というものをご存知だろうか?元々は人権擁護法案という名前であったが、これまで再三に渡り審議されたが成立せず一度は廃案になった法律である。それが再び人権侵害救済法案という名称で蘇り、野田内閣が閣議決定してしまった。(参照:人権救済法案閣議決定、選挙に向け「どさくさ紛れ」で実績作り 保守系から強い懸念+(1/2ページ) - MSN産経ニュース、人権救済法案を閣議決定 解散にらみ“実績作り” 人権団体へのアピール急ぐ  - MSN産経ニュース)ダウンロード刑事罰化の件もそうだが、水面下でこっそりと民意が反映されない法律が通ることは珍しくない。そして、この人権侵害救済法というのは、超弩級に危険な法律なのである!! 以下、ネタバレ注意。 人権侵害救済法の問題点 人権侵害救済法の問題点はまとめると次のようになる。 人権侵害は既存の法律の枠組みの中でほとんどの場合は対応可能である。

    書評:"人権侵害救済法"で人権がなくなる日
  • Windows 8が出たのでPCの今後について考えてみた。

    Windows 8が発売された。 既存の操作方法とかなり異なるUIを持ったこのOSが果たしてユーザーの支持を得ることができるのか、筆者としては大変興味深い。深夜の発売イベントは相変わらず熱狂的だったようであるが、一般人にまでも広くこの熱が伝わるかどうかが興味の対象である。今日はWindows 8の機能とPCの将来について考察してみようと思う。 これまでのWindowsの優位性を再確認する 人はなぜWindowsを使うのか。数ある理由の中で最も大きなものはWindowsが市場をほぼ独占しているということが挙げられる。その結果としてサードベンダーがWindowsにしか対応しないソフトウェア、ハードウェアを数多くリリースしてきた。「このソフトが使いたい」「デバイスがWindowsにしか対応していない」といったことは当によくある。実際、人はOSを使いたいのではなく、OS上で動くアプリケーションが

    Windows 8が出たのでPCの今後について考えてみた。
  • mixiさま、では意見を聞いてください。

    最近、mixiがユーザーファーストと称して「皆様のご意見を聴かせてください」という取り組みを発表した。来月実施されるらしい。mixiはライバルたちとの戦いで色々と苦しい状況に立っており、この取り組みも足掻きのひとつなのだろうと勝手に想像しているが、はっきり言わせてもらうとユーザーから声を聞いてもあまり良い糸口は見つからないだろう。きっとmixi自身が期待するような答えしか返ってこない。たとえば「この機能のどこそこが不満だ」だの「ユーザーインターフェイスが使いにくい」だのといった類のものだ。想定内の回答を聞いたところで、せいぜいタスクの優先順位が変わるだけだろう。それでは何の解決策も見いだせない。 今日は敢えてmixiを斬らせてもらう!なぜか。そうすることによって伝えたいことがあるからだ。 筆者とmixi 筆者はmixiのことが嫌いとかそういうことは一切ない。実はmixiはかなり長い期間使っ

    mixiさま、では意見を聞いてください。
  • 開発スピードアクセル全開ぶっちぎり!日本よ、これがMySQL 5.6だッ!!

    米国で行われているMySQL Connectというイベントで、ついにMySQL 5.6 RC(リリース候補版)が発表された。リリース候補版ということは、これが次の正式版になるということだ。MySQL 5.5は5.1から凄まじい進化を遂げたバージョンであった。だが、MySQL 5.6はさらにそれを上回る進化を遂げている!正直ここまでの進化を誰が予想しただろうか、いや誰も出来なかったであろう。これまで、α版が出たときから何度か新機能について紹介してきたが、今回改めてMySQL 5.6の新機能を振り返ってみようと思う。すべてまとめるともの凄い内容だ。興奮して夜も眠れなくなること請け合いだ。MySQLの進化が止まるのでは?などという心配は吹き飛び、もはやもうちょっと小出しにしなくて良かったのか?と心配してしまうレベルである。 それではMySQL 5.6の新機能について紹介していこう。 InnoDB

    開発スピードアクセル全開ぶっちぎり!日本よ、これがMySQL 5.6だッ!!
  • PanasonicのNC-A55Pは抜群に美味いコーヒーが飲めるが見た目はダサかった。

    最近、コーヒーメーカーが水漏れを起こすようになったので買い換えた。以前使っていたのはデロンギのCMB6という製品で、至ってシンプルで使いやすく、見た目もオシャレなので気に入っていたのだが、保証期間である1年をわずかに過ぎたところで壊れてしまったのだ。ギークたるもの一日足りともコーヒーを欠すことのできない生き物である。すぐさま新しいコーヒーメーカーをゲットせねば!というわけで、新しい物を購入した。また同じ製品でも良かったのだが耐久性が気になったので、今度はPanasonicのNC-A55Pという製品をチョイスしてみた。 それが先日届いたので思うところを書いてみようと思う。 味は抜群!!このPanasonicのコーヒーメーカーを使ってみてまず驚いたのが、コーヒーが抜群に美味いということだ。デロンギのCMB6も良かったのだが、明らかにPanasonicのNC-A55Pのほうが美味いのだ。ちなみに

    PanasonicのNC-A55Pは抜群に美味いコーヒーが飲めるが見た目はダサかった。
  • 最高の土管が欲しい

    筆者は1年半ほど前に携帯のキャリアをドコモへ変更した。それまではソフトバンクを使っていたのだが、筆者の生活圏との相性が良くなかったようで、電波の状況が芳しくなかったのだ。ドコモへ変更してからは電波状況は満足のいくものとなった。しかし電波状況以外の問題で返って不満が募る結果となってしまった。なぜか?ひと言で表すとサービスに制約が多すぎるからだ。様々な不満を心に抱いていたところ、次のようなニュースが報じられた。 ドコモ社長「米アマゾンになる」 来年度からモバイル通販で野菜、健康機器など販売 - SankeiBiz(サンケイビズ) このニュースには閉口せざるを得ない。不満が爆発してしまいそうなので、ここらへんでひとつぶちまけてみようと思う。 IMEI規制 まず一つ目の問題は、それまで使用していたSIMロックフリー端末が使えなくなってしまったということだ。正確にいうと使用できるのだがデータ通信費が

    最高の土管が欲しい
  • ダウンロード刑事罰化について考える

    先日、あろうことか国会において議員立法でダウンロードの刑事罰化の法案が可決してしまった。これは日という国の発展にとって由々しき事態である。これはまさに日の経済の発展にとって非常事態であると言っても過言ではない。しかしながら我々は今現在この日で暮らしている真っ最中であり、ただ黙って日が没落していくのを見ていくわけには行かないだろう。そこで、今回はダウンロード刑事罰化について、その問題点と我々が取るべき行動について論じてみようと思う。 これまで見ていたウェブページが見られなくなるか 我々にとって直接的に影響が出ると考えられるのはまずこの点だ。だが待って欲しい。我々はどうやってそのようなコンテンツを避けて通ればいいのだろうか。「このページの閲覧およびコンテンツのダウンロードは違法です」と宣伝しているウェブページがあるだろうか?あるファイルをダウンロードすることが違法だと判別するにはどうす

    ダウンロード刑事罰化について考える
  • はてなが信頼を回復するためにすべきもうひとつのこと

    最近、はてなが提供するはてなブックマークのボタンによってユーザーの行動情報を第三者に販売していたことが問題になっている。問題の詳細については下記のページが詳しい。 ブログパーツやソーシャルボタンの類でアクセスログが残るのは当然だけどトラッキングされるのは当たり前にはなっていない - 最速転職研究会 はてなブックマークボタンのトラッキング問題で高木浩光先生が決別ツイートをするに至った経緯まとめ - NAVER まとめ これに対してはてなはすぐに販売をとりやめ、謝罪するに至った。このことはいくつかのニュースメディアでも取り上げられている。 はてな、「はてブ」ボタンから取得した行動情報の第三者提供取りやめ 近藤社長「間違った情報の使い方」と謝罪 - ITmedia ニュース はてな、ブックマークボタンで周知せず行動情報取得を行なっていたことを謝罪 -INTERNET Watch 「はてなブックマ

    はてなが信頼を回復するためにすべきもうひとつのこと
    Naruhodius
    Naruhodius 2012/03/15
    ????????
  • あなたのサイトのJavascriptが自由なソフトウェアのであることを表示しよう! Javascript License Web Labels登場。

    フリーソフトウェア財団から、JavaScript License Web Labelsという取り組みについての発表があった。これはひと言でいうと、ウェブページ上で使われているプログラミング言語であるJavascriptのライセンスをきちんと表示しようという取り組みだ。なぜそのような仕組みが必要なのか?どうやって使うのか?ということについて今日は説明しようと思う。 ユーザーの了承なしに実行される無数のJavascriptコードたち Javascriptはかつて、ウェブページのちょっとした装飾というような目的で主に利用されていた。それはページの内容に大きな影響を及ぼすものではなく、とてもささやかなものであった。しかし、今は事情がまったく違う。ウェブページに付随するJavascriptは年々大きくなり、Google Docsのようにワープロや表計算までをも実行されるようになった。それはもはやささ

    あなたのサイトのJavascriptが自由なソフトウェアのであることを表示しよう! Javascript License Web Labels登場。
  • 私は如何にしてWindowsの呪縛から逃れ、Linuxデスクトップという涅槃の環境にたどり着くことが出来たのか。

    先日、いますぐWindowsを捨ててデスクトップでGNU/Linuxを使う10+の理由というエントリを書いたところ結構な反響があったと同時に、「Windowsから離れることなんて出来るワケがない」という否定的な意見も多く見られたように思う。確かにWindowsにしか存在しないソフトウェアを使う作業(例えばボカロ作曲)などをライフワークにしている人はWindowsから離れることはできないだろう。 最近はMacユーザーが劇的に増えてきた。筆者もかつては仕事Macを使っていた。Macでも仕事を進める上で困ることはほとんどなかった。(現在もそのMacは使っているが、OSXではなくPear OSが動いている。)筆者が幸運にもWindowsに縛られない仕事だったということも大きいだろう。(仕事上どうしてもWindowsから離れられないという人にはまず転職をお勧めしたい。プログラマやDBAなどのエンジ

    私は如何にしてWindowsの呪縛から逃れ、Linuxデスクトップという涅槃の環境にたどり着くことが出来たのか。