Perlを中心とした技術系の話などをつらつら

2006年09月30日

MT3.3でBerkeley DBからPostgreSQLへの移行する際の注意点

MTのエントリが多くなりすぎて、再構築ができなくなったと友達から連絡をもらい、確認したところ、DBにBerkeleyDBを使っていたので、それを改善すべくDBをBerkeleyDBからPostgreSQLに移行してみました。

その際、MTのマニュアルにしたがってやってみたところ、そのままではうまくいかなかったので、行った作業をメモ的に残しておきます。

* PostgreSQLの設定

まず、マニュアルをみてPostgreSQLの設定をしました。

基本マニュアルどおりに進めて、mt-config.cgiの設定を変更し、

データベースの作成をおこないました。

DBの文字コードはUTF-8だったので、DB作成の際、文字コードを指定しました。

createdb -E UNICODE --owner xxxxx

* 移行スクリプトを実行

次にマニュアルどおりMT付属の移行スクリプトを実行したところ、DBの文字コードと違う文字コードのデータを入れようとした旨のエラーメッセージが出て、移行スクリプトを完了できませんでした。

文字コードの違うデータというのは、トラックバックPingのデータで、トラックバック元のブログの文字コードがUTF-8ではないものがエラーではじかれているようでした。

これは、文字コードが違うPingを探し出して削除するのは面倒くさかったので、移行スクリプトのほうを修正して、インサートに失敗しても処理を続行するようにして、回避しました。

修正点は以下のとおり。saveに失敗してもdieしないようにしただけです。MTの方で、DBへのアクセスが高度に抽象化されているので、修正は非常に簡単です。

 --- ./mt-db2sql.cgi.org       Sat Sep 30 00:54:15 2006
 +++ ./mt-db2sql.cgi  Sat Sep  9 20:09:45 2006
 @@ -141,8 +141,8 @@
                  $obj->allow_comments(0)
                      if defined $obj->allow_comments && $obj->allow_comments eq '';
              }
 -            $obj->save
 -                or die $obj->errstr;
 +            $obj->save;
 +               # or die $obj->errstr;
          }
 
          # fix up the category parents

この修正版のスクリプトを再度実行したところ、今度は問題なく、データの移行が完了しました。

* シーケンスの作成、更新

これで万事OKかと思ったんですが、この状態でエントリを作成しようとすると、以下のようなエラーがでて、作成できなくなってしまいました。

Saving entry failed: ERROR: ExecInsert: Fail to add null value in not null attribute entry_id

このエラーでググッてみると、どうやらDB内にシーケンスがないためのようです。

先ほどの移行用スクリプトだと、テーブルは作成されてもシーケンスは作成してくれないみたいです。

そうとわかれば、後はシーケンスを手動で作成するだけです。

以下のSQLを実行し、シーケンスを作成し、格納されている値を現在の最大値にセットしたところ、問題なく動くようになりました。

CREATE SEQUENCE mt_author_id;
CREATE SEQUENCE mt_blog_id;
CREATE SEQUENCE mt_category_id;
CREATE SEQUENCE mt_comment_id;
CREATE SEQUENCE mt_config_id;
CREATE SEQUENCE mt_entry_id;
CREATE SEQUENCE mt_fileinfo_id;
CREATE SEQUENCE mt_ipbanlist_id;
CREATE SEQUENCE mt_log_id;
CREATE SEQUENCE mt_notification_id;
CREATE SEQUENCE mt_objecttag_id;
CREATE SEQUENCE mt_permission_id;
CREATE SEQUENCE mt_placement_id;
CREATE SEQUENCE mt_plugindata_id;
CREATE SEQUENCE mt_tag_id;
CREATE SEQUENCE mt_tbping_id;
CREATE SEQUENCE mt_template_id;
CREATE SEQUENCE mt_templatemap_id;
CREATE SEQUENCE mt_trackback_id;
select setval('mt_author_id',(select max(author_id) from mt_author));
select setval('mt_blog_id',(select max(blog_id) from mt_blog));
select setval('mt_category_id',(select max(category_id) from mt_category));
select setval('mt_comment_id',(select max(comment_id) from mt_comment));
select setval('mt_config_id',(select max(config_id) from mt_config));
select setval('mt_entry_id',(select max(entry_id) from mt_entry));
select setval('mt_fileinfo_id',(select max(fileinfo_id) from mt_fileinfo));
select setval('mt_ipbanlist_id',(select max(ipbanlist_id) from mt_ipbanlist));
select setval('mt_log_id',(select max(log_id) from mt_log));
select setval('mt_notification_id',(select max(notification_id) from mt_notification));
select setval('mt_objecttag_id',(select max(objecttag_id) from mt_objecttag));
select setval('mt_permission_id',(select max(permission_id) from mt_permission));
select setval('mt_placement_id',(select max(placement_id) from mt_placement));
select setval('mt_plugindata_id',(select max(plugindata_id) from mt_plugindata));
select setval('mt_tag_id',(select max(tag_id) from mt_tag));
select setval('mt_tbping_id',(select max(tbping_id) from mt_tbping));
select setval('mt_template_id',(select max(template_id) from mt_template));
select setval('mt_templatemap_id',(select max(templatemap_id) from mt_templatemap));
select setval('mt_trackback_id',(select max(trackback_id) from mt_trackback));

