トップ 最新 追記

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2005-11-07

* [雑感] shibyya.pm テクニカルトーク#6B!

 先日shibyya.pm テクニカルトーク#6へ行ってまいりました。

 澤勇太氏はプログラミング言語の天下一武道会にPerlで出場、奮闘されたお話。161組中Perlは9組。Perlは惨敗だそうで。そして最強はHaskell。

 宮川達彦氏はSix Apartにおける開発のあり方や雰囲気等について。なんか楽しそう。Six Apartといえば、去年無謀にもSix Apart(日本)にお見積もりをお願いして結局Blosxom、Sledgeを使って開発したのが懐かしい……

 加藤@おーさか氏と加藤亮氏はCatalystの紹介(と実演)。前にちょっと触っただけだったのですが、自分自身が今月から来月にかけてCatalystを使うはめになりそうなので、これは大変良い機会でした。

 伊藤直也氏prototype.jsの魅力とHTML::Prototype。今回初めてHTML::Prototypeがどういうものか知り、勉強になりました。

 竹迫良範氏のPugs入門。Pugsは以前日記にも書きましたがHaskellで実装されたPerl6。そのときHaskellが面白そうだと思ったのですが、入門サイトを見てあえなく挫折。でもやっぱり少しずつ勉強していこうかなあ。

 というわけで、Haskellは凄いということがやたらと印象に残りました。帰りは加藤亮氏、加藤@おーさか氏とお食事。色々な形でお世話になっているので会えて良かったです。
  hori-uchi.comにて会場の映像刺身☆ブーメラン経由)。おー、いきなりまん前に自分が写ってますよ。

[]

■2005-11-14

* [今月のAcme] Web2.0に挑戦することB!

  自分のサイトがWeb2.0かどうかチェックしてくれるAcme::Web20::Validatorなるものが。早速私のサイトをチェックしてみました。

 http://www.donzoko.net/
 .------------------------------------------+--------.
 | Rule                                     | Result |
 |=-----------------------------------------+-------=|
 | Served by lighttpd?                      | No     |
 | Attempts to be XHTML Strict?             | No     |
 | Has auto-discoverable Trackback URI?     | No     |
 | Using Cascading Style Sheet?             | Yes!   |
 | Refers to del.icio.us?                   | No     |
 | Appears to be built using Catalyst?      | No     |
 | Appears to be built using Ruby on Rails? | No     |
 | Has prototype.js?                        | No     |
 | Actually mentions Web 2.0?               | No     |
 | Burning the feed by FeedBurner?          | No     |
 | Syndicate with RSS or Atom feeds?        | Yes!   |
 '------------------------------------------+--------'

 なんだか残念な結果です(何が残念なのかよくわかりませんが)。 何とかお手軽に自分のサイトのWeb2.0度を上げることはできないでしょうか? 縮退炉に勝てるのは縮退炉だけであるように、Acmeに勝てるのはAcmeだけ。そこでAcme::CGI::Web2'Oをこさえてみました。使い方は簡単。CGIモジュールの代わりに利用するだけです。

 use strict;
 use Acme::CGI::Web2'O;
 
 my $cgi = new Acme::CGI::Web2.0;
 
 print $cgi->header;
 print $cgi->web2.0;

  一見すると文法間違いのように見えますが、気のせいです。結果はごらんの通り。

 http://www.donzoko.net/cgi-bin/web/2.0.cgi
 .------------------------------------------+--------.
 | Rule                                     | Result |
 |=-----------------------------------------+-------=|
 | Served by lighttpd?                      | No     |
 | Attempts to be XHTML Strict?             | Yes!   |
 | Has auto-discoverable Trackback URI?     | Yes!   |
 | Using Cascading Style Sheet?             | Yes!   |
 | Refers to del.icio.us?                   | Yes!   |
 | Appears to be built using Catalyst?      | Yes!   |
 | Appears to be built using Ruby on Rails? | Yes!   |
 | Has prototype.js?                        | Yes!   |
 | Actually mentions Web 2.0?               | Yes!   |
 | Burning the feed by FeedBurner?          | Yes!   |
 | Syndicate with RSS or Atom feeds?        | Yes!   |
 '------------------------------------------+--------'

  見習ってModule::Pluggableを使い、Acme::Web20::ValidatorのRuleに対抗するようになっています。

[]

■2005-11-16

* [Perl][メモ] CGI::CarpのステータスB!

  CGI::CarpのfatalsToBrowserがステータスに500を返さないというお話。なるほど…… あくまでもCGI::CarpのfatalsToBrowserに拘る場合の強引な解決方法を思案。

 use CGI::Carp qw(fatalsToBrowser set_message);
 
 BEGIN {
   no warnings 'redefine';
   my $org_fatalsToBrowser
          = \&CGI::Carp::fatalsToBrowser;
   *CGI::Carp::fatalsToBrowser = sub {
     require CGI;
     local $ENV{MOD_PERL} = 1;
     print CGI->new->header(-status => 500);
     &$org_fatalsToBrowser(@_);
   };
 
   sub handle_errors {
     my ($msg) = @_;
     print <<END;
 <h1>Software error:</h1>
 <pre>$msg</pre>
 END
   }
   set_message(\&handle_errors);
 }

  通常、運用時にfatalsToBrowserを素で使うことはないでしょうから冗談ということで。

[]

■2005-11-22

* [Perl] JSON-1.01B!

 JSONバージョンアップ。メインは、PerlのハッシュリファレンスをJSONに変換する際のキーソート機能と、blessされたオブジェクトも変換できるようになったことです。ただし処理が重いのでオプションです。

* [Perl][メモ] Data::Serializerとか日本語名のモジュールとかB!

  Class::DBIの四次元ポケットClass::DBI::Plugin::PseudoColumnsにData::Dumper以外も使えたらなあ、という意見をちらほらみかけたのですが、Data::Serializerを使ったら結構よい感じなのではないかしら。

  ふと思い立って

 use utf8;
 BEGIN {
  # utf8のファイル名をシステムの
  # コードに変換する処理を突っこむ
  push @INC, \&conv_filename;
 }
 use あいうえお ();
 my $obj = あいうえお->new;

とかやれるのではないかと思ったら確かにできたのですが、色々難あり(自動でimport呼べない、use baseしたモジュールでisaが呼び出されない等々)だなあ……

[]