映画とネットのDIARY(tDiary版)

since 2004/07/15
ここは古い日記です。2013年11月からadiaryを使った新サイトに移行しました。
検索エンジンからのアクセスで、お探しのキーワードが見あたらない場合はNamazuで再検索してみてください。
映画の感想一覧 2004年7月以降 2005年  2006年  2007年  2008年  2009年

2009年02月02日 [Mon]

トラックバックスパム

tDiaryにもトラックバック機能はあるが、有効にはしていない。トラックバック先のURLだけがあって肝心のトラックバックがまったく付かないのは寂しいからだ。ココログの方のブログは公開して1カ月で6個のトラックバックが付いた。ほう、あるものだなと最初は思ったが、このうちの3個はアダルトサイトや出会い系サイトからのもので明確なスパム。速攻で削除した。残りの3個はトラックバックを「勝手にリンク機能」と勘違いしている人からのものだった。本文中にこちらのブログへのリンクがないのだ。これもスパムに近いし、中にはそういうトラックバックを許可しない人もいるのではないかと思う。

僕はとりあえずそのままにしているが、トラックバックは無条件に許すのではなく、承認制にした。これでアダルトサイトのURLで汚される心配はない。トラックバックって、あまり有効ではないのではないかと思ってしまうが、ふと思いついた。2つのブログを持っている場合、そのブログ同士に関連のある記事を書くことがたまにある。これこれのように。関連記事はリンクしておけばいいのだが、トラックバックならそれが簡単にできる。そういう使い方もあるので、この日記でも有効にしようかと思う。

で、有効にして、ココログからトラックバックしてみた。でも表示されない。なぜだろうと思ったら、設定で「中に自サイトへのリンクがあれば表示する」という設定になっていた。なるほど。これなら単にリンクされることを防げるわけか。反対にこちらからココログにトラックバックを送ってみたら、サーバーエラーになった。ping.rbと同じエラーだな、これは。


2009年02月04日 [Wed]

ココログファイルの切り分け

ココログの全文検索はいちいち「このブログ内で検索」を選ぶのが面倒なので、Googleのカスタム検索を付けた。サイドバーに設置するには「マイリスト」の新規作成でメモを選び、ソースを貼り付ければよい。それだけでは面白くないので、検索結果をサイドバーに表示するようにした。この作り方は以前、映画とネットのDIARY(2009-01-07)に書いた通り。

これで少しはましだが、Namazuでも検索できるようにしたいところ。ココログの設定画面から書き出したファイルは1ファイルに全部の記事が収容されている。これを切り分け、1記事1ファイルの形にしてNamazuで検索できるようにすれば良いわけだ。で、秀丸で切り分けるマクロを書いてみた。

