2006-01-01から1ヶ月間の記事一覧

1リクエストで複数コネクションを取得してはならない(当たり前)

かなりみっともない話を公開する。 この2週間ほど、24時間体制でやばいサイトのサーバ監視をやっていた。 どうやばいかというと、アクセスがピークになる時間帯に、アプリケーションサーバ(Resin3)がCPU100%になってだんまりになるのだ。 このときDBサーバ…

String#matches() に渡す正規表現の書き方

String#matches()は、部分一致ができない。 「数字じゃないものを含むか?」をチェックしようとして if (s.matches("\\D")) { ... }と書くと、「頭から最後まで数字じゃないもの」だけがmatchする。 Perlみたいに部分一致させたかったら if (s.matches(".*\\…

稼動中のMySQLに対して、クエリキャッシュサイズを設定する

my.cnfに設定しなくても、set global文でクエリキャッシュサイズを設定できる。 なので、mysqldを止めなくても、クエリキャッシュを有効にできる。 > set global query_cache_size=16777216;ここ参照: http://dev.mysql.com/doc/refman/4.1/ja/set-option.h…

PostgreSQL/MySQLで、実行したクエリをログに取る

PostgreSQL postgresql.conf の以下をtrueにしてコメントを外す #log_statement = falsesyslog使って出力するので、出力先は/etc/syslogd.conf の設定次第。 MySQL mysqld 起動時に --log を付加する。 my.cnfでは、設定できない。 # safe_mysqld --datadir=…

「一般的には、第3正規形まででよい」の根拠は何か?(3)

RDB

前回までのまとめ 自分には正規化理論の再入門の必要が。いろいろ考え違いをしているので正さなくてはならない。 勘違いの一例。 ×「BC正規形を第4正規形に分解して自然結合すると、それまで存在しなかった行が出現することがあるので、分解しない方がよい」…

嫁の夢

嫁が起きぬけに、すごくいい夢を見たと言った。 聞くと、自分が宮沢りえであると同時に、マザーテレサであったのだと。 で、温水プールの上で空中ブランコしたら、初めてだったのにうまくいった。だからすごく気分がいいと。 それってマザーテレサも宮沢りえ…

「インピーダンスミスマッチ」の本質は何か(2) -- CやFortranの場合

今検討している「インピーダンスミスマッチ」とは、オブジェクト指向言語とRDBのミスマッチ---「オブジェクト・リレーショナル・インピーダンス・ミスマッチ」の省略形。が、インピーダンスミスマッチという比喩は、実はオブジェクト指向言語の普及よりも古…

楽々FrameworkII 体験キャンペーン中

もう1ヶ月も前のニュースだけど。 住友電工の業務アプリフレームワーク 楽々FrameworkII の無償体験版が、3月末まで入手可能だ。 http://www.sei-info.co.jp/sp/FW_taiken.htmlこのフレームワークはT字形ER手法と相性がいいらしい。 JavaとRDBを見事に接合…

「一般的には、第3正規形まででよい」の根拠は何か?(2)

RDB

だめだこりゃ! 調べてみたら、正規化を理解していなかったことが判明。 増永良文「リレーショナルデータベースの基礎」を参照しつつ、何を勘違いしていたかをメモする。 1:Nの関係なら多値従属、なわけではない 同書によれば、第4正規形に分解できる(=非…

サービス/データ分離派ということ

ちょっと前のエントリで、私はサービス/データ分離派である、と宣言してみたのだが、この「サービス/データ分離派」とは、浅海智晴氏が作られた言葉。 Java World の連載「Javaデザイン・ノート」第36回「ビジネス・アプリケーションのアーキテクチャ」(2…

行のデータをMapに収容してはいけない理由と、それを解消するMapの実装

「行のデータをMapに収容するのはオブジェクト指向的でない、という話があるが本気か」で、ずれたことを書いていた。 Map否定論は、多くはTypesafeの喪失を嫌ったもののようだ。 Javaという静的型付け言語を使うなら、個々のアトリビュートにも、結果表の行…

エンジニアリング・チェーン・マネジメント

昨年、現行商品点数が100ぐらいの食品メーカーの生産管理システムを作った。 メーカーさんのシステムは初めてだったのでいろいろカルチャーショックを受けたのだが、中でも、どの商品が今いくつあるのか誰もわかっていない(なのに業務が回っている)のはび…

行のデータをMapに収容するのはオブジェクト指向的でない、という話があるが本気か

上のエントリのために調べものしてたら、 O/Rマッパーを使わずに、ResultSetのデータをMapに収容するアプローチも あるが、これはオブジェクト指向的ではない。 Javaを使うメリットを放棄していることになるので、やめましょう。 みたいな意見のテキストが複…

「インピーダンスミスマッチ」の本質は何か(1)

2001年にJavaを始めたときにむなしさを感じたのは、ResultSetの形で取得したデータをJavaBeanのプロパティに詰め替えるコードを書いていたとき。 以来、 永続化層から取り出したオブジェクトをそのままViewに渡すと期待通りにレンダリングできて、 Viewから…

「一般的には、第3正規形まででよい」の根拠は何か?(1)

RDB

わかった振りをしていることを再検討するシリーズの最初として、「データ構造の正規化は、実務的には第3正規形まででよい」と言われる根拠を探ってみる。 例えば鈴木昭男「実践 データベース設計バイブル」P-77にこうある。 一般的にデータベース設計では第3…

マングース退治

何年か前に、日テレのドキュメンタリー番組でやっていた話。 1970年代、ハブ退治のために奄美大島にマングースを放した人がいた。 しかし、マングースがハブを退治する、というのは明治時代(!)の動物学者が出した単なる仮説であって、 実際に野に放たれた…