[本] ノンシリーズの本格ミステリ短編集
しらみつぶしの時計 (法月綸太郎)
どの作品も一定の水準を保っていて、安心して読める短編集。
表題作が都築道夫の『やぶにらみの時計』を連想させるように、 いくつかの作品が都築道夫の作品を意識している。 「トゥ・オブ・アス」は、法月親子のシリーズファン必読の作品。
| 固定リンク | コメント (0) | トラックバック (0)
しらみつぶしの時計 (法月綸太郎)
どの作品も一定の水準を保っていて、安心して読める短編集。
表題作が都築道夫の『やぶにらみの時計』を連想させるように、 いくつかの作品が都築道夫の作品を意識している。 「トゥ・オブ・アス」は、法月親子のシリーズファン必読の作品。
| 固定リンク | コメント (0) | トラックバック (0)
喜の行列 悲の行列 (藤田宣永)
ひょんなことから、デパートの福袋を手に入れるために大晦日から行列に並ぶことになった定年間近の 宝福喜朗の周囲で巻き起こる大小様々な事件の顛末が語られるミステリ風小説。 (ミステリ風小説であってミステリ小説と言い切る自信がない。)
複雑な人間関係、錯綜するプロットが特徴のロス・トーマスの小説を 日常小説寄りにしてトボけたユーモアを眩してハードな部分をソフトにしたような小説。
「僕たちには分からない必然性があったと思うけどな。」
| 固定リンク | コメント (0) | トラックバック (0)
Ruby に Encoding#names というのが導入されたらしいというのでちょっと下調べ。
$ ruby -EWindows-31J -e 'p Encoding.default_external.names'
["Windows-31J", "CP932", "csWindows31J"]
$ ruby -EEUC-JP -e 'p Encoding.default_external.names'
["EUC-JP", "eucJP"]
$ ruby -EEUCJP-ms -e 'p Encoding.default_external.names'
["eucJP-ms", "euc-jp-ms"]
$ ruby -ECP51932 -e 'p Encoding.default_external.names'
["CP51932"]
うーむ。 ソースを見たら、CP51932 って EUC-JP の replica になっていた。 そうか。eucJP-msとも違うのか。
Win32OLE内では、EUC-JP や、eucJP-ms は CP51932として扱うことにする??? でも IMultiLanguage2(IMultiLanguage)を使えないと CP51932は扱えないからなあ。 本当はおかしいけど、CP20932のままにする?
Windowsのコードページの対応づけは、 IMultiLanguage2(IMultiLanguage)が使えるのなら、 IMultiLanguage2(IMultiLanguage)::GetCodePageInfo() を利用するという手もありそうな気がする。
| 固定リンク | コメント (0) | トラックバック (0)
宝探しの旅に出ることになったり、お化け騒動に巻き込まれたり、大忙しな ネズミの編集長のGeronimo Stiltonの冒険物語。
BGMが軽快でナレーションも役になりきっているので、聴いているだけで楽しい。
このシリーズが気に入ったので、続けて他のも聴くつもり。
ただいま英語多聴 72時間 22分。
| 固定リンク | コメント (0) | トラックバック (0)
ちょっと行き詰まったので、IMultiLanguage2 インターフェースを利用して51932を扱ってみようと思い試してみた。
IMultiLanguage2 *pIMultiLanguage = NULL;
HRESULT hr = CoCreateInstance(&CLSID_CMultiLanguage,
NULL,
CLSCTX_INPROC_SERVER,
&IID_IMultiLanguage2,
(void**)&pIMultiLanguage);
テストで書いたCのプログラムでVC2005だとうまいこと変換できているっぽい。 それではと、Cygwinで試すと
undefined reference to `_IID_IMultiLanguage2'
リンクエラーである。 IID_IMultiLanguage2ってあるのかと思って、nmで調べてみると
# nm /usr/lib/w32api/lib*.a | grep IID_IMulti
00001300 R _IID_IMultiMediaStream
えー。ないのかあ。 mlang.hには
EXTERN_C const IID IID_IMultiLanguage2;
とあるのに。さて、どうしたもんか。
| 固定リンク | コメント (3) | トラックバック (0)
実践!ソフトウェアアーキテクチャ (尾島良司)
Visual Studio 2005 と .Net Frameworkを使って業務アプリケーションを開発するときの 一種のフレームワークとして使うためのサンプルアプリケーションの実装手順を解説した本。
副題に「Visual Studio と ASP.NETによる業務システム開発方法」と書いてあるのだが 「ASP.NETによる」というわりには、ASP.NETに関する解説は20ページほどしかなくて ちょっとがっかりした。 「ASP.NET」とあった方が多分売れるからなんだろうけど。
型付DataSetを使っているのだが、ADO.NETというか型付きDataSetそのものを 深く理解していない私には、あまりピンとこなかった。 ただ、もっと型付きDataSet(ADO.NET)を深く理解すれば、実は、使い手のある道具なのかも 知れないと思った。
私は、更新系の処理でメモリリソースの消費を押さえつつも型付DataSetをうまいこと 使ってコーディングレスで実現できないものかと日頃考えていた。
だから、型付DataSetをASP.NETの更新系の処理でどう使うのか期待して読み進んだのだけれども
ASP.NETのデータ バインディングは出力専用だと割りきってしまうのが現実的
とか
更新の場合は、楽観的同時実行制御のために検索時の型付DataSetを保持する ことになって、結局はメモリリソースを倍消費することになる
とか書かれていて、残念だった。
| 固定リンク | コメント (0) | トラックバック (0)
CP51932に対応しようと思って、ConvertINetMultiByteToUnicode と ConvertINetUnicodeToMultiByte と格闘しているのだが、異常終了してしまってちゃんと動いてくれない。
Win32OLEとも、Rubyとも一切関係ない簡単なプログラムを 書いて試してみたら、やっぱり異常終了した。
解決には至っていないけど、異常終了してくれてほっとした。 Win32OLEともRubyとも関係無く、私のConvertINetMultiByteToUnicode と ConvertINetUnicodeToMultiByte の使い方の問題であるということが判明したから。
| 固定リンク | コメント (0) | トラックバック (0)
Win32OLEでEUCをサポートするにはどうすればいいのだろう? Encoding.default_internal が EUCのとき WIN32OLE.codepage は 20932を設定しているのだけど、本当は51932にすべきなのか?
でもって、51932のときは、Codepageの正当性をチェックしないで、 ConvertINetMultiByteToUnicode と ConvertINetUnicodeToMultiByte を使って変換すべき?
あと、Rubyの Encoding#name から Windows の Codepage への変換するときに使えそうなWindows の APIってあるんだろうか? つまり、"Windows-31J" という文字列が与えられたときに "932" を取得できるような API。
| 固定リンク | コメント (4) | トラックバック (0)
Encoding.default_internalが trunkにコミットされた。
Win32OLE側も追随。
スクリプトの途中でEncoding.default_internalがころころ変更されることはないので、 とりあえず、WIN32OLE.codepageの初期設定値を決めるときにだけ、Encoding.default_internal を参照することにした。
W: ~>cat enct.rb
require 'win32ole'
utf8_A = [0x3042].pack("U*").force_encoding("UTF-8")
sjis_A = utf8_A.encode('Windows-31J')
dict = WIN32OLE.new('Scripting.Dictionary')
dict.add('A', utf8_A)
p WIN32OLE.codepage
p Encoding.default_internal
p Encoding.default_external
p dict['A']
p dict['A'].encoding
p dict['A'] == utf8_A
p dict['A'] == sjis_A
W: ~>/usr/local/ruby-trunk/bin/ruby -v -E :utf-8 enct.rb
ruby 1.9.0 (2008-10-08 revision 19619) [i386-cygwin]
65001
#<Encoding:UTF-8>
#<Encoding:US-ASCII>
"あ"
#<Encoding:UTF-8>
true
false
W: ~>/usr/local/ruby-trunk/bin/ruby -v -E :windows-31J enct.rb
ruby 1.9.0 (2008-10-08 revision 19619) [i386-cygwin]
932
#<Encoding:Windows-31J>
#<Encoding:US-ASCII>
"あ"
#<Encoding:Windows-31J>
false
true
W: ~>/usr/local/ruby-trunk/bin/ruby -v -E utf-8:windows-31J enct.rb
ruby 1.9.0 (2008-10-08 revision 19619) [i386-cygwin]
932
#<Encoding:Windows-31J>
#<Encoding:UTF-8>
"あ"
#<Encoding:Windows-31J>
false
true
W: ~>/usr/local/ruby-trunk/bin/ruby -v -E windows-31J:utf-8 enct.rb
ruby 1.9.0 (2008-10-08 revision 19619) [i386-cygwin]
65001
#<Encoding:UTF-8>
#<Encoding:Windows-31J>
"あ"
#<Encoding:UTF-8>
true
false
W: ~>
それっぽく動いているみたい。
| 固定リンク | コメント (0) | トラックバック (0)
最近のコメント