2015年10月23日金曜日

エンバカデロ買収【また・・・?】

またか・・・

Delphiユーザーならこう思ったんじゃないでしょうか。

エンバカデロが買収されるというニュースが
飛び込んできました。

相手は独立系ツールベンダーのIDERA(アイデラ)という
会社らしいですが、ネット上の噂を見るとDelphiの行く末が
ちょっと心配な感じです。

それはともかく、これで何回目なんでしょうか。。

パッと思いつくだけでも
Borland、CodeCear、Embarcadero、、
少なくとも4回目です。

別に会社が変わっても何も困りませんが、
バージョンアップのごとく、何度も変わるのも
なんだかなぁって感じですね。


2015年10月19日月曜日

SQL ServerのNULLと空白

SQL ServerではOracleとは違って文字列型の空白とNULLを厳密に区別するので
注意が必要です。

って、何を今更って感じですよね。

しかしながらDBとアプリケーションの設計段階で
文字列型のNULLと空白の扱いについてきっちり決め事を作っておかないと、
あとになって苦労するのも事実…。

値が無い場合、NULLにするのか空白の文字列にするのか
(空白の文字列は厳密に言うと値が無いわけではありませんが)

個人的には(クライアントアプリの開発者としては)、
文字列型項目は必ずnvarcharでNOT NULL制約をかけておいて、
なにかしら値をいれておくほうが扱いやすいと感じています。
また、最初からNULLを許容しなければ開発でぶれることがないですよね。

デメリットとしては以下のようなことがあります。
・SQLで文字列型項目に対してISNULL関数が使えなくなる。
・いくら全項目にNOT NULL制約をかけていても外部結合や
 集計関数でNULLがSELECTされることがある。

前者はCASE式で我慢できますが、
後者はNOT NULL制約かかってるから大丈夫~という頭で開発してると
はまりやすい罠なんではないでしょうか。
リレーショナルDBを扱うということはまさにNULLとの戦いといっても過言ではありません。
(ここまでくると文字列型だけに限定した話ではなくなってしまいました。)

どちらにせよ、最初に方針を決めて、決まりは厳密に守って開発する。
これに尽きます。


2015年10月7日水曜日

Delphi 10 Seattle

先日、社内でそういえば新しいの出てるな、
と言われ、気づきました、Delphi10 Seattleの存在に。

ていうか、”XE”って文字はどこ行ったの?
と思ったら、Windows10に合わせたようですね。

しかも、一つ前のバージョンはDelphiXE8なので、
Windowsと同じで”9”はすっ飛ばして10です。


さらに”Seattle”(シアトル)ってなんぞ?と思ったら・・・

なんと、マイクロソフト本社のある場所!!

なんで製品名に他社の本社がある地名が入るんですかねぇ、、



ちなみに今、Delphi7で開発してます。。

最新がDelphi10ということは3つ前?と思いそうですが、

なんと、15代前!

途中いろんな名称のバージョンが出て、
戻ってきた感じですが、いや~紛らわしいですね。