アクセスカウンタ

<<  2008年3月のブログ記事  >>  zoom RSS

トップへ


[Apache] プロセス一本で立てる

2008/03/31 13:14
こんにちは。
友人Mがアキレス腱断裂を起こしたと聞いて、おどろいたおじいさんです。
バドミントンやテニスで断裂する人が多いそうで、まあこの歳になってしまえばそういうことはあるもんです。おじいさんも、フットサルでシュート空振り→転倒→手首骨折なんてことやってますし。
運動の際にはくれぐれも注意しましょう。
それはさておき、Apacheのプロセスを一本で立てる方法です。

httpd.confで次のように指定して再起動。

StartServers 1
MinSpareServers 1
MaxSpareServers 1
MaxClients 1

(インデントがくるっちゃってるかもしれんが、すまぬ)

正直、MaxClientsを1に指定するだけでいいんじゃないかと思わなくもないですが、あえて全部指定してます。あ、バージョンは2.0系です。たぶん、1.3系でも同じだと思いますが。

なぜ、こういうことをするかというと、デバッグの時に使えるんですよね。
たとえば、mod_perlではグローバル変数でなんか悪さしているものを調べたり、メモリリークを調べたりする場合に使えます。

さて、次はmod_perlのメモリリークの調査か。。。うーむ。まいったな。
記事へブログ気持玉 0 / トラックバック 0 / コメント 3


[Perl] MIME::Base64::Perlあまりはやくないのね

2008/03/28 14:00
こんにちは。
東京では桜がほぼ満開状態。日曜はマッタリ花見したいなあと思っているおじいさんです。
個人的には花吹雪って奴が大好きなので、見ごろは来週かなとおもっておりますが。や、そもそもソメイヨシノばっかりじゃあ飽きるので、他の桜にもがんばってほしいもんです。
それはさておき、上司命令で、先日紹介したMIME::Base64::Perlのペンチを取ったので軽く報告を。

先日の記事
 http://cast-a-spell.at.webry.info/200803/article_14.html


#!/usr/bin/perl

use Benchmark;

use MIME::Base64;
use MIME::Base64::Perl;

my $str = join("",<STDIN>);

timethese (n,
{
base64 => sub { MIME::Base64::decode_base64($str) },
base64perl => sub { MIME::Base64::Perl::decode_base64($str) },
}
);



n=10、$strに10MBの文字列。

Benchmark: timing 10 iterations of base64, base64perl...
base64: 1 wallclock secs ( 0.25 usr + 0.11 sys = 0.36 CPU) @ 27.78/s (n=10)
(warning: too few iterations for a reliable count)
base64perl: 3 wallclock secs ( 2.37 usr + 0.21 sys = 2.58 CPU) @ 3.88/s (n=10)


n=1000、$strに30KBの文字列。

Benchmark: timing 10000 iterations of base64, base64perl...
base64: 0 wallclock secs ( 0.73 usr + 0.01 sys = 0.74 CPU) @ 13513.51/s (n=10000)
base64perl: 6 wallclock secs ( 6.57 usr + 0.02 sys = 6.59 CPU) @ 1517.45/s (n=10000)


n=100000、$strに80Bの文字列

Benchmark: timing 100000 iterations of base64, base64perl...
base64: 0 wallclock secs ( 0.04 usr + 0.00 sys = 0.04 CPU) @ 2500000.00/s (n=100000)
(warning: too few iterations for a reliable count)
base64perl: 0 wallclock secs ( 0.46 usr + 0.00 sys = 0.46 CPU) @ 217391.30/s (n=100000)


大体速度が10倍ぐらい遅いようです。
確かにこれだとXSでやりたくなるもんだねえ。


3/30追記
MIME::Decoder::Base64もあるじゃないかという話を頂きましたが、これは中でMIIME::Base64を使ってます。



記事へ面白い ブログ気持玉 1 / トラックバック 0 / コメント 0


[Ruby] Railsの素人覚書

2008/03/27 19:54
こんばんは。
バグになかされているおじいさんです。
プログラマの醍醐味はプログラムを書くことにあるわけなんですが、致命的バグが出たときは本当に逃げたくなりますね。
さて、それは一つ片付けたので、先日来やっていたRubyOnRailsの素人の覚書です。多分、今後しばらくRubyの話題は出てこないでしょう。Flexの方がおもしろいのでそちらをやることになりましたので。

○POSTメソッドの中身をそのまま取る方法


request.raw_post


これで取れました。XML通信だけをしている場合は、こういうのがほしくなる場合があります。
まあ、それ専用のモジュールに渡せばいいんでしょうけれど、そこまでわからなかった。

ちなみに、QUERY_STRINGは


request.raw_post


で取れます。ただ、問題はrequestオブジェクトって何だろうの世界なんですよ。
 

○URLデコード
raw_postではまだURLエンコードされています。それをデコードするには以下の要領。


CGI.unescape(request.raw_post)


わからないのは、CGIオブジェクト?が一体どこで使えるようになっているのかさっぱりという所。
なんだかめちゃくちゃ怖い。


他にもいろいろとRubyを勉強させてもらいましたが、まだまだわからないことだらけで、XMLファイルを出力するだけでん時間かかるというありさま。
そうやって調べるのは面白いけれど、もう少しうまく進まないのかと思わなくもないです。
記事へガッツ(がんばれ!) ブログ気持玉 1 / トラックバック 0 / コメント 0


[Perl] 依存モジュールをしらべる方法

