トップ 最新 追記

ゆきのぶ日記


2008/08/02(Sat) [長年日記]

[PC] ATOK と DropMyRights の相性

ATOK 2005 を使ってる環境で DropMyRights を使うと、DropMyRights 経由で起動したアプリケーション上で漢字変換ができなくなってしまう事があるようだ。エラーメッセージとしては「辞書ファイルが見つかりません」とのこと。

「オンメモリ辞書」を設定しておき。DropMyRights を経由していないアプリケーション上で適当に漢字変換を行うと、以後 OS 再起動までは、この問題は回避できる模様。なんともアドホックではあるが。

最新の ATOK では解決しているんなら、そろそろ更新したいなぁ。


2008/08/04(Mon) [長年日記]

[Perl] Crypt::SSLeay のインストールメモ

WWW::Mechanize で SSL 通信をするときに必要になる Crypt::SSLeay モジュールのインストールメモ。

今回の対象は ActivePerl 5.8.8 Build 820 だったので ppm でインストール。下記のコマンドでうまくいった。

ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd

ssleay32.dll については、特に必要なかった。

Fetch ssleay32.dll? [no]
Aborting download of ssleay32.dll.

なお、cmd.exe 上からはすんなり行くけど、cygwin の bash 上からでは下記のエラーとなり、ダメだった。

Can't locate ActivePerl/PPM/limited_inc.pm in @INC

以上、やる度に一から調べている気がするので、ここにメモ。

[Perl] 正規表現マッチを一行で

正規表現で文字列を取り出して変数に代入するような時、下のように数行で書いていた。

my $code;
if( decode('shiftjis',$mech->content) =~ /code=([\d\w]+)/ ) {
  $code = $1;
}

もっと省略したいと思って色々やってみたが、下のようにすると一行で書けるようだ。カンマ演算子の左結合が ポイント。

my $code = ( decode('shiftjis',$mech->content) =~ /code=([\d\w]+)/, $1 );

しかしこの方法も、リストコンテキストで評価される時にはうまく動かない(下の場合だと、key と value の関係が意図したとおりにならない)。

my $codes = {
  code1 => ( decode('shiftjis',$mech->content) =~ /code1=([\d\w]+)/, $1 ),
  code2 => ( decode('shiftjis',$mech->content) =~ /code2=([\d\w]+)/, $1 ),
};

こんな時にも、scalar をつけると、意図したように動くようになった。

my $codes = {
  code1 => scalar ( decode('shiftjis',$mech->content) =~ /code1=([\d\w]+)/, $1 ),
  code2 => scalar ( decode('shiftjis',$mech->content) =~ /code2=([\d\w]+)/, $1 ),
};

いや、やっぱりダメなようだ。あとで考える。

追記

頂いたコメントを参考に、下記のように書いたら、意図したとおりに動くようになった。

my $codes = {
  code1 => (decode('shiftjis',$mech->content) =~ /code1=([\d\w]+)/)[0],
  code2 => (decode('shiftjis',$mech->content) =~ /code2=([\d\w]+)/)[0],
};

調べてみると、リストコンテキストでパターンマッチを行った場合には、結果がリストとして返されるようだ。 今回はその 0 番目の要素を抽出することで、意図したとおりの動きになった模様。

しかしこの方法も、マッチ対象がなかった場合には、key と value の関係が崩れてしまうようなので、注意し て使いたい。

drry さん、ありがとうございました。

本日のツッコミ(全3件) [ツッコミを入れる]

drry [my $codes = { code1 => (decode('shiftjis', $mech->content)..]

ゆきのぶ [ありがとうございました! 追記しました!]

joan [my $code = decode('shiftjis',$mech->content) =~ /code=(\w+..]


2008/08/06(Wed) [長年日記]

[PC] Becky! バージョンアップ

おお。送信確認画面がパワーアップしているよ。

送るメールの間違いが、これで減ってくれるといいな。

本日のツッコミ(全3件) [ツッコミを入れる]

27 [あれ、違ってたらごめんなさい。 確か結構以前からあったような…。 設定で表示/非表示も出来たような。 でも、この..]

ゆきのぶ [はい、この機能はだいぶ前からあります。有効無効の切り替えもできますね。 最近になって、画像のように警告メッセージが..]

27 [最新のVerを確認してみましたが、ドメイン指定も出来るようになったみたいですね。 ドメインで登録されていなかったら..]


2008/08/12(Tue) [長年日記]

勉強を続けるために時間割を作った

勉強って続けるのが難しいと思っていたところに、良いエントリを発見。

勉強方法を勉強して分かった僕に足りなかった3つのこと

マインドマップと復習は置いておいて、時間割は大事だと思った。何をしようか迷ってしまい、結局何もしない日はよくあるので、迷う時間を減らせるのは良いことだ。

  • 月:技術関連、当面は資格に向けた予習中心
  • 火:英語の勉強を iKnow や VOA などで
  • 水:人間関係に関する本を読むなど
  • 木:プログラミング関連
  • 金:経済関連

とりあえず、ざっくりと分野だけ決めた。勉強できる時間が確保できた平日は、こんな感じで勉強していくことにしよう。

本日のツッコミ(全2件) [ツッコミを入れる]

投稿初 [ いい突込みが思い浮かばない。 とり合えず勉強ガンバ!!]

ゆきのぶ [ありがとうございます!]


2008/08/16(Sat) [長年日記]

[PC] Thinkpad X40 キーボード交換計画

愛用している Thinkpad X40 の TrackPoint の調子がよくない。

具体的には、何も触っていないのに、マウスカーソルが高速で移動するようになったと言うもの。この症状は常に起きるので、マウスを使った操作は何もできなくなった。OS 上で、マウス感度の調整をしても特に効果なし。

今は TrackPoint を無効にして USB マウスで凌いでいるけど、スペースがないときには不便極まりない。そして、私が Thinkpad を使う大抵の場所では、そんなスペースはない。

なので修理したいと思う。まずは、余りお金のかからない方法と言うことで、ヤフオクでキーボードを取り寄せて自力交換をやってみる事にする。

…ここまで書いて思ったけど、TrackPoint の問題ってキーボード交換で直るんだろうか?

(追記1)ヤフオクでキーボードを買った。新品で 6,000 円だった。

(追記2)交換したところ、TrackPoint の問題は解決した。やはりキーボードは TrackPoint の機能を有しているだろうという予想は正しかったようだ。キーボードも新品になって気持ちいい。