ようこそゲストさん

Magical Diary, beta version

メッセージ欄

分類 【WWW】 で検索

一覧で表示する

[WWW] ニコニコ動画の更新情報をTwitterに流す

2007/11/09 0:49 HIRATA Yasuyuki

ニコニコ動画の更新情報をTwitterに流す実験:

updatetwitter.pl:

#! /usr/bin/perl
use strict;
use warnings;
use open OUT => ":encoding(euc-jp)";
use YAML qw[LoadFile];
use Data::Dumper;
use DB_File;
use Fcntl;
use Digest::MD5 qw[md5_hex];
use XML::RSS::Parser;
use Net::Twitter;
MAIN: {
  my $conf = LoadFile("etc/twitter.yml") || die $!;
  tie(my %db, DB_File => $conf->{read_db}, O_RDWR|O_CREAT, 0644) or die $!;
  foreach my $e (@{$conf->{targets}}) {
    my $twit = Net::Twitter->new(username=> $e->{username},
				 password=> $e->{password}) || die $!;
    foreach my $t (@{$e->{tags}}) {
      my $rssfile = sprintf $conf->{rss_path}, "tag", md5_hex($t);
      open my $fh, "<", $rssfile or die $!;
      my $feed =  XML::RSS::Parser->new->parse_file($fh);
      my $count = 0;
      foreach my $i ($feed->query("//item")) {
	my $title = $i->query("title")->text_content;
	my $link = $i->query("link")->text_content;
	utf8::encode($title);
	my $key = "$e->{username};$link";
	if(not exists $db{$key}) {
	  $twit->update("$link $title");
	  $db{$key} = time;
	  sleep 3;
          last if(3 <= ++$count);
	}
      }
    }
  }
}

etc/config.yml (utf-8):

rss_path: rss/%s/%s.rss
read_db: var/rss_read.db
targets:
  - username: vocaloid
    password: ########
    tags:
      - 初音ミク
      - 鏡音リン
  - username: idolmaster
    password: ########
    tags:
      - アイドルマスター
      - アイマス

[WWW] Del.icio.usとHatena Bookmarkを同期

2007/11/09 0:11 HIRATA Yasuyuki

Del.icio.usHatena Bookmarkの両方を使っていてその内容を同期したい場合、WebService::SyncSBS::D2Hを利用することで簡単に同期することができる。使い方は examples/sbssync.plを見ればOK。

このモジュールのsyncメソッドは同期 (すなわち相互に不足分を複製) するため、私のように Del.icio.us から Hatena Bookmark 方向へのみコピーしたい場合にはそのまま利用できない。そこで、片方向のみ複製するパッチを作ってみた。このパッチを適用すると以下のメソッドが追加され、片方向の同期が可能となる。

sync_delicious_to_hatena
Reflects newly arrived sites on Del.icio.us in Hatena Bookmark.
sync_d2h
Alias for sync_delicious_to_hatena.
sync_hatena_to_delicious
Reflects newly arrived sites on Hatena Bookmark in Del.icio.us.
sync_h2d
Alias for sync_hatena_to_delicious.

WebService-SyncSBS-D2H-0.03.patch.gz

Yapooさんにはパッチを送ったので、次バージョンではもっときれいなコードになって入るかも。

[WWW] ソーシャルブックマークサービス Del.icio.us

2007/11/06 0:54 HIRATA Yasuyuki

最近、外に出しても差し支えないブックマーク情報ををソーシャルブックマーク (SBM; この表記は外国ではあまり使われていないようだ) サービスのdel.icio.us へ移行した。通常、ブックマークを利用するためにはdel.icio.usサイトを経由する必要があって使いづらいが、FirefoxにDel.icio.us Bookmarksを組み込むことでブラウザ標準のブックマークをそのまま置き換えて利用することができる。当初ははてなブックマークを検討していたが、ブックマークを置き換えるようなadd-onが見つからなかったため使わなくなってしまった。

Del.icio.usでは利用者層が日本人以外が数多く占めている一方、はてなは日本人がほとんどを占めている。このため、他の利用者の情報も活用したい場合には、はてなの方がよいかもしれない。Del.icio.us Bookmarks のようなaddonが出れば一番良いのだが。

通常のブックマークは階層構造でデータを管理するが、SBMでは "タグ" という概念で管理することが多く、Del.icio.usやはてなブックマークも例外ではない。こうなると "きちんと" タグ付けしたくなるものだが、大常さん によると "タグ付けは適当" らしいので、とりあえずあまり深く考えずに直感的に付けていこうと思う。

私のブックマークは: http://del.icio.us/hirata.yasuyuki

[WWW] favicon.icoの作成

2007/07/24 16:22 HIRATA Yasuyuki

ウェブサイトにアイコンを関連付ける機能は、元々 Internet Explorer に実装されていたものだが、今では多くのブラウザが対応している。

アイコンファイルの作成

Windows Iconファイルを作成するソフトが数多くあるが、ここでは手軽に使える toico を紹介する。インストールは難しいこと無いので普通に。標準的な make(1) には対応しないため、GNU make を利用する必要がある。

% wget http://wizard.ae.krakow.pl/~jb/toico/toico-0.18.tar.gz
% tar xvfz toico-0.18.tar.gz
% cd toico-0.18
% gmake
# gmake install

アイコンサイズは、ブラウザ用 (16x16)、デスクトップ用 (32x32) などがあるが、環境によっては 48x48, 64x64, 128x128 が利用されることもあるので、余裕があればそれらのサイズでも作成しておくと良いだろう。(ただし、128x128 は滅多に使われず、サイズも大きくなりすぎるため、64x64 までが現実的である。)

icon-16x16.png, icon-32x32.png, icon-48x48.png から favicon.ico を作成するには以下の通り実行すればよい。

% toico -o favicon.ico icon-16x16.png icon-32x32.png icon-48x48.png

FreeBSDには graphics/png2ico があったようだ。

アイコンファイルの指定

この機能により、Windows Icon ファイルを /favicon.ico (ウェブサイトの最上位ディレクトリ) でアクセスされる位置に配置するか、HTMLファイル中に以下の指定を行うことでURL欄やブックマークに表示することができる。混乱を避けるため、ファイルは常に /favicon.ico として、link による指定も同時に行うのが良いだろう。

<link rel="shortcut icon" href="/favicon.ico">
© 2007 HIRATA Yasuyuki <yasu@asuka.net>, all rights reserved