2008/03/25 19:07
こんばんは。
Safari3.0速いーと驚いているおじいさんです。
実際どんな感じかと言うとですね、
 Firefox3 b4 > Safari3.0 > IE8.0b > IE7.0
てな感じですかね。普通に使えるシロモノになりました。
一応リンクを置いておきますね。
 http://www.apple.com/jp/safari/download/
それはともかく、CPANモジュールの話。同僚のY嬢が「CPANの依存モジュールを調べたいんですけれど」、あい、了解。

以下のページを参照

 http://cpandeps.cantrell.org.uk/

あ、終わってしまったorz

Test::Baseの例
 http://cpandeps.cantrell.org.uk/?module=Test%3A%3ABase&perl=5.10.0&os=Linux

まあ、ページを見ればわかるんですが、依存関係のあるモジュールをどんどん再帰的に検索して言って、依存がなくなるか、COREモジュールに行き着くまで調べてくれます。
非常に便利です、ハイ。


記事へブログ気持玉 0 / トラックバック 0 / コメント 2


[Perl] MIME:Base64で特定の文字列をデコードするとhttpがfree失敗して落ちる

2008/03/24 22:00
こんばんは。
スノボとスキーのせいで、顔が日焼けしてしまっているおじいさんです。
スノボは今年初めてやったんですが、ようやくなんちゃってターンができるようになってスノボ楽しめるようになりました。おかげさまで、ただいま絶賛筋肉痛です。
それはともかく、先週から嵌っている件、MIME::Base64の件です。

なんだかよくわかりませんが、MIME::Base64のdecode_base64をmod_perl環境下で使っていると、非常にまれにですが、以下のエラーメッセージを出力してhttpdがabortしちゃう場合があります。


[Tue Mar xx 15:24:00 2008] [notice] child pid 6313 exit signal Aborted (6)
*** glibc detected *** free(): invalid next size (fast): 0x0aa99750 ***


えー、glibcから落ちてるんですか。しかも、シグナルのAbortっすか。。。
evalでは止められませんね。これは$SIGでトラップするしかありません。まさか、こういう事がおきるとはねえ。
それで、MIME::Base64のコードを見てみたのですが、正直二重解放エラーになるような箇所が見当たらない。
面倒なので、MIME::Base64::Perlをつかってみることにしました。

 http://search.cpan.org/search?query=MIME%3A%3ABase64&mode=all

で、こういう事があったからには一応ソースを読むことに。
短いので全文引用します。


sub decode_base64 ($)
{
    local($^W) = 0; # unpack("u",...) gives bogus warning in 5.00[123]
    use integer;

    my $str = shift;
    $str =~ tr|A-Za-z0-9+=/||cd;            # remove non-base64 chars
    if (length($str) % 4) {
        require Carp;
        Carp::carp("Length of base64 data not a multiple of 4")
    }
    $str =~ s/=+$//;                        # remove padding
    $str =~ tr|A-Za-z0-9+/| -_|;            # convert to uuencoded format
    return "" unless length $str;

    ## I guess this could be written as
    #return unpack("u", join('', map( chr(32 + length($_)*3/4) . $_,
    # $str =~ /(.{1,60})/gs) ) );
    ## but I do not like that...
    my $uustr = '';
    my ($i, $l);
    $l = length($str) - 60;
    for ($i = 0; $i <= $l; $i += 60) {
        $uustr .= "M" . substr($str, $i, 60);
    }
    $str = substr($str, $i);
    # and any leftover chars
    if ($str ne "") {
        $uustr .= chr(32 + length($str)*3/4) . $str;
    }
    return unpack ("u", $uustr);
}



いくつかメモを書いておきます。
まず、実際にBase64をデコードする処理は最後の行でunpack関数のuuencodeのデコードロジックで行っています。
これに乗せるために、いくつか小細工しているというわけです。60文字ごとにぶった切って、各行の頭で"M"を入れるのは、デコード後のバイト数が45文字、デコード前の文字が60文字であることを示しています。
uuencodeでは行は改行を含め62バイトまでしか入りませんので、60文字で切るのは妥当でしょう。
で、最後のあまりの処理をして一気にunpackしているという事になります。

参考として、uuencodeの仕様について、補足資料を。

 http://www.linux.or.jp/JM/html/GNU_sharutils/man5/uuencode.5.html
 http://en.wikipedia.org/wiki/Uuencode

なんかunpackできるなら、Base64もネイティブ対応してほしいもんです。
まー、そもそも、発端はglibcで落ちることが原因なんですが、なんでだろう。
ホントこれはわからん。XSについての知識を少々仕入れないと。

余談ですが、おじいさんも"I guess..."で示されてるやり方でBase64をデコードできるとは思います。ただ、若干メモリ食いですな。
記事へなるほど(納得、参考になった、ヘー) ブログ気持玉 2 / トラックバック 1 / コメント 0


[雑記] 一行新報:Firefox3beta4速過ぎ

2008/03/17 20:45
こんばんは。
ウェブリブログの管理画面で、コメントの表示方法が元に戻っていてなんだかうれしいおじいさんです。
さて、今日はネタがないので、適当なニュースを紹介。とはいっても、そろそろ賞味期限が切れそうな話ばかりですが。

Firefox 3 beta 4 ダウンロード開始
 http://www.mozilla.com/en-US/firefox/all-beta.html
 →最強。速い。体感速度で50%ぐらいの改善がみられる。
  Ajaxなページだけでなく、Yahooなんかのページも速くなっているように見えるのはなぜか。
  このままだと、IE8なんか絶対に使わないですよ、ホント。


