« 2008年3月 | トップページ | 2008年5月 »

2008年4月27日 (日)

[Ruby] Factset API

proprietary なソフトウェアということらしい。

さて、Win32OLEのテストスクリプトはどうやって実現したらいいだろうか。 困った。

| | コメント (0) | トラックバック (0)

2008年4月23日 (水)

[Soft] GNU m4 と GNU Autoconf

Ruby 1.9 をコンパイルしようとしたら

Autoconf version 2.60 or higher is required

と言われた。

Autoconf インストールしようとしたら、m4のバージョンが古いと言われた。 m4をインストールしようとしたら...、何も言われずインストールできた。

今、autoconf の make check 実行中。

| | コメント (0) | トラックバック (0)

[Ruby] なんだろな

factset api って何?

| | コメント (0) | トラックバック (0)

2008年4月20日 (日)

[英語] 女性が主人公のスパイサスペンス

  • Double Cross

女性スパイのモニカが原子爆弾を回収しようと活躍する話。

英語は易しいのだが、それでもまだついていくのに精一杯で、 ストーリーを楽しむところまではいかない。

ただいま英語多聴 30時間 24分。

| | コメント (0) | トラックバック (0)

[Program] ObjectDataSourceとビジネス層(続き)

実際に試してみた。 割とあっさりできた。 あの構図でいいということか。

| | コメント (0) | トラックバック (0)

2008年4月19日 (土)

[Program] ObjectDataSourceとビジネス層

えーと。ObjectDataSourceに接続するクラスは

  • デフォルトコンストラクタを持つ。

  • 型付きデータセットまたは型付きデータテーブルを返すメソッドを持つ。

  • DataObjectMethod属性により、メソッドの種類が示されている。

ということなので、適当に

public class BC
{
    public BC()
    {
        ....
    }
    <DataObjectMethod(DataObjectMethodType.Select)>
    public XXXDataSet.YYYDataTable GetDataAfterBusiness()
    {
        ....
        DoBusiness();
        ....
    }
    private void DoBusiness()
    {
        ...
    }
}

みたいなのを用意してやればよいということか。

つまり、

UI(GridViewなど) - ObjectDataSource - BC - DAC(テーブルアダプタ)

という構図になる?

| | コメント (0) | トラックバック (0)

[本] Visual Studio 2005を使い込なすのは難しいなと思ってしまった本

Visual Studio 2005を使ってWebアプリケーションを構築するときの、べき、べからず集。 やろうと思えばできるけど、こういう理由でやってはいけない、とか、 ここは、この機能を使ってこう実装すべきとか、 そんな感じで割と断定的な本である。 小手先のテクニックの解説じゃなくて、わりと根っこのところから解説しているところがよい。 開発中にどう実装するんだっけ?と思って参照する本ではなくて、開発する前に(コーディング規約のように)一通り目を通しておくべき本。

この本では、ウィザードを使えない特殊クエリを実装するためにテーブルアダプタクラスがpartialであることを利用している。 これが実際に書いてみると面倒だった。 テーブルアダプタのクラスは、ソースが自動生成されるようになっているので、 ソースを読むことができず、namespace や class名が何になるのかすぐにわからないのである。 (自動生成されるソースを参照する方法は解説してあるが、これが結構面倒くさい。) これは、Visual Studio 2005のツールが駄目ってことなのか、 それとも、この本に書いてあることは裏技だから 本来使うべきでない(そんなテクニックを使わなければ実装できないような設計をしてはいけない)のか、どっちだろう。

あと、ObjetDataSourceオブジェクトを利用した3階層型自動データバインドを解説してあった。 これは、ビジネスロジックとデータアクセスとを分けて、ObjectDataSourceオブジェクトが ビジネスロジックに該当するのかと期待したら、そんな話は全然出てこなかった。 付録でちょこっと論理3階層型の話が出てくるんだけど、具体的な実装例は出てこない。 ちょっと残念。 この辺を解説してくれる本ってどっかにないのかなあ。

| | コメント (0) | トラックバック (0)

[Ruby] AfxOleGetMessageFilter(続き)

まだよくわかっていない。 どのくらいわかっていないかというと、ASRのソースが参考になるのかどうか断定できないくらいにわかっていない。

実現したいことは、python-win32のこの話題と同じこと。

Googleにお伺いしてみたところ、 MFCのOLEのIMessageFilterに関する話題 が見つかった。 どうやら、IMessageFilterを利用するというのは、あながちハズレではなさそう。

以下、まだちゃんと読んでいないのだが、気になったURLのメモ。

IMessageFilterをWin32OLE側で適切に実装して、CoRegisterMessageFilterをコールすれば、python-win32と同じことが実現できる。 ...という考え方で正しいんだろうか。 正しいとすれば、ASRのソースが参考になりそうな気がしてきている。 (というよりも、これらの情報を収集するきっかけとなったASRのCRubyWrapperFilter::Initialize()の実装だけでも十分参考になったと言えます。)

ところで、テストスクリプトを書くにはどうすればいいんだろうか...。

| | コメント (7) | トラックバック (0)

2008年4月18日 (金)

[Ruby] AfxOleGetMessageFilter

[ruby-talk:298615]の話。

どうやら、MFCの AfxOleGetMessageFilter()経由で EnableBusyDialog とか、EnableNotRespondingDialog とか、SetMessagePendingDelayとか をコールすればいいということらしい。

まず、RubyのWin32OLEは、Cで書いてあって、MFCを使うつもりは全くない。 なので、APIを呼ぶことにしたいんだけど、どうすればいいのか、よくわからない。 MFCのソースも手元にないし。 SetMessagePendingDelayは、IMessageFilter インターフェースを使えば、 もしかしたら、なんとかなるのかも知れないなと思っているんだが、よくわからない。 あとの2つは、さっぱりわからない。