以上BerkeleyDBからPostgreSQLへの移行の際の注意点をまとめると、

  • 文字コードの問題でエラーがでるため、移行スクリプトを修正して、エラーを無視するようにする。
  • シーケンスは作成されないので手動で作成する。

の2つを注意しないといけないようです。

Posted by horiuchi at 03:13 | Permalink | Comments (3) | TrackBack (0)

2005年10月03日

MT3.2をapacheのハンドラとして動かす

MT3.2のユーザーインターフェースが秀逸だと聞いて、どうしても見たくなり、hori-uchi.comのMTを3.2へバージョンアップしてみました。


すると、数回アクセスすると、502 Proxy Errorが出るように。。

hori-uchi.comはフロントにApache2.0を置きここでhtmlなどの静的なコンテンツを処理し、バックエンドのapache1.3+mod_perlでApache::Registryを使ったCGIのエミュレート環境でMovableTypeを動かしています。

バックエンドへのリクエストの受け渡しはmod_proxyを使って行っています。

この構成の構築方法は

Techknow Movable Type: Apache 2.0 mod_proxy によるリバース・プロキシの構築

に詳しく解説されています。


502のエラーが出たときのapacheのログを見ると、バックエンドは正常にレスポンスを返していますが、それを受け取るフロントがおかしなレスポンスだと判断し、502をクライアントに返しているようです。


そこで「MT3.2 mod_perl」でググってみると次のようなエントリが見つかりました。

Movable Type 3.2 User Manual: Running Movable Type With mod_perl

MT3.2のマニュアルの一部です。

内容はMT3.2をmod_perlで動かして高速化ってな話ですが、MTをapacheのハンドラとして動かしてより高速化するという内容まで書いてあります。

apacheのハンドラとして動かせばApache::Registryを使ったCGIのエミュレート環境より高速に動きますし、これで502のエラーもなくなるかもと思い、早速実践。


上記エントリの内容をそのまま実践しました。ただ一点、mt.cfgのCGIPathは

http://my.server.com/mt/でなく、http://my.server.com/mt/appにする必要がありました。

訂正:上記マニュアルの内容に加えて、mt.cfgに

AdminScript app

の一行を追加する必要がありました。


設定を完了し、apacheを再起動すると、MTの動作が高速なったうえ、502のProxyErrorもでなくなりました。めでたしめでたし。

でもなんでProxyErrorが出たのか納得のいく答えがわからず、ちょっと消化不良ぎみ。。

Posted by horiuchi at 03:23 | Permalink | Comments (2) | TrackBack (0)

2005年09月30日

Movable Type 3.2 日本語版の提供を開始

Movable Type 3.2 日本語版がリリースされたみたいですね。

落ち着いたら移行しよっと。

via: Six Apart - MovableType News: Movable Type 3.2 日本語版の提供を開始

Posted by horiuchi at 10:04 | Permalink | Comments (0) | TrackBack (0)

2005年09月14日

Google Blog Search 突然リリース

Googleのブログ検索が突然リリースされたようです。

Google Blog Search

ブログ検索もGoogleがすべて持っていってしまうのか、今後に注目です。

Posted by horiuchi at 20:15 | Permalink | Comments (0) | TrackBack (4)

2005年07月20日

livedoorBlogのAtomAPIが仕様変更

livedoor Blog 開発日誌:リニューアルに伴うランキングの変更、使用できる機能について - livedoor Blog(ブログ)

livedoorBlogのリニューアルに伴い、AtomAPIの仕様も変更されるようです。

Atom APIのURLがリニューアルに伴い変更となります。 http://cms.blog.livedoor.com/atom Atom APIを利用したペットなどのアプリケーションをご利用の場合は上記のURLに変更いただけますようお願いいたします。なお、このAPIのサービスにつきましてはlivedoor Blogとして正式にサポートしておりませんのでお問い合わせ等につきましてはご遠慮いただけますようお願いいたします。

エンドポイントが変わるだけなのかなー。

Posted by horiuchi at 09:26 | Permalink | Comments (0) | TrackBack (2)

2005年06月15日

Dreamweaver 拡張機能 for Movable Type 3

Six Apart Japan: マクロメディアとシックス・アパート、Dreamweaver拡張機能 for Movable Type 3を発表

MTのテンプレートカスタマイズが効率的に!タグリファレンスは便利そう。

Posted by horiuchi at 06:01 | Permalink | Comments (0) | TrackBack (0)

2005年06月03日

Enclosure == 入れ物 - Bloglinesの日本語訳