エクセルデータを見やすくする方法
 http://coliss.com/articles/software/899.html
 →WordとExcelの技は覚えれば覚えるほど、効率が上がります。
  関係ない、と思っても一読しておくといいかも。

[book]新人の面倒を見る羽目になった人向けの本リスト:前編
 http://d.hatena.ne.jp/ryozo18/20080315/1205594324
 →これは秀逸。新人の面倒を見るといわずに、読みましょう。
  とはいっても、こんなに大量に本を買えないんだよねえ。
  図書館に行こうかな。

Adobeが推奨するFlexコーディング規約がWebで公開中
 http://codezine.jp/a/article/aid/2332.aspx
 →これはぜひよんでおかねば。。時間がない。後回しだッ。
  ってなると、読まないんだよなあ。

HetimaWebThumbnail.qlgenerator
 http://veadardiary.blog29.fc2.com/blog-entry-1461.html
 →ひさびさにUIで衝撃をうけた。
  VistaのAeroはバカにしていたけれど、これは使いやすいかもしれない。
  触っていないけれど、そう思った。さて、Macに入れてみないとイカン。
  とはいえ、Leopardだったかな、アレレ。。。

Wiiテレビの友チャンネルが家電業界に与えたメガ・ショックとは
 http://d.hatena.ne.jp/wa-ren/20080314/p1
 →というか、SonyやMSやろうと数年前からがんばっていたことを
  Wiiはあっさりとやってのけてしまったわけで。
  ヘタしなくても、Wiiは日本最大のポータルになっておかしくない。
  ひょっとすると、世界最大のポータルになっちゃうかもしれない。
  それだけWiiチャンネルというのは破壊力抜群なのです。
  そのうちコンテンツを持っているアニメ会社とかは、放送局に売るより、
  Wiiに売っちゃったりして。。
  ま、家電業界がUIに関して言えば、胡坐をかいていたというのは賛成です。


まだ、40個ぐらいブックマークがあるんだけれど、もう疲れたので、今日はこの辺で。
次回までに増えていないことを祈ろう。。。
記事へブログ気持玉 0 / トラックバック 0 / コメント 2


[Perl] チョーPerl検定のデータ

2008/03/16 00:08
こんばんは。
お酒が入っていい気分のおじいさんです。
友人殿の新居に行ってきたのですが、いやあ眺めがよい。さすが都心の30階です。すばらしかった。
それはさておき、先日作ったPerl検定について、受験者数が30人を超えましたので、みなさんの結果について公表したいと思います。

チョーPerl検定
 http://cast-a-spell.at.webry.info/200803/article_6.html
 http://minna.cert.yahoo.co.jp/cbrws/225223

チョーPerl検定のデータ(3/15 0:00)
  受験者数 32名
  合格者  10名
  合格率  31.3%
  →これを見る限り、ちょっと問題が難しかったようです。合格率60%ぐらいを目指して
   いたんですけれどねえ。

得点分布
  10問正解 1名 3.1%
  9問正解 4名 12.5%
  8問正解 5名 15.6%
  7問正解 3名 9.4%
  6問正解 5名 15.6%
  5問正解 9名 28.1%
  4問正解 3名 9.4%
  3問正解 0名 0%
  2問正解 2名 6.3%
  1問正解 0名 0%
  0問正解 0名 0%
  →最頻値が5点という事は、合格の基準がちょっと高かったのかも。

各問題の正解率が出ていれば、うれしいんですけれど、検定レポートにはないみたい。
それが出れば、もう少し違う解析ができるんですが、残念です。

ちなみに、今の所問題についてクレームはありません(^-^;)
そこが一番ほっとしております。
記事へブログ気持玉 / トラックバック / コメント


[Perl] ファイルの文字コードを推測する場合は、一行づつ推測してはいけない

2008/03/14 17:12
こんにちは。
またまた文字コードにはめられたおじいさんです。
もう、文字コードの世界からいい加減脱出したい。でも、UTF8やらShiftJISやらEUCやらあるのでしょうがないんですよね。。
で、嵌った内容は掲題の通りで、「ファイルの文字コードを推測する場合は、一行づつ推測してはいけない」という事です。

いかに次のようなファイルが謎の文字コードXで保存されているとしましょう。

名前,hogehoge
住所,foobar
電話,555-555X
年齢,永遠の20歳
特技,寝ること


このファイルを受け取って、UTF8で保存することを考えます。
単純に考えると、次のようなコードになりました。

use Jcode;

open (FH_FROM, "<$from_file") or die;
open (FH_TO, ">$to_file") or die;

my @buf = <FH_FROM>;
$buf[0]=~ s/^\xef\xbb\xbf//; # bomを削除する

foreach (@buf) { # 文字コードを変換して出力する
  print FH_TO Jcode->new($_)->utf8;
}

close(FH_TO);
close(FH_FROM);


というわけで、元のデータをUTF8でfrom.txtに保存して、スクリプトを実行してみますと、下のようになります。化けた文字は〓に置き換えました。

〓〓〓,hogehoge
篏〓〓foobar
電話,555-555X
年齢,永遠の20歳
特技,寝ること


あれー、という事が発生します。なぜかというと、二行目を例にとって説明しますと、UTF8の”住所”という文字のバイトコードは、”e4 bd 8f e6 89 80”になります。で、これはShift-JISで”菴乗園”という文字列にも解釈できる。
このため、Jcodeの文字コード判定がどっちにころぶかわからない。この場合はShift-JISへ転んだんでしょう(getcodeすると""が返ってきたorz)。したがって、UTF8→UTF8で何も変換しなくていいはずが、Shift-JISの文字列と思って、変換をかけてしまうため、文字が化けてしまうわけです。
ようするに、文字コードのバイトコードの範囲が重なっちゃっているために、どっちがどっちのコードか?というのは短い文字列では判定できない場合があります。

