2009年11月13日金曜日

.net 開発

今更ですが、LINQ 面白そうですね。

今回、LINQ to SQL、を使ってみました。データの取得は、あのクエリが面倒なので・・・これまで通りsqlを書いていますが、感想は更新がとても楽です。インテリセンスを使えるので、これまでの様に画面を沢山立ち上げ、Ctrl+Tabで切り替え、コピペを多用し、・・・の一連の動作が必要なくなりました(笑)

LINQ は、まずオブジェクトモデル(モデル)を作らないとですが、作成には、O/Rデザイナ、SQLMetal、コードエディタ!?、を利用しますが、私はSQLMetalを使いました。

まれにDBの項目を変更しながら開発をしているので、VSのデザイナは作成後の動的変更がどうもいまいちで、そもそも以前はconnection、command、SqlDataAdapterをデザイナを使って作っていましたが、結局tableAdapterに取って代わられ、その変更が非常に大変だった事もあり(全く関係ありませんね・・)、それ以来デザイナ嫌いです。型はDBに入っている・・と、無理に解釈していますが・・。

そのためSQLMetalを使いましたが、これが楽!テーブル項目が変更になれば、再度SQLMetalを実行した結果を、VS上でそっと入れ替え(古い.csを削除し、すぐさま新しい.csを追加)、リコンパイルでさっと新verのテーブルが使えます。削除された項目があれば、コンパイラーがエラーを見つけてくれます(当たり前ですが)。
sqlmetal /code:"c:\xxx\xxx\xxdb.cs" /language:csharp /server:サーバ名 /database:xxdb

ただ上記の方法で、LINQ to SQLを使っていても、全くLINQの勉強になっていません。職業プログラマとしての、楽して作れ、時間削減による経費削減、には良いですが、LINQの本質やその他、力が全く付いていない感覚です。

以前、オブジェクト指向に乗り遅れ、未だ乗らずに走っているのと、同じ状態になります。汎用機には必要ないですから・・今でも、でしょう・・。


今日、たまたま、LINQ to DATASET、を見ました。すると、これはなかなか色々な勉強になります。無理にでも新機能?(私の知らない機能は新機能)を使わなければなりません(必須ではないですが、私的に使います)。

今まで見向きもしなかった、ジェネリック、デリゲート、匿名関数、ラムダ、、。ラムダなんて言葉自体、今日初めて知りました・・。やはり、たまにだけのoyajiプログラマですね。



ちなみに私事ですが、
PCやWEBのソフトは殆どC#で作ります。多少PHPを、今更ながら使い初めました。もうかなり枯れているかな?と思い。

C#の良い所は、言語云々ではなく、VBと比べ、技術者のレベルが、ある程度の技術レベルを持った人材が揃いやすい事です。要するに当たり外れが少ない。これがC#の一番の利点です。VB人材は幾らでもいますが、ピンキリで、当たり外れが多く、選別に結構の労力を使います。外れた人が来てしまうと、短期で帰しても、その分の持ち出しと、その人の開発遅れ(何も開発していない?)による持ち出しが発生し、誰かを使って穴を埋める。下手をすると2倍以上の経費がかかってしまったり、開発自体が赤字になる恐れが、簡単に発生します。とは言え、他言語のWEBスクリプト開発程、怖い状態にはなりません。

DBはSQLSERVERのみで他は使いません。Oracleは金と時間が必要でしたし、ACCESSを使うならSQLserverのEXPRESSエディションを使います。ただネットワーク対応(ファイル共有)の必要な場合や、サーバーを用意出来ない顧客の場合は、仕方なくACCESSを使います。DBサーバー導入には、認証サーバーの導入や、維持費を含め、やはりある程度の費用が必要です。

また今回、見栄えの良いグラフを楽に作る必要があり、初めてTOOL for OFFICEを使いました。するとこれも、結構面白いです。
が、感想としては、使いづらい部分やPCが不安定になる事もあり、MSが¥を入れていないと思います。しかし未だにCOMが入っていますし、凄いですし、やはり扱いづらいです。ただ新鮮です。もしかすると、私的に流行る開発手法になるかも知れません。

0 件のコメント:

コメントを投稿