タグ

ブックマーク / blog.nomadscafe.jp (11)

  • はてなブックマークのBookmarklet Safariでの文字化けを直す

    はてなブックマークのBookmarklet Safariでの文字化けを直す Safari 1.3でescape関数には日語部分が%uNNNNになってしまうバグがあって、はてなブックマークなどのbookmarkletが気分よく使えない。そこでbookmarkletのコードの「escape」を「encodeURIComponent」に変えてみた。 javascript:window.open('http://b.hatena.ne.jp/add?mode=confirm&is_bm=1&title='+encodeURIComponent(document.title)+'&url='+encodeURIComponent(location.href),%20'_blank',%20'width=520,height=600,resizable=1,scrollbars=1,statusba

  • はてなブックマークのコメント欄のようなものをParseするモジュール : blog.nomadscafe.jp

    はてなブックマークのコメント欄のようなものをParseするモジュール はてなブックマークのコメント欄のようなものをParseするモジュールを組んでみた。 家の完璧なエミュレートではないです。 package Text::HatenaBookmarkLike::Comment::Parser; use strict; use warnings; sub new{ bless {},shift; } sub parse{ my $self = shift; my $string = shift; my @tags; while(length $string && $string =~ m!^\s*\[([^\]]+)\]!){ my $tag = $1; $string =~ s!^\s*\[([^\]]+)\]!!; next unless length $tag; push(@tags,

    a_666666
    a_666666 2006/06/06
  • Femoで全角スペースでのタグの切り分けをサポートしました。 : blog.nomadscafe.jp

    Femoで全角スペースでのタグの切り分けをサポートしました。 Femoで全角スペースでのタグの切り分けをサポートしました。 全角 スペース というように全角で区切っても 全角、 スペース の2つのタグになります。 もちろん今まで通り半角スペースでも動きますです。 FemoはTagがつけられるメモ帳Webアプリケーションです。ぜひお試しください。ご意見もくださいませ。 ちなみに、タグを切り分ける部分のPerlのコードは以下のようになってます。 my @tags; my $tagtext = $self->tagtext; utf8::decode($tagtext) unless utf8::is_utf8($tagtext); my %seen; while ($tagtext =~ /\G [\p{Zs}\t\r\n\f,]* (?: (") ([^"]*) (?: " | $) | (

    a_666666
    a_666666 2006/06/06
  • PerlでRSSの処理のベンチマーク : blog.nomadscafe.jp

    PerlRSSの処理のベンチマーク NDO::WeblogさんのPerl で XML の処理はどれが速いかベンチで、正規表現、XML::Simple、XML::RSS、XML::LibXMLの4つで、RSSの中から、linkを抜き出すベンチの記事が公開されていますが、 もうすこし、RSSの中から情報を抜き出して、Perlで使いやすいようにしていったらどうなるか試してみた。 ちょっとさぼって、XML::RSSとXML::LibXMLだけ まず結果から # perl libxmlrss.pl index.rdf Benchmark: timing 100 iterations of XML::LibXML, XML::RSS... XML::LibXML: 5 wallclock secs ( 4.49 usr + 0.02 sys = 4.51 CPU) @ 22.17/s (n=100)

  • Unicode::Japanese : blog.nomadscafe.jp

    Unicode::Japanese BlogSurfで、Jcodeのエンコーディング判定で書いたconvert_to関数を使ったが見事玉砕 utf-8文字列からeucへの変換ができないことが多々。 Unicode::Japanese - 日語文字コード変換 を使ってみることにした。 Jcodeは内部的にEUC-JPを使うのに対して、UTF-8を使う文字コードの変換モジュール XSにも対応、imodeやJ-skyにも対応 使い方はJcodeとほぼ同じ $utf8 = Unicode::Japanese->new($str,"文字コード")->utf8; 自動判定するには、文字コードに「auto」を入れる。 でも、やはり他の手段と同じく文字コードの自動判定は失敗することがあります。 そろそろ自動判定はあきらめよう。 XML::Parserからの出力はどちらにしろ、utf-8に統一されているの

  • 今月末で退社いたします : blog.nomadscafe.jp

    今月末で退社いたします 私事ですが、今月末で現在の会社を退社することになりました。 設立当初からやってきましたが様々思うことがあり、退社となりました。 今までお世話になった方々に深く感謝いたします。 来月からですが、いまのところ決まってません。 YAPCなど、いろいろな方々と会う機会を通して考えて行きたいと思ってます。 技術をより磨き、技術者やデザイナー、ディレクションの方などと一緒に高いレベルで刺激し合える環境でWebアプリケーションの開発ができたら思います。 これからもよろしくお願いします。

    a_666666
    a_666666 2006/03/21
  • DBD::Sqliteではまる。 : blog.nomadscafe.jp

    DBD::Sqliteではまる。 dagから落としてきたrpmでインストールしたsqliteで作った、データベースに、DBD::Sqliteでアクセスできなくて、ちょっとはまった。 ちなみに、エラーログにはこんなのが残る DBD::SQLite::st execute failed: attempt to write a readonly database(1) at dbdimp.c line 401 sqliteは、バージョン2と3で互換性がなくなっていて、さらにDBD::SqliteのChangesをみると、バージョン1から中身がsqlite3になっている。 sqlite 2.xのファイルへアクセスするには、DBD::Sqliteのバージョン、0.31以下か、DBD::Sqlite2が必要だと。 rpmsqliteを入れたということがはまった原因ぽいが、きちんと覚えておこう。

    a_666666
    a_666666 2006/02/11
  • 初CPAN : blog.nomadscafe.jp

    初CPAN CGI::ApplicationでもCatalyst風にStashで書いた、CGI::Application::Plugin::StashをCPANにアップしました。エントリー時からはまったくコード自体は変わってないです。 これが初CPANアップです。PAUSEでアップロードをして、実際CPAN Searchで出てくるまで1時間ぐらいドキドキしましたが無事表示されてよかった。小さなモジュールではありますがCPAN Authorになることができました。正直ちょっとうれしいです。けど、これに満足せず一歩一歩精進していきたいと思います。 これからの課題 技術の向上 英語。今回はほとんどコピペ 役に立つモジュールとその英語の説明 英語はネック。(じゃぁ日語で書けと言われてうまく書けるかも自信ないorz) まずはCGI::Application::Dispatch::BuildURIの

    a_666666
    a_666666 2005/11/11
    かぜぶろさんがauthorに。おめでとうございます!(今回が初とはちょっと意外だった)
  • blog.nomadscafe.jp: CGI::ApplicationでTropy

    CGI::ApplicationでTropy Tropyが面白い。しかも勉強用にちょうどいいサイズ。 クローンがいくつか既にあるけど、ハテナオヤさんがCatalystでつくったので、CGI::Applicationでもやってみた。 http://nomadscafe.jp/caropy/caropy.cgi ネーミングセンスないけど、CGI::Application::TropyなのでCaropyとしてみた。 ソースはこちらから見れます。 依存するモジュールは以下です。 CGI::Application::Plugin::TT CGI::Application::Plugin::FormValidator::Simple CGI::Application::Plugin::Redirect Class::DBI::Sweet Primaryキーの生成にはData::UUIDを使用してます。

    a_666666
    a_666666 2005/11/10
    UUIDなんてものがあるのか。知らなかった。
  • CGI::Application::Plugin::Redirect : blog.nomadscafe.jp

    CGI::Application::Plugin::Redirect CGI::Application::Plugin::Redirectが出ていますね。名前から想像する通り、redirectの処理を行ってくれるものです。 package MyApp; use base qw(CGI::Application); use CGI::Application::Plugin::Redirect; sub start { my $self = shift; return $self->redirect('http://www.example.com/'); } リダイレクトの相対→絶対への変換はサポートしていないのであまり役に立ちそうもないかなぁと思ってましたが、ところがどっこい。1つ面白い機能がありました。 cgiapp_prerunでのリダイレクト、 package MyApp; use b

  • PATH_INFOと相対パス(リンク) : blog.nomadscafe.jp

    PATH_INFOと相対パス(リンク) おまえのブログさんのエントリーCGI::Application::Dispatch勉強中その2で でも、CGI::Application::Dispatchを使う場合は、PATH_INFO形式を利用することが前提なうえ、URIが全部、 http://example.com/dispatch.cgi/モジュール名/Runモード な感じになります。階層が全部一緒です。こうなると、今までの「URIの階層=ファイルのありか」という方法でテンプレートを並べて、リンクURIを相対パスで書く、というのが不便になりました。URIたびたび間違うし…。 これは僕も悩みました。あとでPATHが変更になりそうなときには絶対パス・リンクは使いづらいですし、Dreamweaverでも作成しにくい。なので最近作ったCGI::Application::Dispatchを利用したアプ

    a_666666
    a_666666 2005/09/14
    なるほど、やってみてわかった、相対パスにすると何が問題なのか。
  • 1