ですから、ファイルを一行読んで、文字コード判定して変換して、出力、なんてことはやってはいけません。
この場合は、foreachループを、print FH_TO Jcode->new(join("",@buf))->utf8;で置き換えるとうまくいきます。

まあ、ちょっとしたコツってことで、紹介でした。
記事へブログ気持玉 0 / トラックバック 0 / コメント 2


[IE] ファイルのダウンロードで、IEが.xmlという拡張子を自動で付与しちゃう

2008/03/13 19:55
こんばんは。
調査能力のなさを露呈したおじいさんです。
なんつーか、突っ込みが足りませんでした。反省。
同僚のK氏によると、ファイルのダウンロードをする時にIEが拡張子を自動でつけちゃうことがあるって事が判明しました。

条件
 ・ファイルの中にDTD宣言があるXMLファイル
 ・ファイル自体の拡張子はContent-Disposition: attachment; filename=hoge.abcみたいな感じで、.xmlはついていない。

この場合、なぜか知らんのですが、IEはファイルを保存するときに.xmlを付けてくれちゃいます。
ファイルの種類はもちろんXMLファイル。
Content-Typeは無視されます。。。text/plainであろうと、application/octect-streamだろうと、付けてくれちゃいます。

なお、DTD宣言がないと、HTMLファイルと解釈されて拡張子を自動で付けるなんていう事はありません。

極窓なんかが悪さしてるわけじゃなかったんだー。びっくりです。


2008/3/14 黒い人さんのコメントを受けて追試
abc.ttt というファイルに XML を記述。DTD をつける。
これに対して外部のHTMLから、aaa.ttt へ a タグでリンクを張る。
IE8 beta で右クリックから、"Save Target As.."を選択。

なーーっ。
abc.xml として保存されてしまいました。拡張子.tttはどこへ行ったんだ!!
DTD宣言をはずすと、 abc.ttt で保存されました。

マジですか。。。かなりびっくり。


記事へブログ気持玉 0 / トラックバック 0 / コメント 1


[雑記] 有機ELディスプレイのノートパソコンはいつになったらでてくるんかね?

2008/03/12 12:56
こんにちは。
最近、ノートパソコンを物色しているおじいさんです。
そこで思い出したのですが、有機ELディスプレイを搭載したノートってのはいつごろでてくるでしょうかね?

現在のノートパソコンは画面に液晶を使っていますが、有機ELに早くならないかな、と思ってます。
なぜかというと、

 ・薄く作れるのでノートパソコンが軽く出来る
 ・バックライトがないので、消費電力が若干抑えられる。
 ・したがって、稼働時間が延びるだろう
 ・画面がキレイ
 ・視野角が広いので、人に見せるときにも使いやすい
 ・応答速度が速い(低温でも速いです)

というすんばらしー特徴があります。
乗っけてもらえると、すごくいいノートパソコンになると思うんですよね。
しかし、現在の所、

 ・画面が小さい
   まともに動いているのはソニーのXEL-1ぐらい
   他は携帯電話向けの3インチなんか程度
 ・値段が高い
 ・寿命が液晶に比べると短い
 ・焼きつきが発生する

最後の焼きつきは、ノートパソコンにとってはかなり致命的かなと思わなくもないです。
たとえばWindowsのタスクバーはずーっと同じ模様を表示しているんですが、これが焼き付いちゃったりする可能性があるわけで。
その点では家庭用テレビの方に最初に芽が出てきたのはそりゃそうだと思うんですが、大型化でてこずっているようです。
とはいえ、パソコン用のモニタにしろ、12〜20インチあれば十分なんだけれどな。
焼きつき覚悟でどこか出してくれないものか。

といった問題がありますが、結構なところが有機EL搭載ノートパソコンを検討しているようです。

 http://www.eetimes.jp/contents/200801/30125_1_20080119012423.cfm


この記事を真に受ければ、まー、2009年までは出そうにないですね。


ちなみに、有機ELでは他に家庭用蛍光灯の代わりがもくろまれてるんですが、これもまだまだ試作品の段階。
ですが、城戸先生のブログによれば、日経がまた飛ばし記事をかいたっぽいです。

 http://junjikido.cocolog-nifty.com/blog/2008/03/post_d744.html

あーあ、これも結構期待してるんだけれどナア。
技術が日進月歩と言っても、壁があるもんですね。 
記事へブログ気持玉 / トラックバック / コメント


[本] Adobe Flex 2プロフェッショナルガイド

2008/03/11 18:57


こんばんは。
一年ぶりに税務署に行ってきたおじいさんです。
待たされる事もなくてさくさく進みました。でも、税金の額を見ると怒りがわいてきますよ、ホント。もう少し効率よく使ってくれねえのかと>政府
それはともかく、今日はネタがないので本の紹介です。

Flex2の本はあまり出ていませんが、それでもいくつか出ているわけです。
その中で評価がよかった?のを選んでみましたが、、
微妙にはずれのようなアタリのような。
どういう事かというと、ActionScriptの解説に本書の1/3近くを割いています。
したがって、ActionScriptについて、わざわざ本で説明してもらうまでまでもねーよ、という人にはかなりガッカリ。
とはいえ、ActionScriptのデザインパターンについて、若干解説があるのでそれについてはとっかかりができたので、その点は収穫でしょうか。

