Leopardに、より最適化し、スピード、快適さ、安心を追求しました。Windowsで話題になった新機能や、Macでは新登場の「ATOKダイレクト」を搭載し、変換精度がさらに進化しています。Macで快適な入力環境を。Mac買ったばっかなのに・・・。Framework1.1を利用している時に下記のエントリをしました。カスタムコントロールのプロパティの型をコントロールにしたい時に必要なTypeConverterの抽象クラスです。各、コントロール毎にTypeConverterを一から作るのはめんどくさいので、抽象クラスを作っておいて、継承先で型を指定するプロパティをオーバライドする事で指定の型のTypeConverterを作成しています。今回、ジェネリックを利用する事で、抽象クラスである必要が無くなり、継承する必要がなくなりました。利用するときに、その型を指定すればよいだけです。"";[TypeConverter(typeof(ControlConverter<Label>)),DefaultValue(""),Description("このコントロールのヒントを表示するラベルを選択するプロパティです。NAL-6295負け組だと思っている人も、勝ち組だと思っている人も、その枠組みにいる間は、全員負け組である。NAL-6295最近、Genericを利用したクラスを作成する機会があった。以下のような感じのGenericを利用していないクラスがあったのをGenericに対応した。ふがインスタンス.TableData;とキャストしなくて良くなった。T:DataTable,new()のwhere以降の部分で、Tに設定できる型の条件を指定できる。T:DataTableで、DataTableを基本型に持つクラスのみ指定可能なので、DataTableを継承した型である事という条件がクリアできる。T();といったように抽象クラス側でインスタンスの生成ができるようになったので、いちいちサブクラス側でメンバを設定する必要が無くなった。凄い簡単な話なんだけど、便利だと思った。T:クラスになっていた。NAL-6295私のシステム設計の指針は複雑度の分散です。コードの中に複雑なクエリは書きません。問い合わせのクエリは、何らかの目的があって発行するものなので、JOIN等複数のテーブルが絡む複雑なクエリは、すべてRDBMS側にViewとして持つようにしています。追記:2009年あたりから、ストアドも対象とするようにしました。そのためのツールとして型付データセットを利用しています。することで、コードの中では常に一つのオブジェクト(テーブルであれVIEWであれ)に対して操作をするだけで済むので複雑なクエリが発行される事はありません。それを実現するために、SQLを直接書かないでクエリを発行するためのフレームワークを作成してあります。詳しくは書きませんが、型付データセット内で定義されているテーブル単位にラップしているクラスがあり、それに条件を積み上げたオブジェクトをアタッチする事で、様々なクエリを発行するようになっています。ラップしているクラス自体の定義は前もって用意してあるテーブルにアクセスするための機能を持った抽象クラスを継承してテーブルを指定しているだけなので、数行で済むため作成やメンテナンスの労力はほぼありません。Framework2.0にはその機能が実装されていて、そっちに移行しようか悩みました。)し、その中でクエリを自動生成するようにしているため、システムをコーディングするときは、仕様にあうように条件オブジェクトをブロックのように積み上げて、ラップしているクラスにアタッチするだけで良いです。内部でパラメタライズドクエリ(+必要なエスケープ)を作成するためSQLInjectionといった問題も発生しません。ラップするクラス名はテーブルやビューと同じ名前にしてある事と、ビューは目的に応じた名称にしている事から、何が目的でデータにアクセスしているのかが一目瞭然になっています。複雑なクエリは外(RDBMS側)に目的に応じたVIEWとして持っているクエリがコードの中に点在しないコード内でデータにアクセスしている部分へのアクセスやコントロールがしやすいなどから昔のシステムでも保守にかける時間が少なくて済んでいます。開発時にコードが複雑になりすぎないため、それ以前に比較すると不具合が少なかったり、不具合が発生してもそれにかける作業時間が少なく済んでいます。コードの中に複雑なクエリを書いてしまって、修正が大変だとか嘆いている、そこのあなた。コードにとっての保守フェーズはコードは書いた瞬間から始まっています。複雑なクエリはRDBMSに持ってもらう事でコードの見通しを良くしてみてはいかがでしょうか。各種国際会議等はビデオチャットを利用した分散会議とか(テロ対策にもなると思う。自分の家のQ値を知ろうとか、エアコンの性能は固定の適用する畳数表示をやめて、容量の表示にしようとか、(Q値によっては、14畳用一つで全部屋まかなえる。)という事は言えないんだよね。いう事は無いんだけど。ところで排出権取引ってCO2削減に一切貢献していないのでは?よく分からないで言っているけど。カーボンオフセットTシャツっていうのには、笑った。「このTシャツを買うと、一定量の排出権が買えるので差し引きCO2排出量が減ります。」という趣旨なんだけど、ただの数字合わせだし、カーボンオフセットTシャツ自体の、製作や販売に係る部分については明らかにカーボンオフセットじゃ無いんだろうし。私個人の意見としては、CO2排出量削減に関しては特に言うことも思うこともないんだけれど、これまでの時代の流れをみても、ちょっとずつテクノロジが解決していく事だと思っています。この取り組みを特に批判しているわけでも否定しているわけでもなく、そう思ったというだけの話。やらないよりは、やった方がましだし、継続する事で、いくつかの問題点が解消され取り組み自体が発展していくだろう。いうか、今までも発展してきたんだね。今の取り組み方(クールビズという名の我慢系とか)は続かないダイエットみたいだなと思った。NAL-6295現時点において、出荷されている製品としてはまだSQLServer2005が最新版である。SQLServer2008はまだ未出荷だから最新版ではない。当たり前の話だけど、勘違いしている人もいるようなので、とりあえずメモ。NAL-6295IME2007よりはましだと思って、ことえりをだましだまし使っていたのだが、やっぱりATOKが恋しくなったので、ダウンロード購入をした。WindowsではATOKユーザなので、まだ、インストールもしていないけど、使い勝手に期待。NAL-6295日本語の変数名とかメソッド名とかクラス名といった識別子が使えないっぽい。日本語でかけると良いんだけど。できるという記事をどっかで見たような気もするんだけどなぁ。“0”...”9′′http://www.pinkdragon.net/doc_lib/contents/ja/python_man/ref/identifiers.htmlを見る限りは出来ないで正解だとは思うんだけど。Pythonそれにしても口唇ヘルペスに初めてなりました。NAL-6295唇の下がいたいやら痒いやら、リンパが腫れてちょっと痛いし、同居人に感染させないように気を使う必要があるやらで疲れ気味。疲れ気味だから感染するんだけども。薬を貰ったので早く治ったら良いなぁ。最近の生活リズム崩しまくりで変な時間にしか眠れないのもあったので、そこを改善する必要あり。Arcimedia.。