ちょっと前にBloglinesがPodcastに対応して、Enclosureへのリンクが記事の下の方につくようになったんですが、その部分の日本語訳がちょっと変な気がします。「入れ物」って。。もう少しいい訳ないんだろうか。「添付ファイル」とかだとだれでもわかるような気がするけど。。

Posted by horiuchi at 09:49 | Permalink | Comments (2) | TrackBack (0)

2005年05月30日

Technorati Japan ベータリリース

テクノラティ

Technorati Japanのベータがリリースされたようです。

Posted by horiuchi at 21:47 | Permalink | Comments (0) | TrackBack (1)

2005年05月29日

Blog Hackers Conference 2005

Blog Hackers Conference 2005に行ってきました。

先端で活躍している人の話はやっぱりおもしろいし、刺激になります。

今回の話で僕が気になったことをまとめてみます。

*Blogのプラットフォーム化

naoyaさん曰く、ブログは終焉に向かっているのではなく、プラットフォーム化してきたのだということ。ブログの終焉の終焉。ブログがプラットフォーム化してきたことはブログありきのサービスがたくさん出てきていることからもわかります。ブログがプラットフォーム化して、ブログを中心としたサービスがAPIを使って結びついていく。Webはおもしろいですねー。

*RastやSennaといった組込型検索エンジン

yappoさんのプレゼンで出てきた組込型検索エンジンの話。namazuのような独立したアプリケーションではなく、他のアプリに組み込むこと前提に作られています。MySQLによる日本語フルテキストサーチやあいまい検索できるものもあるそうです。あいまい検索を実装中で、PerlAPIもあって、利用が簡単そうなsennaを試してみようかなー。

*memcached

某ブログサービスで使われている。メモリ上にデータやオブジェクトをキャッシュしパフォーマンスを向上させることができる。レプリケーションもできる。PerlAPIも公開されているのでPerlで利用するのが簡単。

これとは別の話で、某商用DBMSよりMySQLの方がパフォーマンスいいとか、興味深い話が聞けました。個人的にはこういう大きなサービスをやるとき画像とか大きなサイズのファイルをどうやって扱っているのかが知りたいです。DBにぶちこむとするとすぐテーブルがでかくなって破綻しちゃうだろうし、ファイルに書き出しておくとすると、拡張性に乏しいし。。画像保存用サーバを用意してそこにためていくのかなー。

*タギング、Folksonomy

Flickrやdel.isio.us、はてなブックマークなんかに使われている。タギング、Folksonomyは個人的に興味がある概念。

*隣にJcodeのDanさん

少し遅れて入ってきたDanさんが僕の隣の席に。いやー、びっくりしました。

さらに前の席には小山さん。

Posted by horiuchi at 01:42 | Permalink | Comments (0) | TrackBack (2)

2005年05月16日

RSSを動的に生成してみた

運営をお手伝いしている鳥海先生のブログ「伯萃庵」の今日の運勢にRSSを配信する機能を追加してみました。サイトの右上に設置されている今日の運勢から取得できる結果ページにRSSがついてます。http://www.toriumihakusui.com/app/daily/rss2?p=197807122 のように生年月日をパラメータとして受け取り、動的にRSSをはき出すタイプで、その日の運勢とラッキーブック、ラッキーDVDなんかを配信しています。リンク先はamazonだったりして、若干アサマシぃことしてます(汗

ところで、今まで、MTのテンプレートを編集してAtomフィードをはき出すよう改造したりとかはやったことありましたが、自分で一からフィードを作ったのはこれが、初めてだったりします。RSSなんて、テンプレート用意してパラメータ埋め込めばOKでしょなんて簡単に考えてましたが、実際に作ってみると、XMLの中に何をセットすればいいかを悩んでしまうような要素があったり、Last-Modifiedヘッダーを吐くのを忘れていて、アグリゲータにデータを持っていってもらえなかったりと意外と手こずりました。

やっぱり、実際手を動かしてみるのが一番勉強になりますね。

Posted by horiuchi at 20:39 | Permalink | Comments (9) | TrackBack (0)

2005年03月22日

mt-ban-nonja-tbping.pl - 日本語を含まないTrackbackPingをはじく

最近トラックバックスパムが頻繁に送られてくるようになりました。最初は手で消していたんですが、スパムの量が一向に減らないので、対策として、日本語を含まないTrackbackPingをはじくようなプラグインを書いて見ました。

mt-ban-nonja-tbping.pl

mt-ban-nonja-com.plと同様に、ひらがなもしくはカタカナの連続する回数と出現箇所をグローバル変数$CharRep、$NofMatchで設定できます。デフォルトは3文字連続する部分が1カ所以上あればOKとなっています。

trackback pingを受け取るとこの設定に従ってexcerptの中身をチェックし、条件をクリアできなければはじきます。

Posted by horiuchi at 10:02 | Permalink | Comments (14) | TrackBack (1)

mt-ban-nonja-com.pl - コメントスパム対策プラグイン