その他の内容ですが、コンポーネントをちょっと試して遊びましょうの程度です。
ですんでチュートリアルをやっている方が身につく内容が多いのが気になりました。
ついでに言えば、Flex Builder3がつい先週でたんですよね。時代遅れになっちゃってます。
したがって、まじめにチュートリアルをやった人にはオススメ出来ません。
本当に初めてさわって、蹴躓いちゃった人向けです。


まあ、うだうだ書いてみたんですけれど、結局モノを作るには本だけじゃだめで、実践あるのみ。あたらしい言語を覚えるのは、色々苦労するなあ。
記事へなるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0


[雑記] BLOGRANGER TGパーツ

2008/03/08 16:57
BLOGRANGER TGパーツ



記事を分析してくれるようだが、今ひとつ使い方がわからん。
うーん。。。。
そういうことするんだったら、どの有名人のブログと近いか地図で出してくれるとうれしいなあ。
記事へブログ気持玉 / トラックバック / コメント


[Perl] チョーPerl検定、作りました。

2008/03/07 13:18
こんにちは。
明日、休日出勤しようかどうか考えあぐねているおじいさんです。
で、以前Perlの検定なんかないのかね?と言っていたのですが、Yahooにみんなの検定というページがありまして、なんでも検定が作成できるようです。
せっかくですので、Perlの検定を作ってみました。

以前のエントリ
 http://cast-a-spell.at.webry.info/200802/article_11.html

チョーperl検定〜はじめの一歩〜
 http://minna.cert.yahoo.co.jp/cbrws/225223/exam?n=1

やあ、作るのに3時間もかかりました。帰宅してから何をやっとんのじゃと思いつつ、滝川クリステルを横目でみつつ作っていましたよ。問題作成はなかなか難しいモンですね。

さて問題の方ですが、前半部分はコードが一行も出てきません。
後半部分は初歩的なコードから始まります。
ちょいとやってみてください。
なお、指摘がありましたら、こちらのコメント欄の方でどうぞ。Yahoo検定のコメント欄はみてるかどうかあやしいので。

ちなみに、「はじめの一歩」とか言ってるくせに若干難しいようです。
そんなつもりはなかったんだけれどなあ。
興味が向いたら、第二段作ります。


追記 ブログパーツを張ってみました。






記事へブログ気持玉 0 / トラックバック 1 / コメント 5


[IE] Internet Explorer8 beta1参上!

2008/03/06 12:17
こんばんは。
まさかこんなに早く!というのが本音のおじいさんです。
ついにIE8のbetaが出てしまいましたね。
まだ日本の企業ではIE7にすら乗り換えてない所が多いってのに、気の早いことです。
ということで、IE8 beta1を入れてみました。

まず、ダウンロードする所は次になります。

 http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx

このページからDownload Nowを選択して進んでいけば、IE8beta1が入手できます。
おじいさんの環境はなぜかわかりませんが、一緒にSliverlightも入ってしまいました。

で、Setupをクリックすると、ぐりぐりインストールが始まり、例によってマシンをリスタートします。
インストールすると、現在のIEを上書きしちゃうので注意が必要です。
IE8をはじめて開始するときには、いろいろ設定を尋ねられます。
検索はgoogleがいいのか?Safe filterはONにするのか?などなど。
正直、Safe filterがよくわかりませんが、最終的にOFFにしました。

それで起動。IE7とあまりかわってねーというのが第一印象。
まあ、普段Firefoxをつかってるので、気にしていなかったのが原因かもしれませんが。
ぱっと見て違うなーと思ったのは「Emulate IE7」ボタン。
後は、Activete周りが強化されてるなあと思いましたが、使わない。

あと、従来のIE Developper Barが使えません。なので、IE8付属のを使いましょう。
機械翻訳で日本語のページも出せますが、理科できないw

で、使ってみていますが、レンダリングは確かに早くなったようななっていないような。。。
わからん。普段使っていないのでなんとも。。。

一応、おじいさんのPJで使っているJavascriptごりごりのページはちゃんと動きます。
よかったー。

なお、IE8の新機能は以下で。

 http://support.microsoft.com/kb/949787


ちなみに、アンインストールのときには、「プログラムの追加と削除」から「Windows Internet expolorer 8」がありますのでこれを削除しましょう。

さて、IE8でしばらく暮らしてみるかな。




 

記事へガッツ(がんばれ!) ブログ気持玉 1 / トラックバック 1 / コメント 0


[本] SoftwareDesign 08/03号、Web+DB Pressをやっとこ読んでみた

2008/03/05 13:09
こんにちは。
昼ごはんのちょっと前に午睡を楽しんでいたら、頭を机にぶつけちゃったおじいさんです。
さて、それほど時間もないことですから、さっそく本題に。
SD 08/03号とWeb+DB Vol.43の今月号を読んだので、簡単に。

SD 2008/03


Javascript特集があったので、ざっくり読んでみた。

 ・Javascriptのこれまでと現在
 ・ExtJSでお手軽アプリケーション開発
 ・userChrome.jsでFirefoxを自由自在にカスタマイズ
 ・Javascriptでサーバサイドも構築しよう
 ・Javascriptでマルチスレッドを実現しよう

JS特集のほかに、軽量HTTPサーバについても触れられているので、Web系の方々も普段みなくってもちらっと見る価値はあるんじゃないかと。
やー、しかし、ExtJSっていつのまにこれほどメジャーになったんだか。後で参考にして、なんかテストコードを作ってみようかな。
後、マルチスレッドのところは、Concurrent.Threadを使っています。

Web+DB Press Vol.43


