タグ

ブックマーク / codezine.jp (26)

  • DBの仕様変更に強いDataAccessMethodパターン:CodeZine

    はじめに  DataAccessObjectパターンによる開発でDAOジェネレータを使うケースが増えてきました。DAOジェネレータを使う目的は開発コストの削減です。しかし、リリースを急ぐプロジェクトはDAOジェネレータの使用方法をメンバに十分理解させないうちに開発を始めてしまいます。  Hibernateのような高度なO/RマッピングフレームワークであればOO(オブジェクト指向)およびRDB(関係データベース)に関する高度な知識が必要となります。ところが、平均的な技術者にそのような知識はありません。来であれば、開発工数を削ってでも彼らの理解を確保するための教育をしなければなりませんが、予算と納期といった制約上の理由からそれがされないのが現状です。  DAOジェネレータは知識のある技術者にとっては便利でも、そうでない技術者にとっては学習コストのかかる厄介な代物であることを管理者は理解すべき

  • 3値論理とNULL:CodeZine

    要するに、データベースにnullが1つでも含まれていれば、クエリから正しくない結果が返される可能性がある。しかも、一般的には、どのクエリから正しくない結果が返されるのかを知る方法はないので、すべての結果があやしく見えてくる。nullが含まれたデータベースから正しい結果が得られることは確信できない。筆者に言わせれば、この状況はまさにお手上げである。 ――――C.J.デイト はじめに 多くのプログラミング言語が、真理値型(BOOL型、BOOLEAN型)というデータ型を持っています。もちろん、SQLにも真理値型が存在します。ユーザーが直接扱えるデータ型として定義されたのはSQL-99ですが、WHERE句などの条件の評価時にも真理値の演算が行なわれています。 ところで、普通のプログラミング言語の真理値型とSQLの真理値型の違いをご存知でしょうか? それは、普通の言語の真理値型が、true、fals

    ilo
    ilo 2006/10/02
  • データベースに無効なデータが紛れ込まないようにするコツ:CodeZine

    データベースの設計、開発、トラブルシューティング、管理に10年以上携わる。1994年以来Sybaseの仕事を担当し、1998年以降はMS SQL Serverにも携わっている。2001年以降は主要なすべてのRBDMS(DB2、OracleSQL Server)にかかわっている。MCP 70-229を取得。現在、DRW Tradingと仕事をしており、データベースのパフォーマンス改善に専念。

    ilo
    ilo 2006/09/15
  • Webページ上に状況依存ヘルプを作成する:CodeZine

    去る8月30日(土曜日)、ライトウェイトプログラミング言語(Lightweight programming Language)の総合カンファレンス「LL Future」が、なかのZERO(中野区もみじ山文化センター)大ホールで開催された。当日は前線の影響で時おり豪雨に見舞われる中、さまざまな言語のユーザーや開発者など千人近くが集まった。

    ilo
    ilo 2006/09/12
  • EXEファイルの内部構造(セクション):CodeZine

    はじめに 前回で解説したPEヘッダに引き続き、今回もEXEファイル内のデータフォーマットの一部分「セクション」に関する話題で突き進みます。 それにしても、EXEファイルは調べ手に休ませる余地を与えません。PEヘッダという大きな構造体をクリアしたと思ったら、お次は複数個も存在するセクションが登場するのです。PEヘッダは大きくても1つしかなかったのでまだ良いのですが、セクションだけは更に細分化されたデータ構造を指定するため、少々厄介です。更に、セクションにはデータサイズ・RVA(イメージベースからの相対オフセット)など、生データに関するより詳細な情報が保持されます。 経験豊富な方はこのような文章を読んでお気づきかもしれませんが、薄い資料でセクションに関するリサーチを行うと、メモリダンプと睨めっこという状況に陥ります。筆者は数週間の間、セクション周りのメモリダンプと暮らしたことがあるので間違いあ

    ilo
    ilo 2006/06/30
  • COM相互運用機能の利用:CodeZine

    稿では、VB.NETを利用し、簡単な機械語で動く仮想CPUを作ることでバイナリプログラミングを満喫します。実際の業務で直接使えるケースは少ないと思いますが、デバッグやプログラミングの地力向上に役立つでしょう。今回はINC命令とDEC命令の実装を通じて、長さが違う機械語の実装法を解説します。 Visual Studioには、標準でたくさんのコントロールが用意されていますが、 ComponentOne Studio(コンポーネントワンスタジオ)には、さらに便利なコントロールが多数収録されています。この連載ではこれらのコンポーネントを組み合わせて売上管理アプリケーションを作っていきます。まずは、売上データ一覧表の項目として、 ComponentOne Studioに収録されているFlexGridを使いながらアプリケーションの土台を作成します。

    ilo
    ilo 2006/06/22