誰かヒントでもいいから教えてください。 なんならパッチを送ってくれてもいいです。 (むしろ、その方が嬉しいです。)

| | コメント (2) | トラックバック (0)

2008年4月16日 (水)

[日記] 日本で、ひょっとしたら世界で一番最後の2007年ミステリベストテン

今日、結果を入手した。 国内ミステリベストテンのうち読んでいたのは4作品。 翻訳ミステリの方は5作品。

ミステリマガジンや本の雑誌の書評を読んで面白そうで自分の趣味に合いそうな作品を 選んで読んでいるので、妥当な結果と言えるのかも知れない。

単純に喜んでしまったのは、原書で読んだ Where There's a Will (Aaron J. Elkins) (翻訳は、『水底の骨』) が5位にランクインしていたこと。 原書で読んで面白いと思った作品が他の人にも評価されているということは、 自分の英語が上達している証拠だとちょっと浮かれてしまった。

| | コメント (0) | トラックバック (0)

2008年4月13日 (日)

[英語] 氷河時代から月の世界まで旅する兄妹

  • Magic Tree House Books 7-8

ある人物を助けるために本の世界を旅する兄妹の話。 ストーリーとして一応の完結を向かえます。

このシリーズは過去の世界を旅するというイメージが強かったので、 まさか月の世界に行くとは思わなかった。 人類が月に到達したのは、確かに過去の話ではある。

ただいま英語多聴 28時間 23分。

| | コメント (0) | トラックバック (0)

2008年4月12日 (土)

[本] パスコーが孤軍奮闘するダルジール警視シリーズ

冒頭で、いきなり爆発事故に巻き込まれ、瀕死の重傷を負うダルジール。 まるで、ダルジールが乗り移ったかのようにただ一人、爆破事件を負うパスコー。

毎回、どんなストーリーでどんな結末を向かえるのか予測ができないこのシリーズ。 今回はタイトルで驚いた分だけ、逆にストーリーであまり驚きが無く、 ちょっと物足りなかった。

英語多読の一貫で翻訳ミステリのいくつかは原書で読んでいるんだけど、 日本語で読んでも妙に難しいと感じるこのシリーズは、 きっと英語だともっと苦労するんじゃないかと思って、 原書には手を出さないことにしてます。

| | コメント (0) | トラックバック (0)

[日記] 昼寝

急に睡魔に襲われてぐっすり眠ってしまった。 起きたら夕方だった...。なんかもったいない。

| | コメント (0) | トラックバック (0)

2008年4月 6日 (日)

[英語] シリーズ1作目に比べるとちょっと物足りなかったルーン・シリーズ第3段

自分は無実だと主張する囚人を救い出そうとするルーン。果たして彼女は囚人を救い出せるのか?

ちゃんとどんでん返しも用意されているのだが、 そのうちの一つは予想できたこともあるためか、 なんだか物足りない気がした。

ただいま英語多読 2571627語。

| | コメント (0) | トラックバック (0)

[英語] Magic Tree House 再び

  • Magic Tree House Books 5-6

兄妹の前に再びMagic Tree House が現れる。 今回は、彼らは、ある人物を助け出すために本の世界を旅することになる。

旅した先は、忍者のいる日本と、アマゾン。 もしかして、共通のテーマは自然?

ただいま英語多聴 27時間 15分。

| | コメント (0) | トラックバック (0)

2008年4月 5日 (土)

[本] またまた私のわがままなリクエストに応えて他の図書館から借りてまで貸出ししてくれた本

Server.TransferよりもResponse.Redirectを使うべきという主張はVisual Studio 2005(ASP.NET 2.0)で 変わったのかどうかが知りたくてリクエストした。 途中までしか読んでないけど、主張は変わっておらず、Response.Redirectを使うべきということのようだ。 というか、Server.Transferの解説すらしていないし。 この潔いところがいいなあ。

| | コメント (0) | トラックバック (0)

[Program] Visual Studio .NET 2003 と生産性

最近、Visual Studio .NET 2003を使ってWebアプリの開発をしている。 開発ツールとして、よくできていると思う。 生産性も高い。 この生産性の高さというのは、コードの自動生成によるところが大きい。 マウスでクリックしてプロパティ変更したり、コントロールをポトペタするだけで がしがしコードが自動生成される。

だが、DRY原則からくるコードの再利用による生産性向上とか品質向上という視点で見た場合には、 ちょっと物足りない。 例えば、複数ページのデザインを統一したいと思ったら、WebアプリならCSSを利用して cssファイル一箇所だけでスタイルを指定するのがDRY原則に則ったやり方だろう。

ところが、Visual Studio .NET 2003 は、cssファイルを自動生成するにも関わらず、 そのCSSファイルを *.aspファイルで読み込まない。 マウスでクリックしながら、プロパティで設定した背景色や文字の色は、 個々に*.aspファイルにコードして自動生成され、cssファイルに書き込まれることはない。

もちろん、cssファイルを読み込むようにすることはできるし、そうすればデザインの統一も可能だ。 ただ、その場合には、マウスでクリックしながらとかではなくエディタで自分で書くという感じになってしまう。

自動生成による生産性の高さという面では単純にすごいなと思ってしまうのであるが、 DRY原則の視点でVisual Studio .NET 2003を見た場合にはまだまだ弱いと思ってしまうのである。

このあたり、2005や2008だとどうなっているんだろうか。 あと、他のWeb開発ツールなんかはどうなんだろうか?

マウスでポトペタしながら作っているとコードが自動生成され、しかもそのコードが DRY原則に従っている開発ツールって難しい?

| | コメント (0) | トラックバック (0)

« 2008年3月 | トップページ | 2008年5月 »