PostgreSQL特集。
おじいさんは、JSONとYAMLの特集の方がありがたかったです。YAMLは今後利用が増えていくんじゃないかとにらんでいるので、今のうちから仕込んでおかないと。
それと、naoyaさんのPerlの連載で5.10のトピックスについて目を通す。
5.10が実際にエンタープライズとして使われるのはもう少し先でしょうけれど、これも今のうちから試しておかないといけませんねえ。


昼休みが終わったので、こんなところで。
記事へブログ気持玉 / トラックバック / コメント


[雑記] スクリーンリーダー

2008/03/04 23:37
こんばんは。
花粉症対策に薬を飲んだら、すごい眠気(-_-;) 仕事になりません。
いくら窓際とはいっても、さすがに会議に出れば寝るわけにはいきませんから。
非常につらくて、ソッコーで帰宅してしまいました。
それはさておき、その会議で出ていた、スクリーンリーダーについて、若干調べてみました。今後、Webアプリなんか作る場合はそういう所にも注意していきたいもんですねえ。

実際にスクリーンリーダーを使っている方に話を聞いた所、現在次のようなスクリーンリーダーが出回っている模様。
もっとも、これはWindowsの話なので、MacやLinuxの件については、Wikipediaでもみてください。

 ・95リーダー系
  http://www.ssct.co.jp/barrierfree/95reader/
  Win95が出た当時から出てきたスクリーンリーダー。
  Vista対応はしないため、今後は絶滅の予定。
  

 ・PC Talker系
  http://www.pctalker.net/
  ユーザが結構おおいみたい。

 ・JAWS
  http://www.extra.co.jp/jaws/index.html
  格が違うスクリーンリーダー。15万円。まあ、企業ユースで買えというしろものだから高い。
  世界中で使われており、シェアNo.1ではないかと思われる。
  しかし、本当に鮫のJAWSだったんだー。びっくり。スクリプト機能がありカスタマイズ
  が強力らしい。

で、メールはどう使ってるのよ?とか聞いた所、以下のソフトの話になった。

 ・Mm-Mail2
  http://www.am-corp2.com/mm-mail2/index.html
  元から視覚障害者などにやさしいメーラを目指している模様。
  メニューからすべての操作が可能で、PC Talkerなどとの連携を前提に作られている
  ようです。
  
さて、なにはともあれ、一度こいつらを使ってブラインドでメールの受信とかをやってみるかな。
なんだかワクワクしてきたぜー。

記事へブログ気持玉 0 / トラックバック 0 / コメント 2


[Perl] Module::Pluggableおもしれえ

2008/03/03 20:29
2008/3/6 Moduble::Pluggableのソースコードを読んでサンプルを若干修正。

こんばんは。
花粉か風邪かわからない状態のおじいさんです。やー、この季節は毎年地獄ですな。
国には責任を持って山の管理をしてもらいたいものです。みんなで5000円づつ出し合って山を管理したら、花粉症が収まるんなら、おじいさんは5000円出していいですよ、ホント。
さて、それはおいといて、今日のお題はModule::Pluggableです。Perl5.10で標準にはいったので、ちょっと注目してみました。

実際の所、Module::PluggableよりもModule::Pluggable::Fastのほうが人気があるんじゃなかろうかと思わなくはないですが、ひとまずPluggableの調査です。

CPANのページ
 http://search.cpan.org/dist/Module-Pluggable/lib/Module/Pluggable.pm
ソースを読んだ人
 http://d.hatena.ne.jp/ZIGOROu/20070418/1176884062

こんな感じで使えます。

a.pl

#!/usr/bin/perl

use lib(".");

use MyPackage;
use Data::Dumper;
my $a = MyPackage->new();

foreach my $plugin ($a->plugins) {
next unless $plugin->can('hello');
last if $plugin->hello();
}


MyPackage.pm


package MyPackage;
use Module::Pluggable require => 1;
use base qw(Module::Pluggable);

sub new{
my $pkg = shift;
my $hash= {
};
bless $hash,$pkg;
}

1;


MyPackage::Pluggable::hello.pm

package MyPackage::Plugin::hello;

sub new{
my $pkg = shift;
my $hash= {
};
bless $hash,$pkg;
}

sub hello
{
print "hello\n";
}

1;


実行結果

# perl a.pl
hello


Pluginのディレクトリにクラスを追加するだけで、なんぼでも使えます。めっちゃ楽。
考えると、これはCommandパターンとかにも応用が利くんじゃないでしょうか?

とはいっても、おじいさんがいつも扱っている領域はmod_perlで動作するところなんで、メモリをどんだけ食いか、ロードするタイミングなどについて、もう少し調べてからでないとい使いにくいのですけれど。

記事へブログ気持玉 0 / トラックバック 0 / コメント 3


[雑記] 自分がいいと思う本を10冊挙げろ!(後編)

2008/03/02 01:21
前回の続きです。

 前回記事:自分がいいと思う本を10冊挙げろ
  http://cast-a-spell.at.webry.info/200802/article_21.html
 

彗星狩り




