MT 3.3 導入準備でもすっかといろいろいじっていたら、明らかに途中で切れているエントリをいくつか発見。小一時間ほどかかってわかったのが、バックアップファイル中に —–\n (ハイフン+改行)が入っている箇所で切れている状態でした。
Movable Typeの読み込みフォーマットによれば、「—–\n」各セクションの区切りとなっていて、確かに読み込みにデリミターとして認識されて利用されます。
自分のミスかと思ったが、アレ?まてよ。MTの管理画面で書き出しを実行したんだったな、と。まさか MT 側の問題とは思ってませんで余計に時間かかった。
はぁー、なんか以前もあったかも。さらに今利用中の DB 内でもすでにエントリが途中で切れている状態だったことも発覚。2年前のバックアップファイル(HTML)から —– を探しまくって行頭にスペース入れて修正したりして、変に時間を取られましたよ。げんなり。
問題のあったエントリ:
■グランドゼロ
■Debian の Apache2 で SSL セットアップ
カテゴリー: technology
素で使うと mysql→perl 時点でマルチバイトが ? に変換されちゃうので、SET names utf8 をする必要あり。DBIC では以下のように実行すると吉。
my $schema = MyDB->connect($CONNECT_STRING, $USERNAME, $PASSWORD); $schema->storage->dbh->do("SET names utf8");
ちょいはまったのでメモ。
Debian インストール日誌
FreshReader を使いはじめてもう一ヶ月ほどたちますが、cron 設定していたクローラー実行時に CGI 版の PHP がいつの間にかこんな警告を出すようになってました。
PHP Warning: mime_magic: type regex BEGIN[[:space:]]*[{] application/x-awk invalid in Unknown on line 0
#0 regex BEGIN[[:space:]]*[{] application/x-awk
はい、終了。これで毎時警告が出なくなりました、と。
■Debian Bug report logs: #357373 - mod_mime_magic: invalid type 0 in mconvert(). - Debian Bug report logs
ちなみに Debian の話です。ところでカテゴリ整理しなきゃ。
Postfix のコマンド操作
いろいろいじってたら無用な queue が溜まってたので、削除するためのコマンドを調べたり。メモメモ。
postfix check → 設定ファイルチェック postfix start → 起動 postfix stop → 停止 postfix abort → 強制終了 postfix reload → 設定リロード postfix flush → メールキューを手動配送 postconf -n → 現在の設定を表示 postsuper -d <queue id> → メールキューを削除
/etc/aliases へ他のファイルを append するつもりが書き込んでしまいました。つまりは cat aliases > /etc/aliases。素人だな。
反省の意味をこめて aliases.db から aliases を復活させる方法をメモ。
今後のために JavaScript パフォーマンス改善ヒントのメモ。後でちゃんと読んで実践すること。
■DHTML Dude:更なるパフォーマンス向上のヒント
■DocumentFragmentの考察 – Personnel
■最速インターフェース研究会 :: 日本語テキストをテーブルで表示するJavaScriptの高速化
■Javascript – Benchmark – W3C DOM vs. innerHTML
■DHTML and JavaScript Performance Tuning
■DHTML and JavaScript Performance Tuning
まーひとまずこのくらいで。
Win32::OLE
Perl モジュール Win32::OLE を使うといろいろできるね!と思ってましたが仕事に関連して調べていたらほんとにいろいろできるね。すごい。
use Win32::OLE; my $ie = Win32::OLE->new('InternetExplorer.Application'); $ie->{Visible} = true; $ie->Navigate('http://www.asahi.com');
へー、IE を操作できますよ、と。では Outlook は?なんと CPAN に Mail::Outlook などというモジュールがあるじゃんか。
use Mail::Outlook; my $outlook = Mail::Outlook->new(); my $folder = $outlook->folder('Inbox'); while (my $message = $folder->next()) { print $message->Subject(), "\n"; }
受信トレイ内のメイルの件名をリストできました、と。(注意: Outlook 起動中でないとサンプルは動きません)いろいろ妄想して眠れそうにありませんがまた次回にします。ねむー。
参考:
■Rubyist Magazine “Win32OLE 活用法 第 5 回 Outlook”
■ラクダのステーキ: OLEでIEを操作
■Win32::IE::Mechanize – Like “the mech” but with IE as user-agent
はて、Visual Studio をインストールせずに単体で起動できる Object Browser は無いのだろうか?COM のインターフェースを調べるの面倒というかわかんねー。
Ajax によるほぼ完全な IME の実装「Ajax を使った日本語 Full IME」が出ました。しっかし仕事じゃなければ全然使えるスピードが出てますねぇ。難しめの言葉も問題ないし。というかそれは辞書の問題か。
きまぐれ日記
ただ、textarea の操作はバッドノウハウの塊です。キャレットの位置を取得する
一般的な方法はなく、ブラウザ依存です。Firefox では、キャレットの位置をピクセル単位で取得できないようです。固定長フォントにしてフォントサイズから適当にキャレット位置を計算しています。うんざりです。
今のところはバッドノウハウだらけなのですね。もし仕事で使うようなことがあれば、またクロスブラウザ対応で悩まされることになるのですね。いいんだか悪いんだか。
またいつも忘れちゃうコマンドをメモメモ。
特定のディレクトリ以下の特定のファイルの内、指定した文字列が含まれるファイルをリストする。
find . -name ‘*.php’ -exec grep -l ‘検索文字列’ {} \;