#num = 50;
#count = 0;
disabledraw;
call repeatSub;
enabledraw;
endmacro;
repeatSub:
while( #num > 0){
searchdown "--------";
    if(!result){endmacro;
    }else{
    call cutSub;
    #num = #num-1;
    }
    setactivehidemaru 1;
    closehidemaru 2;
}
return;
cutSub:
    gofiletop;
    beginsel;
    searchdown "--------";
    cut;
    deleteline;
    openfile "";
    paste;
    #count = #count + 1;
    $count = str(#count);
    saveas "cocolog" + month + day + hour + minute + second + $count + ".html";
return;

#numは作成するファイル数を指定する。大量に記事を書いている場合はこの数字を増やすか、何回かマクロを繰り返せば良い。しかし、これで検索できるようになっても実際のページには飛べない。自分で確認できるだけ。ココログのファイル名は一定の規則にはなっていないのでこれは仕方ない。いや、規則はあるんだけど、タイトルによっても変わるので不規則なのだ。


2009年02月07日 [Sat]

ATOK2009

英語入力支援機能

一太郎2009が届いたのでインストール。一太郎自体の新機能に興味はない。だいたい、使うのは月に一度か二度。しかし、ATOKは毎日使うので、これはバージョンアップの意味がある。そういうATOK目当てに一太郎を毎年バージョンアップしている人は多いのではないかと思う。賢くない入力システムはストレスがたまるのだ。

ATOK2009の目玉は英語入力支援機能か。Shiftキーを押しながら英語を入力しようとすると、一文字入力しただけでその文字から始まる候補がずらりと表示される。上下キーで選んで確定。これは便利かも。

Just MyShopで予約した時に迷ったのはダウンロード版でもいいかなといこと。2000円ほど安い。毎年付いてきていたおまけがあるかなと思って製品版にしたが、今年はおまけはなかった。このおまけ、あまり役に立たないものも多かったが、過去にはUSBメモリーなどもあった。おまけが付いてこないのなら、来年からはダウンロード版にしよう。

ATOKにはセキュリティソフトと同じように1年版もある。3,360円。一太郎を使わずに毎年ATOKをバージョンアップするなら、こちらの方がお得だな。


2009年02月09日 [Mon]

なでしこでココログのファイルをダウンロード

ブログの方にココログをNamazuで検索という記事を書いたが、これは秀丸マクロでココログのファイルを加工する方法だった。なでしこでやったら、もっと簡単だった。以下はその手順。まず、ココログのバックナンバーページのソースを開き、月別のバックナンバーのURLをコピーする。それをurl.txtとしてデスクトップに置く。そこで以下のスクリプトをなでしこで実行。

「{デスクトップ}url.txt」を毎行読んで反復。
 URLファイルはそれ。
 URLファイルを「{デスクトップ}url2.txt」にHTTPダウンロード。
 「{デスクトップ}url2.txt」を毎行読んで反復。
  それを「<h3>.*</h3>」で正規表現マッチ。
  基本URLはそれ。
  もし、基本URLが「」でなければ、
   「{基本URL}{改行}」を「{デスクトップ}url3.txt」へ追加保存。
0.5秒待つ。
「{デスクトップ}url3.txt」を基本URL2に読む。
それからHTMLリンク抽出。
それを「{デスクトップ}url4.txt」に追加保存。
終わる。

url2.txtは記事のHTMLファイルのソース、url3.txtはそれからH3(見出し)行を取り出したファイル、url4.txtが記事のURLの一覧。で、このurl4.txtを読み込んで、ダウンロードする。デスクトップにfileというフォルダを作っておいて、以下のスクリプトをなでしこで実行。

「{デスクトップ}url4.txt」を毎行読んで反復。
 ローカルファイルはそれ。
 ローカルファイルからURLファイル名抽出。
 ローカルファイル1はそれ。
 ローカルファイルの『2.*/.*/.*html』を『』に正規表現置換。
 ドメインはそれ。
 ローカルファイルの「{ドメイン}」を『』に置換。
 ローカルフォルダ2はそれ。
 ローカルフォルダ2の「{ローカルファイル1}」を「」に置換。
 ローカルフォルダ3はそれ。
 ローカルフォルダ3の『2.../』を「」に正規表現置換。
 ローカルフォルダ4はそれ。
 ローカルフォルダ4の「/」を「」に置換。
 月フォルダはそれ。
 ローカルフォルダ3の「/.*」を「」に正規表現置換。
 年フォルダはそれ。
 「{デスクトップ}file\{年フォルダ}」のフォルダ存在するか。
 もし、それがいいえならば、
  「{デスクトップ}file\{年フォルダ}」にフォルダ作成。
 「{デスクトップ}file\{年フォルダ}\{月フォルダ}」のフォルダ存在するか。
 もし、それがいいえならば、
  「{デスクトップ}file\{年フォルダ}\{月フォルダ}」にフォルダ作成。
 ローカルファイルを「{デスクトップ}file\{年フォルダ}\{月フォルダ}\{ローカルファイル1}」へHTTPダウンロード。
終わる。

これで、デスクトップのfileというフォルダに2009\02とか2008\04とか年月別のフォルダにファイルがダウンロードできる。僕の場合はファイルが102個しかなかったから、すぐに終わった。1ファイルあたり1秒余りで終わるので2分足らずか。これぐらいの短いスクリプトでダウンロードできるのがなでしこの便利なところだ。


2009年02月14日 [Sat]

正規表現ではまる

ブログ(ココログ)のファイルをNamazu用に1記事1ファイルで保存するツールをなでしこで作っている。ほぼ完成したのだが、JavaScript部分を削除するところでつまずいた。正規表現で行末に;':{}のどれかがある行を削除しようとしたが、どうしても1行残るのだ。残ったのは

Facemark.Pallet.captionText = Facemark.is_mac ? 'alt(option)キー+クリックで連続入力'

という部分。英字で始まり、行末に'があるので、<以外から始まって'で終わる正規表現で大丈夫のはず。でも残る。秀丸上で

^[^<].*[';:{}]$

を検索してみると、確かに上の行にマッチする。でも、なでしこで正規表現置換すると、残る。なぜだろう。正規表現のDLLが違うためか。いろいろ試行錯誤して、これで半日つぶした。要するにアスキー文字列と日本語が混じっているいるからダメなのだった。ココログのファイルは文字コードがUTF-8、なでしこはSJISなので、アスキー文字列ならマッチしても日本語部分にはマッチするはずがない。というわけで、ファイルの文字コードを調べ、一度SJISに変換して保存する際に元の文字コードに戻す処理を付け加えた。やれやれ。

それにしてもブログの文字コードはどういうものが使われているのだろう。XHTMLを使うMovable Type系のブログならUTF-8が多いと思えるのだが、念のために作ったプログラムの対応調査と合わせて各ブログを調べてみた。以下の通り。

◆忍者ブログ ページ内リンク:相対パス 画像:絶対パス 表示OK JavaScriptOK トップページ保存OK(index.html) 文字コードUTF8
◆FC2ブログ ページ内リンク:絶対パス 画像:絶対パス 表示OK JavaScriptOK トップページ保存NG 文字コードEUC
◆Yahoo!ブログ ページ内リンク:相対パス 画像:絶対パス JavaScriptOK トップページ保存OK(index.html) 文字コードEUC
◆アメーバブログ ページ内リンク:相対パス 画像:絶対パス JavaScrip OK トップページ保存NG 文字コードUTF-8
◆gooブログ 保存:NG
◆Livedoorブログ ページ内リンク:絶対パス JavaScript OK 画像:絶対パス トップページ保存OK(index.html) 文字コードEUC
◆Blogger ページ内リンク:絶対パス 画像:絶対パス JavaScriptOK トップページ保存OK(index.html) 文字コードShift_JIS
◆ウェブリブログ ページ内リンク:絶対パス 画像:絶対パス トップページ保存OK(index.html) 文字コードShift_JIS
◆ココログ ページ内リンク:絶対パス 画像:絶対パス JavaScriptNG トップページ保存OK(index.html) 文字コードUTF-8
◆さくらのブログ ページ内リンク:絶対パス 画像:絶対パス JavaScriptOK トップページ保存OK(index.html) 文字コードShift_JIS

意外にEUCやSJISのファイルが多かった。作ったプログラムでファイルを保存できなかったのはgooブログだけ。ここはURLを見ても静的なHTMLファイルではないから仕方がない。変わっているのは忍者ブログで、記事ナンバーのフォルダの中にそれぞれindex.htmlが入っていた。ココログは保存したローカルのファイルを開くと、JavaScriptエラーが出る。ここはJavaScriptをカットして保存した方がいい。しかし、中にはレイアウトが崩れる場合があった。削除しきれなかったスクリプトの残骸が影響しているらしい。Firefoxではちゃんと表示されるのにね。なでしこはIEのブラウザエンジンを使っているからしょうがない。保存してJavaScriptエラーが出たのはココログだけだった。

これぐらいのブログで対応していれば、僕の拙いプログラムも少しは有用かもしれない。もっともブログの中には開いただけでJavaScriptエラーの嵐となって強制終了しなくてはいけないものもあった。元のページにJavaScriptエラーがあってはどうしようもない。自分でページを修正してもらわないと、対処できませんね。ブログパーツやデザインのテンプレートの中には作りの良くないものがあるのかもしれない。こういうのはあまり付けない方が無難。なでしこブラウザがブラウザのエンジンをIEからFirefoxに切り替えられれば便利なんですけどね。

もう少し調べてみて大きな不具合がなかったら、このプログラム、公開してみよう。と思ったが、不具合の質問が来るのは目に見えているのでやっぱりやめた方がいいか。


2009年02月16日 [Mon]

改行コードの混在

Google Ajax Feed APIでブログのRSSをサイドバーに表示するようにした。その部分のスタイルシートを付け加えて、サーバーにアップしたら、書き換えたスタイルシートが古いやつだったらしく、デザインの細部が変わってしまった。ああ、そう言えば、いじったスタイルシートは自宅のパソコンの中にあるのだった。気に入らないので、久しぶりにHatenaテーマに戻した。やっぱり、これがすっきりしていていいな。

ブログの方にも同じ感じでGooleのAjax(JavaScript)のコードを貼り付けたのだが、なぜか前回書いた正規表現置換では削除できない。これでまたしばらく悩んだ。秀丸上ではマッチするから正規表現としては間違いないのになぜだ。文字コードの関係かと思って、いろいろやってみたが、ダメ。ようやく改行コードが違うのでは、と気づいた。貼り付けたページのソースをデスクトップに保存してなでしこでチェックしてみたら、CR+LFが入ってた。なでしこでは

「{デスクトップ}index.html」をファイルに開く
ファイルを「\r\n」で正規表現マッチ
もし、それが「」でなければ
 「改行コードCRがあります」と言う
 終わり

という感じでチェックできる。秀丸では改行コードLFと表示されていたが、部分的なCR+LFは無視するのだろう。それはそうだ。「ほとんどLFですが、部分的にCR+LFがあります」なんて、表示するわけがない。というわけで、

「\r\n」を「\n」に正規表現置換

という処理を最初に付け加えたら、うまく置換できた。これで、思ったこと。ブログパーツを付けたブログは多いけれど、その中には貼り付け方を間違ったものも多いのだろうな、ということ。JavaScriptで本来なら1行で書くべき所を改行してしまったりすると、改行コードの混在はあり得る。ま、それでもブラウザはちゃんと表示してくれるので、問題ではないんですがね。ブログのファイルを加工する際にはこうしたことも頭に入れておかなくてはいけないな。


2009年02月17日 [Tue]

inline

なぜかIEだけインラインにならない。昨日サイドバーに表示に表示したブログのRSS。日付が記事タイトルの後に来ると、紛らわしいのでタイトルに続けて日付を並べようと思ったのだ。Googleのページを見ると、CSSの設定を以下のようにすれば、インラインになるはずなのだ。

#feedControl .gf-title{display:inline;}

#feedControl .gf-relativePublishedDate{display:inline;}

ブラウザによる表示の違い

Firefoxでは確かにそうなった。SafariもGoogle Chromeもそうなった。だが、IEではダメ。ところが、ブログの方に同じ設定をしたら、IEでもインラインになった。なるほど。これはDOCTYPE宣言による違いなのだろう。この日記のDOCTYPEはHTML4.01。ブログはXHTML1.0。試しにXHTML1.0のファイルを作って同じコードとスタイルシートで表示してみたら、予想通りIEでもインラインになる。

しかし、これは困ったものだ。他のブラウザはHTML4.01でもみんなインラインになるのに、IEだけがならないとは。記事のタイトルが長い場合は途切れてしまう。line-heightの調整をすれば、IEでもタイトルは表示されるようにはなるが、日付と重なってしまうのだ。日付を表示しないようにすれば、大丈夫だけれど、IEのためだけにそんなことはしたくない。どうもIE7、inlineをinline-blockと勘違いしているようだ。IE8.0ではちゃんと表示されるんだろうか。


2009年02月19日 [Thu]

BEEP音を消す

これは自分のためのメモ。なでしこでエディタ(1行文字入力ボックス)にカーソルを入れたままEnterキーを押すと、BEEP音がする。検索するたびにこれがなると煩わしいが、消す方法がよく分からなかった。昨日、なでしこ公式ガイドブック(2005年に出たが、既に絶版)を読んでいたら、こう書いてあった。「エディタ1のキータイピング時を定義して以下のように『押されたキーは空』と書きます」。

そのキータイピング時は〜エディタ1の押されたキーは空。

なるほど。で、やってみたが、ダメ。日本語プログラミング言語なでしこ 質問掲示板 Enterキーを押した時のチンチン音を消したい]を参考にして以下のように書いたらうまくいった。

検索エディタとはエディタ。
検索エディタのキータイピング時は〜
 もし、検索エディタの押された仮想キー=13ならば、検索エディタの押されたキーは空
検索エディタのキー押した時は〜
 もし、検索エディタの押された仮想キー=13ならば、(ここに処理を書く)

「キータイピング時」と「キー押した時」の2種類があって紛らわしいが、両方にEnterキーを表す「仮想キー=13」を書かなくてはいけないようだ。

アイコンエディタ

久しぶりにアイコンを作ろうと思い、ソフトを探す。ドット絵を描くのはとても無理だし、画像を読み込むにしても複数の種類のアイコンを作るにはベクター画像を扱えるソフトの方がいい。いろいろソフトをインストールしてみたが、どうも今ひとつ。PhotoshopやFireworksを使ってみたが、絵の才能がないのを痛感しただけだった。

ああそうだ、Inkscapeでもベクター画像が作れるのだと思い、起動してメニューを見てみたら、なんだ、これでもアイコンサイズの画像は作れるのだった。これで元になる画像を作って定番の@icon変換で変換するのが素人には良いみたいだ。ベクターだから画像の引き延ばしも縮小も思いのままなのがいい。

IcoFXも日本語化されていて使いやすい。リソースを書き換える機能があるので、既存のアイコンの変更はこれでできる。で、悪戦苦闘しながら作ってみたが、やっぱり才能がないのを痛感する結果に。絵やデザインがうまい人はつくづくいいなと思う。


2009年02月22日 [Sun]

Namazuの要約

保存したブログのファイルをNamazuで検索していて、要約部分が本文の内容を反映していないことに気づいた。Namazuは普通のコマンドでインデックスを作ると、H1など見出し部分を要約の中に取り込む。ココログの場合、メインタイトルがH1、サブタイトルやサイドバーの見出し、日付、カテゴリ、トラックバック、コメントへのリンクなどもH2になっている。Namazuの要約は200文字程度なので、こうした見出し部分を集めると、すぐに200文字に達してしまうのだ。

見出しを要約に含めないためにはインデックスを作る際、xオプションを付ければいい(HTMLのヘディングによる要約作成を行わないオプション)。これでやってみたが、やはり要約の中になかなか本文が入ってこない。画像を記事の中に入れた場合、imgタグのtitleとaltも要約に拾うのに加えて、ブログは本文にたどり着く前に以前の記事へのリンクなど余計な項目が多すぎるのだ。本文の内容を反映した要約を作るにはこうした余計な部分を削除してファイルを保存する必要がある。これはNamazu本体の方で対応してほしいところ。

Googleのように検索キーワードの前後を要約の中に含めてくれると理想的だが、それには本文全体をインデックスの中に取り込む仕組みにしなくてはいけないだろう。CGIのmsearchなどはこの方法で、最近使っていないから仕様が変わったかもしれないが、インデックスファイルを開いたら、検索対象全ファイルの全文がHTMLタグを外して一つのファイルに納めてあった。これは結局、ファイルのオープン、クローズの処理は省けても、ファイル数が増えてくると、インデックスのサイズが大きくなるし、メモリーの使用量も多くなるだろう。まあ、テキストだけだったら、個人サイトでは数十MB単位になることは少ないだろうから、メモリーのことはあまり考えなくてもいいとは思う。

ちなみにこの日記のHTMLファイルのサイズは頻繁に更新していた2005年の1年間(調べたら、364ファイルあった。ほぼ毎日書いていたのだ)で1.19MB。タグを外せば、3、4割減るだろう。


2009年02月25日 [Wed]

ホダ塾ディストリビューション

XOOPS Cube Legacy(XCL)をバージョンアップする代わりにホダ塾ディストリビューションを入れてみた。というか、ホダ塾の新バージョンが出るまでXCLのバージョンアップを待っていたのだ。携帯対応モジュールを使いたかったため。

ZIPファイルを解凍してフォルダごとアップロード。ところが、さくらのレンタルサーバーはファイル数が多いと、必ず途中でエラーになる。仕方がないので、少しずつアップロード。漏れがないように確認しながら行ったので終わるまでに2時間近くかかった。ま、XCLのファイル数はかなり多いので仕方がない。この間、サイトを閉鎖しておけるのがXCLの便利な点。

管理画面にアクセスしてモジュールをバージョンアップしてサイトを見てみたら、無事に動いているようだ。さっそく設定をして携帯でも見てみた。うーん、一応読めるかというレベルだな。携帯でも自動ログインができるので便利ではある。

あと、いろいろと使っていないモジュールが入っていたが、さてどうしよう。不要なものは削除しておいた方がいいか。XCLにはたくさんのモジュールがあるが、無理にXCLから使わなくても良いと思えるものもある。ブログやWikiなどはXCLとは別にインストールした方が良いような気がする。サイトの統一性という観点に立てば、有用なのでしょうけど。


[管理人にメールする] [シネマ1987online]