元祖ラノベ作家の、笹本祐一による宇宙ロマンSFの星のパイロットシリーズ第二巻。1999年度星雲賞受賞作品。
とにかく、熱い物語です。
星のパイロットシリーズは宇宙産業が興り、民間会社が競って宇宙へと仕事に出かけていく時代を舞台に、零細宇宙会社のスペース・プランニングの活躍を描いてるんです。
ラノベという事もあるのか、主人公は若い女の子の羽山美紀という女性で、脇を固める面々は個性派揃い。クールビューティな社長、退役軍人のガルベス、天才車いす少年・・・
そして、第二巻のお題ですが、地球の近くを横切る彗星に如何に早くたどり着けるか、というもの。彗星で事業を始めようとしていた会社がつぶれて、その権利が売りに出された。その権利を獲得するのは一番最初に彗星にたどり着いた者だった。そして、月に次ぐ地球第二の衛星として捕まえる事。
スケールからしてすごい、と思いますね。
もちろん主人公の会社は零細ですから、知恵をしぼらにゃなりません。いや、そもそも彗星を本気で捕まえる仕掛けからしてハードSFでして、表面にアルミを蒸着させて蒸発を防ぎつつ、方向を制御するなんてアイデアをまじめに考えています。
さらには、スペース・プランニングの面々は普段地球を回る宇宙船で仕事をしているわけですが、彗星を捕まえるためには惑星間飛行をしなくちゃならない。当然、地球の周りと惑星間の飛行では推力の桁が違う。宇宙船の作りからして違う。そのために、ひたすら準備を行う。新型ロケットまで持ち出してしまう。それが、プラズマエンジン。一方ライバル会社はムーンブラストエンジンやイオンジェットを繰り出してくる。
どれもこれも、理論は出ていても実績はないわけで(いや、イオンジェットはハヤブサに積まれていたから、実績があるか)、それを繰り出してくる。当然、理論に沿って利点と欠点を兼ね備え、それを克服するための工夫をうまく描写してくれる。
そういう本ですから、実際に宇宙船が飛び立つのは中編の途中からというありさま。そして、飛び立ったらほとんど孤立無援の状態。そりゃ宇宙空間ですからね。トラブルは続発するし、宇宙塵の雲は行く手にふさがるし、そして地球側で陰謀劇が開始される。
そんな中、実際に宇宙を旅するライバル三社はあくまでスポーツマンシップにのっとっているわけです。最悪の時はすべての権利を諦めて、ライバル社を助けようともしている。
そんな地球の陰謀に足を引っ張られつつ、同時にライバル社も含めて知恵を出し合い、人類未到の彗星に有人ロケットを送り込み、そして戻ってくるのです。

SFの玄人には色々あるんでしょうけれど、話の疾走感、ギミックのおもしろさ、最後まで飽きさせません。
そして何より、主人公たちに困難を排して前へ進むんだという熱がある。それが、この本を支えて居るんでしょう。

あ、後、星のパイロットシリーズの四巻目、「ブループラネット」もオススメです。
宇宙には限りない可能性がある、と思わせてくれます。

銀河英雄伝説



田中芳樹の処女作にして、最高傑作。
おじいさんに小説を読む楽しさを教えてくれた一冊です。
自由惑星同盟、銀河帝国の間では長年にわたって戦争が続いていた。そこに二人の天才が現れた。帝国には帝国の軍人ながら帝国を憎む若者ラインハルト、同盟にはうだつの上がらない青二才のヤン・ウェンリー。ラインハルトが野望を実行に移す時、帝国と同盟の歴史はまさに動き始めたのだった。
うん、うまく要約できませんね。
とにかく、民主主義対帝国主義の国家で、戦争劇の物語です。
こういう架空戦記でこれほどのスケールをもった物語はこれまでなかったと言ってよく、また戦闘の描写も(パクリという噂もありますが)おもしろい。登場人物は一癖ふた癖ある奴らばっかりです。
でも、なんでしょうね、小説版は民主主義の悲哀ってやつですか、それがおもしろい。
同盟側の元首は明らかに政争しか興味がなくて、ヤンは常に横から口をだされるわけです。しかし、それでもヤンは従うわけですよ。それが民主主義の軍隊だからと。
なんつーんですかね、議員に軍事知識がちゃんとないとアホな事になるという好例を書いている所もあって、日本の反面教師にできるわけですが。
やっぱり上手く魅力をかききれてませんね。とにかく読んでみてくださいよ。

姑獲鳥の夏



推理物から一冊、京極夏彦の姑獲鳥の夏を挙げておきます。
おじいさんはあまり推理物は読んでいなくて、古典だとシャーロック・ホームズとアガサ・クリスティぐらいですか。現代の推理ものは多少は読んでるんですけれど、あまり覚えてないです。
だから、数年前に同僚から借りて読んだんですけれど、これはすごい衝撃でした。
なんというんですかね、この本はリフトなしスキーのようです。前半はなんじゃこりゃというぐらい話が進まない。関口君と京極堂の認識についての会話は、ひたすら山を登っているだけ。苦行です。しかもそれが並の単行本一冊分ある。いやー、指輪物語の「ホビットとパイプの関係」で挫折する人も多いと思うんですけれど、姑獲鳥の夏も最初のコレで挫折する人も多いでしょうねえ。
しかし、その苦行を耐え抜いた人だけにすばらしい読書体験をさせてくれます。謎解きが始まった時頁を繰るのがもどかしい勢いで進んでいくんです。
推理小説の概念を少々変えたと言っても過言ではないでしょう。
とはいってもですね、あの結末というかトリックはねぇだろと思うわけで、個人的には京極堂シリーズの最高傑作は「鉄鼠の檻」ではないかと思っています。榎木津最高!

ちなみに、次点はアガサ・クリスティの「そして誰もいなくなった」です。レモン・チャンドラーなんかも考えましたが、あれはあまり性に合わなかったんですよね。


笑傲江湖