以前のエントリーでコメントスパム対策として「コメントにひらがながM回連続している部分がN箇所以上ない場合スパムとみなして、はじく」ということをやりましたが、これをMTプラグイン化してみました。

mt-ban-nonja-com.pl

前回からの変更点として、以前のエントリーではひらがなのみの連続としていたところを、ひらがなもしくはカタカナの連続としています。

上記プラグインをmtのプラグインディレクトリに放り込んでやれば動くと思います。ひらがなの連続する回数と出現箇所はプラグイン内にかかれているグローバル変数$CharRep、$NofMatchで設定できます。デフォルトは3文字連続する部分が1カ所以上あればOKとなっています。

また、$Method = "moderate"; でモデレート、"deny" で投稿を拒否します。このあたりの実装はmiyagawaさんのMTBanASCIIを参考にさせて頂きました。

Posted by horiuchi at 03:56 | Permalink | Comments (0) | TrackBack (1)

2005年03月07日

MovableType with PostgreSQLのインストールでの注意点

MovableTypeのインストールでストレージにPostgreSQLを選択した場合、ある条件でmt-load.cgi実行時に以下のエラーがでました。

Insertion test failed on SQL error ERROR: value too long for type character varying(50)

上記エラーが発生した条件は以下のとおりです。

  • MovableType - 3.151
  • PostgreSQL - 7.3.5
  • サイトの文字コードはUTF-8
  • DBの文字コードがSQL_ASCII

エラーを回避するにはDBの文字コードをUNICODE(サイトの文字コードがEUCの場合はEUC_JP)で作り直せばOKです。

createdb -E UNICODE mt_database_name

作成したデータベースの文字コードは以下のコマンドで確認できます。

psql -l

PostgreSQLのVARCHAR型はバイト数でなく文字数で指定できるのでデータベースの文字コードをUNICODEにした場合はバイト数は50バイトを超えていても文字列として50文字以内であればインサートできるようです。

Posted by horiuchi at 21:29 | Permalink | Comments (0) | TrackBack (2)

2005年01月26日

Movable Typeに脆弱性

Movable Type 日本語版サイト: 【重要】 Movable Typeの脆弱性と対策についてによると、現在出荷済みのMovable Typeすべてにスパムメールの送信を幇助してしまう脆弱性が発見されたそうです。

同エントリーに回避策も載っています。対処方法は簡単で、パッチファイルをふつうのMTプラグインと同様pluginディレクトリにおくだけなので、早めに導入しておいたほうがよさそうです。

Posted by horiuchi at 09:23 | Permalink | Comments (0) | TrackBack (0)

2005年01月25日

nofollow pluginを導入

最近Blog業界でホットな話題「rel="nofollow"」ですが、MTユーザーはプラグインを使えば簡単にnofollowに対応できるということで早速導入してみました。

Movable Type Publishing Platform: Movable Type 'nofollow' plugin

ここからダウンロードできます。

導入は簡単で、tarかzipを解凍して出てきたファイルをpuluginディレクトリに放り込むだけです。

これでコメント内のリンクの属性に「rel="nofollow"」がつくようになります。

rel="nofollow"がついているリンクはGoogle,Yahooでページランクの計算対象としないことになったので、コメント内に書かれたリンクに対して、この属性を付加するようにすれば、スパマーにとって、nofollow対応済みのサイトに対するコメントは意味のないものになります。

スパマーはコメント内に自分のサイトへのリンクを書くことで、自分のサイトのページランクを上げて検索結果の上位に表示させようと考えているからです。

このようにnofollowに対応してもすぐにコメントスパムが送りつけらなくなるというものではありませんが、長い目で見るとかなり革命的なスパム対策だと思います。

Posted by horiuchi at 10:26 | Permalink | Comments (3) | TrackBack (0)

2005年01月21日

個別アーカイブの再構築でエラー

突然、個別アーカイブの再構築を行うとこんなエラーがでて再構築に失敗するようになってしまいました。

Reading from filehandle failed at /usr/local/www/mt/lib/MT/FileMgr/Local.pm line 128. 

該当のLocal.pmをのぞくとDigest::MD5のaddfileメソッドでこけているみたいです。

