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

マスタメンテナンスで未来のデータを入力したいんですけど

マスタメンテの扱いは毎回困るところ。 どうもマスタデータには「最新」系のものと「無時間」系のものがあるらしい。 いつのトランザクションデータと結合しても問題ないのが「無時間」のマスタで、問題を起こすことがあるのが「最新」のマスタ。 元号マスタ…

どんな作業のマニュアルでも3時間あれば作れる

例えばお客さんから預かってるサーバの監視とか、いつもの道具立て(ウチなら JSP + Struts + Spring + Spring JDBCとか)でWebアプリケーションを構築するとか、そういう「おおよそ決まった手順があるけど、細部は毎回異なる」作業については、マニュアルを用…

人に何かやってもらおうと思ったときの鉄則

組織の全員で何かをやりたいと思ったとき=例えば「サーバの監視を全員持ち回りでできるようにしよう!」とか「みんなで勉強会しよう!」とか思ったときの鉄則。 朝礼の時とかに、全員に向かって「こうしましょう!」と言っても誰も動かなくて「だー、だから…

軍隊が発砲したら「攻撃」でゲリラが発砲したら「銃を乱射」

イスラエル軍 住居砲撃 19人死亡 ガザ北部 - 2006/11/09 日経6面 イスラエル軍が8日総長、ガザ地区に発射した砲弾が住居に直撃し、現地からの 報道によると女性や子供ら19人が死亡、40人が負傷した。 ... イスラエル軍は前日、一週間にわたった北部ベイトハ…

システムを小さく作って段階的にリリースすることが重要な理由

ゼスト社長・伊藤由紀子氏の本に書いてあった、巨大なシステムを一発で作らないで、小さいシステムを段階的にリリースすることが重要な理由。 あるいは、ERPパッケージみたいなものをいきなり入れないほうがよい理由。 1) お客さんが開発費の手当てをしやす…

double の値が NaN かどうかは == 演算子ではチェックできない

double の変数が NaN かどうかは、Double#isNaN() でチェックする。 double の変数と Double.NaN を == で比較したら、常にfalseになってしまう。 double d = Double.NaN; if (d == Double.NaN) { // ここは通らない } if (Double.isNaN(d)) { // ここは通る…

resourceの数がデータベースの限界を決める

ウィトゲンシュタイン『論理哲学論考』を読む (ちくま学芸文庫) を読んで、T字形ER手法は 論理哲学論考 (岩波文庫) にインスパイヤされて生まれた、ということの意味が分かってきた。 論考が世界を分析する道具立てが、やたらとRDBに似ているのだ。 論考とい…

なぜresourceにeventが混入してはいけないのか

T字形ER手法は eventへのresource混入 resourceへのevent混入 を許さない。 例えば「社員マスタに所属部門コードがある」というデータ構造 社員マスタ = { 社員番号, 社員名, 所属部門コード } は、社員というresourceに配属というeventが混入していると見な…