トップ «前の日記(2006-10-25) 最新 次の日記(2006-10-27)» 編集

日々の破片

著作一覧

2006-10-26

_ ナチュラルごーや

こんだ、ASP.NETだ。最初Railsでやろうと思ったんだけど、Webサーバーを仕込む時間がとれなかったから、IISで素直に動くASP.NETに決定。

しかしデフォルトがVB.NETなんだな(IISでASP.NETサイトを作ろうとするとそうなっている)。

でもC#だ。

で、データソースを作って……と思ったが、画面とデータベースがえらく異なる。表示上の問題で横を日付にして縦をキーにしてという、テーブルを横縦に展開したような感じとなる。日付ごとに集計するようにSQLを組むことも考えたが、ちょっとあまりに複雑になりそうなんで(行は行で集計したりするからグルーピングが必要だったりいろいろ)、結局、一度TableAdapterから読み込んだRowSetを元にオブジェクトコレクションを作って、それをGridへデータソースとして与えることにした。

とかやっていて、それがモデル層のエンティティとプレゼンテーション層のエンティティの分離だな、と思ったということ。

それにしても、ADO.NETでもコードは書かない。SQLは書くけど。特にASP.NETの場合はデータセットもXMLが生成されるだけで実行時に動的にバインドされるから(ただし、型付けは行われるのでソースはまったく見えないのにインテリセンスは利いたりして、これはこれで独特の世界でおもしろい。クェリデザイナのインテリぶりもすさまじく、どう考えてもデザイナでは作りようがないようなSQLを解析していろいろやってくれる(このへんは、SQL ServerからSQL解析部を利用するようになっているのかも))ちょっととまどったり。Windowsアプリケーションの場合はコードが生成されるから再利用性(トランザクションのサポートの追加とか)も高いんだが、そのへんが逆に弱いんじゃないかと思ったり。

それにしてもASP.NETでのコード記述量の少なさも圧倒的で、セッションへ明示的に保持することとPreviousPageのためにプロパティをコードする程度で、あとはSQL書くことを除けばほとんどツールだけいじっていれば済む(CSSとの連動は弱いかも。あと、Calendar使って思ったが、はやくAjax(Atlas)連携してほしいかも。いちいちポストバックするのでフリッカーが今となってはすごく気になる。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え