124      my $fh = gensym();
125      open $fh, $file or return 1;
126      if (eval { require Digest::MD5; 1 }) {
127          my $ctx = Digest::MD5->new;
128          $ctx->addfile($fh);
129          close $fh;

そこで開けないファイルの中身をみようとしたんですが、

$ cat 000224.html
cat: 000224.html: Input/output error 

。。。

う~ん、原因はわかりませんが、ファイルが壊れてしまっていたみたいです。壊れたファイルを削除して再構築をかけたら、今度は問題なく完了しました。めでたしめでたし。

Posted by horiuchi at 10:02 | Permalink | Comments (7) | TrackBack (1)

2005年01月04日

MT3.x+mod_perl環境でMTプラグインのロードに失敗するとエラーになる

結構前からなぜかmod_perl環境でMTが動かなくなってしまっていて、しょうがなくCGI環境で動かしていたんですが、どうにも遅くてやりきれないので、ちょっとMTのソースを追ってみました。

エラーの内容はこんな感じです。

Got an error: Can't call method "connection" on an undefined value at /path/to/mt/lib/MT/App.pm line 594.

App.pmの該当行ををみてみるとどうやら、apacheのリクエストオブジェクトが空のためエラーになっている模様。さらにソースを追ってみると、親クラスのMT.pmでのinitでこけていることが判明。そこでMT.pmにwarnを仕込んでデバッグしてみたところ、プラグインのロードに失敗した際に呼ばれるlogメソッドが原因だと判明しました。

MT.pmのinitメソッド内では、pluginのreiquireに失敗すると、$mt->logメソッドを呼び出すのですが、このlogメソッドはMT::App.pmで定義されたlogメソッドによりオーバーライドされています。

そのMT::App::logでは$mt->{apache}->connectionを呼び出しているのですが、$mt->{apache}はこの時点ではまだ生成されていないため、最初に書いたようなエラーがでていたのでした。

このエラーを回避し、プラグインのロードに失敗した際もMTが止まらないようにするためには、失敗した際に、$mt->logではなくMT::logを直接呼び出すように書き換えればOKだと思います。とりあえずパッチを書いてみました。

 --- MT.pm.orig  Tue Jan  4 05:27:34 2005
 +++ MT.pm    Tue Jan  4 05:27:42 2005
 @@ -292,7 +292,7 @@
         $plugin = $1;
         eval { require $plugin };
                  if ($@) {
 -                    $mt->log("Plugin error: $plugin $@");
 +                    MT::log("Plugin error: $plugin $@");
                      return 0;
                  }
                  return 1;

Posted by horiuchi at 04:53 | Permalink | Comments (0) | TrackBack (0)

2004年11月03日

コメントスパム対策をしました。

数日前にコメントスパム対策としてmt-comment.cgiの名前を変更したんですが、全く効果がなかったので、別の対策を行うことにしました。

他のブログはどんな対策をしているかみてみると、

  • TypeKeyを使う
  • 連続投稿できる間隔を設定
  • 日本語が含まれていないコメントをブロック
  • BanリストによるIP制限

というような方法が一般的みたいです。それぞれの方法をみてみると、TypeKeyは普通にコメント書きたい人にも一手間かけてしまうのがちょっとと思うし、連続投稿できる間隔の設定というのも一回は書き込まれてしまうし、Banリストは作成するのがめんどいしということでいまいち。

そこで今回は日本語が含まれていないコメントをブロックするという方法を少し発展させて全角ひらがなが連続するm文字が、n箇所以上無いコメントはスパムとみなすという対策をとることにしました。

今回修正したファイルはMT::App::CommentsとMT::L10N::jaの2つです。モジュールを直接いじるとMTをバージョンアップするときなんかに困ることになりそうなんで、プラグインとして書こう思ったんですが、プラグインの作り方を調べるのがめんどくさくなって、直接修正に妥協しちゃいました。。

この修正で、ひらがなが3文字連続している部分が2箇所以上ないコメントをPostした場合、エラーメッセージを表示するようになりました。軽くテストしましたがきちんと動いているみたい。

以下のコードをMT::App::Commentsのpostメソッドの上の方に追加し、MT::L10N::jaの%Lexiconに日本語エラーメッセージを追加しました。

my ( $m, $n ) = ( 3, 2 ); # ひらがなの文字数, 出現する回数
my $enc = $app->{cfg}->PublishCharset || '';
my $text = MT::I18N::encode_text($q->param('text'), $enc, 'euc');
my @count = $text =~ /(?:\xA4[\xA1-\xF3]){$m,}/g;
return $app->handle_error($app->translate(
    "Your comment looks like a spam.[_1][_2]", $m, $n ))
if $text ne "" && scalar (@count) < $n;

Posted by horiuchi at 21:42 | Permalink | Comments (2) | TrackBack (1)

2004年10月24日

sukerokuプラグインをテストしてみる

最近はてなの本に影響されて、はてなダイアリをこっそりはじめてみたんですが、*を先頭につけたら見出しになるとか、-とか+でリストを書けるというような、はてなダイアリの日記を書くためのルールがすごく便利でこれをMTでも使えないかなーと思ってググってみたらやっぱりありました。

ささやかなる実験場の開発室(HSJ.jp): MovableType用TextFormatプラグイン mt-sukeroku-plus.pl Ver.1.00公開

早速導入してみました。以下そのテストです。

* sukerokuプラグインをテスト

  • リストです
    • リストの中身1
    • リストの中身2

MT はてな プラグイン

Posted by horiuchi at 23:54 | Permalink | Comments (0) | TrackBack (0)

2004年10月20日

MT3.1にアップグレードしたけど、、

MTを3.1にアップロードしてみたところmod_perl環境で動かなくなっちゃいました。。エラーログとソースを眺めてみると、なんかApache:::Requestのオブジェクトができてないっぽいです。。原因究明する時間がないのでとりあえずCGI環境で動かすことにします。。

Posted by horiuchi at 01:35 | Permalink | Comments (0) | TrackBack (0)

2004年10月04日

ブログを借りる前にここを読め。

まあ待て、ブログを借りる前にここを読め。

タイトル通りブログを借りる前に読むブログです(笑)。各レンタルブログの情報が詳しく載っていて非常に参考になります。おそおそランキングはサービス提供者にとっては嫌でしょうねー。。

Posted by horiuchi at 00:08 | Permalink | Comments (0) | TrackBack (0)

BloglinesがWebサービスを公開

旅行にいっている間にBloglinesがWebサービスを公開してました。さらにmiyagawaさんがすでにこのWebサービスを簡単に利用するためのperl用API、WebService::Bloglinesを公開してました。早すぎ。。

Posted by horiuchi at 00:07 | Permalink | Comments (0) | TrackBack (0)

2004年07月30日

Blog Hacks アマゾンで予約開始

Blog Hacks-プロが使うテクニック & ツール 100選
powered by
amazlet
宮川 達彦 伊藤 直也
オライリー・ジャパン (2004/08/07)
売り上げランキング: 14
近日発売 予約可

予約せねば

Posted by horiuchi at 14:53 | Permalink | Comments (2) | TrackBack (0)

2004年07月19日

Movable Type 3.0 Developer Edition 日本語版にアップデート

Movable Type 日本語版サイト: Movable Type 3.0 Developer Edition 日本語版の提供を開始しましたということでMT3.0日本語版がリリースされたのでアップデートしました。基本的にファイルを上書きしただけですが、問題なく動いている模様。

Posted by horiuchi at 00:41 | Permalink | Comments (0) | TrackBack (0)

2004年07月09日

Bloglinesサイトリニューアル

Bloglinesがサイトをリニューアルしたようです。一昨日アクセスしたときはリニューアルしたものの3画面構成で、ページがブラウザ内に収まってなかったりしましたが、今日見たところ、2画面になり画面が収まらなかったのも直ってました。2画面構成になってより使いやすくなった感じ。デザインもよりかわいくなって、いい感じです。

Posted by horiuchi at 10:05 | Permalink | Comments (0) | TrackBack (0)

2004年06月17日

MTのライセンス形態変更

Six Log: Announcing Pricing & Licensing Changes to Movable Type MTのライセンス形態が変更されたようです。メモ。

Posted by horiuchi at 09:54 | Permalink | Comments (0) | TrackBack (0)

TypeKey日本語化気味

ウェブログのコメント認証サービス(といっていいのか?)であるTypeKeyですが、TypeKeyをみてみるとある程度日本語化されているみたいです。TypeKey サービスの詳細はまだ英語ですが、これで英語が読めない人も利用しやすくなりますね。

Posted by horiuchi at 09:53 | Permalink | Comments (0) | TrackBack (0)

2004年05月31日

こうさぎ飼い始めました

Blog Pet こうさぎ

こうさぎを飼い始めました。名前はキキです。最近停滞がちがBlog更新の救世主となるか!?アクセスログなんかもとってくれるちょっと賢いうさぎなのだそうです。

Posted by horiuchi at 18:53 | Permalink | Comments (5) | TrackBack (0)

2004年04月22日

ectoでポストしてみる

ectoでポストしてみるテストです。時間がなくてなかなかいじれなかったんですが、ようやく試すことができました。いつものインターフェースでないとなんか違和感がありますが、なかなかいい感じですね。

Posted by horiuchi at 19:15 | Permalink | Comments (0) | TrackBack (0)

2004年04月14日

ect for Windows

ecto - dev blog

ブログ編集ツールectのWindows版のベータがついにでたみたいです。

Posted by horiuchi at 20:05 | Permalink | Comments (0) | TrackBack (0)

2004年04月06日

コメントスパム大掃除

いままでほったらかしにしておいたコメントスパムを一念発起して、大掃除しました。MTのデフォルト機能にはコメント一覧表示や一括削除機能が提供されていないため、大量のコメントスパムが送られてきた場合も一つ一つ削除しなければなりません。今までほおっておいたコメントスパムを数えてみるとおよそ100件。これを一つ一つ削除するのはちょっとやってられません。。なのでどうにかこの作業を簡単にできないかとググってみるとこんな記事を発見。
Memo Leaves: 編集メニュー画面からコメントスパムを一括削除

なるほど、管理メニューの最近のコメント一覧にチェックボックスをつけて一括削除できるようにしたんですね。この記事内にもあるように、コメント一覧を表示する別ページを作るのが一番な気がしますが、時間もないので記事通りに管理ページのテンプレートを編集しました。 実際に試してみるとこれが快適!コメントスパムの削除がひじょーに楽になりました!

Posted by horiuchi at 12:27 | Permalink | Comments (0) | TrackBack (0)

2004年03月15日

RSS Reader Panel

Firebird Ext. - RSS Reader Panel

RSS Reader Panel は、Mozilla Firefox に RSS feed リーダ機能を追加する拡張なんだそうです。 最近Firefoxを愛用しているのでとりあえず、インストールしてみました。 RSSリーダーとしてはBloglinesが非常に使いやすくて必要十分な機能をもっているので、RSS Reader Panelはたぶん使うことないかなー、、とインストールしてからきづいたり。。

Posted by horiuchi at 00:02 | Permalink | Comments (0) | TrackBack (0)

2004年03月01日

Similarity Search を入れてみました

blog.bulknews.net: Bulkfeeds: Similarity Search リリース

Bulkfeeds: Similarity SearchはRSSの検索エンジン(という表現でいいのかどうか・・)Buldfeedsが提供する「ご近所Weblog」みたいなサービスです。自分の記事と内容が似た記事を検索できたり、その検索結果を自分のWeblogに表示させたりすることができます。かなり前にリリースされていてすごく興味があったんですが、なんとなく時間がなくて手を出せずじまいでした。が、この週末、ついに導入してみました。個々の記事の最後にご近所さんのWeblogが表示されるようになりました。見た目は後日調整。

Posted by horiuchi at 09:15 | Permalink | Comments (0) | TrackBack (3)

2004年02月27日

CSS Depot

CSS Depot

hail2u.netさんの Weblog - CSS Depotという記事で紹介されていたサイト。

CSS Depot is a collection of CSS templates - not entire designs, only the actual layout boxes. Each template is a valid XHTML 1 document, with the necessary CSS visible in the document to facilitate easier copy/pasting. Feel free to use these templates as a basis for your own work - either personal or professional.

レイアウトボックスに関するCSSのテンプレートを集めたサイトだそうです。今のHoriuchi::WeblogはamazonアフィリエイトとかGoogleアドセンスを導入したときに適当にCSSをいじって強引にページを3分割したんですが、このサイトに3分割の例ものっていたので、それを参考にきちんとCSSを書き直そうと思います。

Posted by horiuchi at 17:05 | Permalink | Comments (0) | TrackBack (0)

2004年02月13日

Google vs Yahoo! = Atom vs RSS ??

Yahoo vs Google、RSS vs ATOM、非常にわかりやすい構図ですね。 どちらがスタンダードを勝ち取るのかわかりませんが、時代は確実にセマンティックWeb実現に向かっている気がします。

Posted by horiuchi at 11:44 | Permalink | Comments (0) | TrackBack (0)

2004年01月27日

blogの普及から考える、支持されるWebサイトの条件

NIKKEI NET BizPlus

  • ブログとは何か?
  • ブログがなぜ普及しているのか?
  • blogから学ぶWebサイト制作

が簡潔にまとめられています。メモ。

Posted by horiuchi at 23:29 | Permalink | Comments (0) | TrackBack (0)

2004年01月17日

Google ブログノイズ問題解決へ

The Register
Google is to create a search tool specifically for weblogs, most likely giving material generated by the self-publishing tools its own tab.

ウェブマジシャンの秘密部屋: Google RSS検索エンジンで紹介されていた記事。

Googleの検索結果でブログが上位に来やすいというのはよく言われているし、経験的にもそれは正しいと思います。現にこのブログも「Horiuchi」で検索してみると現時点では4番目に表示されちゃってたりします(笑)しかし、そんな状況も近いうちに変わるかもしれません。引用した記事によればGoogleもこのことは「問題」と、とらえているようで、ブログ用にRSS検索エンジンを用意して、メイン検索とブログ検索を分けようとしているようです。Googleの検索結果からブログが消える日も近い!?。

Posted by horiuchi at 11:02 | Permalink | Comments (0) | TrackBack (1)

2004年01月11日

MTのインストールでトラブル ~エントリーを登録できない!?~

MTを新規にインストールする機会があり、みらのさんのサイトを参考に日本語化をしつつ、インストールをしたんですが、mt-load.cgiで
MT ERROR: Invalid EUC_JP character ...
のようなエラーがでてしまいました。Webで情報を探していると、naoyaさんのWeblogにPostgreSQL を使っていると新しいウェブログが作れなくなる件についてという記事が。記事を読むとlib/MT/default-templates.plの文字コードに問題がありそう。そこでこのファイルの文字化けしている日本語を削除してみると、mt-load.cgiは無事修了するようになりました。
これで一安心かと思いきや、今度はエントリーを登録しようとするとまた同様のエラーがでて、登録できないという現象が発生。よくよく考えてみるとブログの文字コードはUTF-8に設定していたのに、DBの文字コードはEUC-JPなままでした。 。
createdb -E UTF-8 db_name
結局これですべての問題は解決しました。。default-templates.plも文字化けているのではなくて、UTF-8なファイルだったので、日本語部分を削除する必要もありませんでした。うーむ、灯台もとくらし。。

Posted by horiuchi at 23:49 | Permalink | Comments (0) | TrackBack (0)

2003年12月26日

MT2.65にバージョンアップ

MTの2.65がリリースされています。 2.65は主にバグフィックスが中心のようです。その中でもXMLRPCServerのバグは結構深刻だそうです。このバグには、XMLRPCServer.pmを入れ替えるという方法で簡単に対応できるそうなので、これはやっておいた方がいいでしょう。
ここ最近忙しくてなかなかアップデートの時間が作れなかったのですが、ようやく少しおちついたので、Milano::Monolog: MT2.65用日本語パッチをリリースしましたを参考にMTを2.65にバージョンアップしました。 が、、左下に書いてある「Powerd By」が2.64のまま。。うーむ、、 MT.pmを上書きすれば2.65になるかなと思ったんですが、そうでもないみたい。あとでソース眺めて直そう。。
ところで、2.65で対応したAtomフィード(という呼び名でいいのかな?)の作り方も同エントリーにのっていたのでそれも追加してみました。Atomについては
http://www.kanzaki.com/docs/sw/atom.html
に詳しい説明があります。セマンティックWebは浸透するかなぁ~。

Posted by horiuchi at 18:27 | Permalink | Comments (0) | TrackBack (0)

2003年12月02日

MTプラグイン作成マニュアルの邦訳

Fenrir's BLog: MovableTypeのプラグイン作成(邦訳)
マジすてきです。英語を読むのがひじょーにおそい僕にとって日本語訳をしてくださる方は神に見えます。。今はいろいろ忙しくてプラグインを作るような時間は(アイデアも)ないんですが、どうしてもプラグインを作りたくなったときに感謝しつつ、参考にさせて頂きたいと思います。

Posted by horiuchi at 00:08 | Permalink | Comments (0) | TrackBack (0)

2003年11月26日

MTをmod_perl化

blog.bulknews.netこのサイトの MT を mod_perl 化しました。というエントリーを見てMTがmod_perl化できることを知りました。
設定方法はNDO::WeblogMovableType を mod_perl (Apache::Registry) 環境下で動かす方法に詳しくかいてあります。
もともとmod_perlはインストールしてあるので、httpd.confをちょこっといじるだけで、簡単にmod_perl化できました。
結果、かなり高速化されました。う~ん快適。。

Posted by horiuchi at 18:55 | Permalink | Comments (1) | TrackBack (0)

2003年11月14日

ニフティがブログサービス開始

IT Pro ニュース : 【特報】ニフティがブログ・サービス、米大手と提携し12月2日に開始へ
インターネット・サービス・プロバイダ(ISP)最大手のニフティは、米国で流行している新種の個人情報発信サイト「ブログ」を簡単に作成できるブログ・サービスを12月から開始する。 ブログ人気に拍車がかかるかな?

Posted by horiuchi at 13:45 | Permalink | Comments (0) | TrackBack (0)

2003年11月09日

BLOGPEOPLE

BlogPeopleホームページ
ブログピープルは、blogサイトの記事更新を通知をするサービスです。
使い方は簡単。まずは仲間同士で無料会員登録して、リンク集を生成してください。
リンク先blogサイトの最新更新状況をいち早くお知らせします。
日本版のBlobRollingとも言うべきサービスが開始されたようです。簡単に言うとブログのお気に入り管理サービスです。早速登録して使ってみました。
SharpReaderからOPMLをエクスポートし、BLOGPEOPLEにインポートしようとしましたが、OPMLの仕様が若干違うようで、OPMLの中身を修正する羽目になっちゃいました。
具体的には次のように変更しました。
SharpReaderのOPML
<outline  type="rss"
                title="Horiuchi::Weblog"
                description="PerlとかPostgresとか日々の雑感とか適当に。。"
                xmlUrl="http://hori-uchi.com/index.rdf"
                htmlUrl="http://hori-uchi.com/" />
BLOGPEOPLE用に修正したもの
<outline  type="rss"
                text="Horiuchi::Weblog"
                description="PerlとかPostgresとか日々の雑感とか適当に。。"
                xmlUrl="http://hori-uchi.com/index.rdf"
                url="http://hori-uchi.com/" />
title->text, htmlUrl->urlとしています。descriptionは概要に読み込まれるかなと思ったんですが、読み込まれませんでした。

Posted by horiuchi at 15:12 | Permalink | Comments (0) | TrackBack (0)

2003年11月02日

『Sleipnir』でBookmarkletを利用する

YARD*タイトルデザインを観てみる: MTあれこれ

私はタブブラウザの『Sleipnir』をメインのブラウザにしているのですが、 このブラウザの場合、普通にやるとBookmarkletの登録ができません。 Bookmarkletは、ブラウザに表示されているリンクをドラッグしてお気に入りに 登録するのですが、『Sleipnir』ではそういう動作ができないのです。

Shiftキーを押すことでSleipnirでもBookmarkletがつかえるんですね。

Posted by horiuchi at 14:48 | Permalink | Comments (0) | TrackBack (0)