中国の武侠小説(日本で言う剣客小説)の大家、金庸の大傑作です。
令狐冲を主人公に、秘伝書「辟邪剣譜」を巡って、武術家たちが争うというものですね。
この小説は努めてジャンプ的なんですよ。
戦って戦って友情をはぐくんで、時にラブ。ついでに、こいつが裏切るのかー!という話です。
必殺技はポンポンでてきてかっこいい。ギャグもいい感じで織り込まれてる。すべてが高水準で兼ね備えている。
特に主人公の令狐冲はヘタレっぷりとかっこよさを兼ね備え、任盈盈とのツンデレぶりは見ていて楽しいですよ。
・・・ありゃ、手元に本がないので、もう少し詳しく紹介したいんですけれど、細かい所を覚えていないので、こんな所で。

流血女神伝



最後は須賀しのぶの、大河小説です。
おじいさんなのに、なぜコバルト文庫と言われそうですが、おもしろいからいいんですよ。じじいが、マリ見てを読んでいてもいいじゃないですか。
これまで、おじいさんはデルフィニア戦記とかも読んできたんですけれど、一番人間の業って奴ですか、それを書ききったのが、この流血女神伝シリーズではないかと思うんですよ。
しかも、それを少女レーベルのコバルトから出していて、少女の目を通して、神々の意思と人間たちがあらがう世界を描いていく。
いかん、話の内容を全然紹介してないですね。話は山奥深くに住むカリエという少女がルトヴィア帝国の皇子の身代わりとしてたてられる所から始まります。当然カリエは何もしらない娘なので、教育係のエドに徹底的にしごかれるわけですが、そこではじめてカリエは世界を知る。そして王宮にあがり、王位継承争いに巻き込まれるんです。
そこで終わっていれば、別に普通の小説だったんでしょうけれど、身代わり元の皇子が病気で死ぬとカリエは用済み。殺される所をエドと共に逃げ出すんです。そして安住の地を見つけようと旅をしていたら、奴隷→後宮の娘→敵国の王子様の小姓→海賊→王妃→神様の依り代→逃亡犯→修道女→海賊・・・少女小説で主人公が四人も子供を産みますか?フツーじゃないですよ。
それと本書の最大の特徴は、ファンタジーならではの神様たちの競演でしょう。
カリエはザカリア女神の娘として、これでもかと数多の試練を与えられる。そのザカリアはルトヴィア帝国の守護神によって封じられ、復活の日を少数の僕たちと時を待っている事になっております。それが物語を進むにつれてそれが一面的な伝承であった事が判明するわけです。伝える立場によって物語はゆがめられていくのだという事がわかるわけです。しかし、同時にそれは一面の真実でもある。矛盾があろうと、複雑であろうと、それが真実なのだという点でしょうか。
そういう点も折り重なり、カリエを始め主役級が神と世界と歴史と向き合って生きていく。そしてどれほど意思を持とうと、祈ろうと、滅びはやってくるわけです。その中でどう生きるか。何を新しい時代に残していくのか。立場を入れ替えつつ、物語は無常に進んでいく。
時代を生き抜くという事はこういう事なのか、と思ってしまうわけです。
二五巻という超長丁場ですが、一度手を取ってみてください。

おまけの一冊



数値計算系の主立ったアルゴリズムが掲載されている最強のアルゴリズム本の一冊(まあ、メルセンヌツイスタは入ってないと思いますが)
次点作品を挙げている所で、どうしてもこれだけは!と思っておまけにねじ込む事にしました(^-^;
だって、コンピュータ系の本が一冊もはいっていないのはおじいさんとしては悲しいですから。

この本は元々Fortranで書かれていたので、Cとしては少し邪道な感じがありますが、アルゴリズムについては実践コードと一緒に書かれているので非常にわかりやすい。
目的があって、アルゴリズムを検討する場合にこの本はもってこいです。
そして、何も目的がなくぱらぱらと眺めるのも楽しい。こういう事ができるのか、と思ってちょいちょいと試すことができます。将来の自分の糧になるでしょう。
おじいさんもそうやって、お勉強したのは昔の事ですねえ。

英語版は第二版が出ているそうなので、研究室とかそういう所では日本語版と英語版の両方、さらにはC++版をそろえておくべきですかね。
数値計算するならば、入門に買っておくべきですよ。

おわりに


挙げてみた一〇冊をざっと眺めてみると、おじいさんのオススメはなんだか歴史に偏っているようです。
それも、政治がからむ奴が多いですねえ。若干、読書の方向が偏ってるので、少し方向性を変えてみましょうかねえ。
でも、実用書は読んでも、何度も繰り返し読むってものではないですし。。。

一応、おわりに上に載せようかなと思っていた本の書名だけ挙げておきます。

 ・終戦のローレライ
 ・痛快!金融学
 ・菜の花の沖
 ・ふわふわの泉
 ・彩雲国物語(未完なのでどうかと)
 ・吉川英治三国志
 ・僕僕先生
 ・蒼穹の昴
 ・誇り―ドラガン・ストイコビッチの軌跡
 ・空色勾玉
 ・君主論

うーむ、もう少し本を読んだらレビューをつけてかないと、おもしろい本を読んでるんだけれど、ぬけちゃうことが判明。
ま、それはさておき、ここに挙げた本はおじいさんは自信をもってオススメできますんで、読んでみてください。ただし、相性が合わない可能性はありますので、その点だけは自己責任で。
記事へブログ気持玉 / トラックバック / コメント


<<  2008年3月のブログ記事  >> 

トップへ

たまには呪文をとなえてみるか:仕事版 2008年3月のブログ記事/BIGLOBEウェブリブログ
文字サイズ:       閉じる