mod_perliteを試してみた

Ideas - O'Reilly Media modperlite PHPのようにファイルを置くだけで実行されてCGIより速くてmod_perlより簡単なapache moduleだそうです。去年からのCGI frameworkブームを補完する上でも試してみるっきゃないということでまずはソースの取得 svn co http:…

mixi OpenIDのsreg.nickname

追記 (2009/01/14): id:asannouさんが直してくださったようで、当方でも正常に動作したのを確認いたしました。あざーっす!初めにお断りさせていただきますが、OpenIDはよくわかってないので勘違いだったらごめんなさい><Net::OpenID::Consumerを使ってmix…

Web::ScraperでDellオーダーステータスを取得して凹む

最近これを叩くのが日課になってます。 use strict; use warnings; use Web::Scraper; use WWW::Mechanize; use URI; my $type = 'ponum'; my $cnum = '******'; my $lnum = '******'; my $url = 'https://jpapp1.jp.dell.com/orderstatus/multiple.asp'; my…

Text::Hatena::Escaped

というわけで、Text::Hatenaに渡したらHTMLエスケープした上で整形するように継承してみた。 #!/usr/bin/perl use strict; use warnings; { package Text::Hatena::Escaped; use base qw(Text::Hatena); sub text_line { my $class = shift; my $text = shif…

Wiki SyntaxとHTML

NanoWikiを作ってて思ったんだけど、Wiki SyntaxとHTMLの関係って難しいすな。そもそもフォーム入力 → HTMLエスケープ → HTML変換→HTML出力って感じに処理させるのが全うな考え方だと思うわけです。Text::Markdownの場合、特殊文字(&とかとか)の実態参照変換…

NanoAプラグインの書き方

そのまま使っても簡単にCGIが書けるNanoAですが、プラグインを書くとアプリケーションのコード全体的が見通しよくなります。単純なプラグインの例を見ていきます。app/plugin/hello.pm package plugin::hello; use strict; use warnings; use utf8; use base…

NanoAでwiki作ってみた

http://hidek.sakura.ne.jp/wiki/nanoa.cgi/wiki/mixiで認証してmarkdown syntaxなwikiっぽいもの作った。TODO: ページ削除 validation(え パスワードプロテクト マイミク限定公開 ファイル添付 追記: githubに置きました GitHub - hidek/nanowiki: Wiki pow…

スカラーリファレンスのbless

JPerl Advend Calendarで無名スカラーリファレンスネタをやったんだけどさくらとかでFreeBSD6.1で bless \do{""}, "class"; とかやるとModification of a read-only value attemptedとか言って怒られる。 CentOSとかだとだいじょぶなんだけどなー なんでだ?…

CentOSでkeychain

最近GitHubを使っているのですが、pushのたびにパスワード入力めんどうだからこのへん見てssh-agentを使ってパスワード入力を省くようにしてました。が、keychainを使えばさらにログイン間で共有できるようになることを今さら知りました。CentOSではrpmforge…

Re:みくしい年賀状

http://d.hatena.ne.jp/yappo/20081209/1228790133id:yappoさんに送ろうと思ったけどマイミクじゃないので送れなかったよ><

JPerl Advent Calendar 2008 - 4日目

事後報告。http://perl-users.jp/articles/advent-calendar/2008/04.html書きました。 さらっと書いたら、あらゆる方面から色んなご指摘が入って大幅加筆させていただきました。 ありがとうございました。で、すでにupされてるけど次はid:hirose31さんで。

Red5 Streaming packets

Connection => [invoke] method:connect id:1 args:{"pageUrl":"http://hidek.dyndns.tv/red5/publisher.html","audioCodecs":3191,"app":"oflaDemo","videoCodecs":252,"tcUrl":"rtmp:/oflaDemo","swfUrl":"http://hidek.dyndns.tv/red5/publisher.swf","vi…

MooseのMRO

世間ではShikaとかMouseとかが叫ばれている中、久々にMooseを触ったボクです。 で、すごい勢いでMoose忘れてるのでこんなのさえわかんなくなってました。 { package Base; use Moose; sub foo { warn 'Base'; } } { package RoleA; use Moose::Role; before …

Kamaitachiやってます

typester氏謹製のPerlのRTMPサーバーKamaitachiに首ったけです。 もともとネットでDJをやるのにShoutcastやらWindows Media Serverやらを渡り歩いて来たので趣味と実益ならぬ、趣味と趣味を兼ねたすばらしい世界です。Kamaitachi-0.05 - perl flash media se…

Apache2::Statusを使ってみた

mod_perlでどのくらいメモリー使われてるかとか調べたかったのでApache2::Statusを使ってみた。 Shibuya.pmのLTにも含めようと思ったけど5分に押し込めるのは無理なのでここで公開。テスト対象としてCGI::Applicationで package HelloWorld; use strict; use…

lftp便利じゃないか

気が付いたらCentOSについてくるFTPクライアントがncftpからlftpになって、ぶーぶー文句を言いながらも使っていたのですが、今日とある作業でrsyncの使えないレンタルサーバーへのミラーリングで便利な機能を知りました。lftpは-fオプションを渡すとバッチを…

Remedie始めました

とりあえず、うちの環境でMakefile.PLに書いてなくて必要だったモジュール XML::Atom Log::Dispatch XML::Feed HTML::Scrubber Image::Info Text::Tags::Parser

PerlのWebアプリケーションに特化したインストーラー付きパッケージャーみたいなのが欲しい

先週id:kazuhookuさんとかid:yappoさんとかと飲みながら話してた中で出てた話題をおぼろげな記憶の中から掘り起こすてみた。 Perl Web Applicationを簡単に配布したい 極力Pure Perlにすることが求められる mod_perlに頼らないでそこそこのスピードが求めら…

HE conference#1やるよ

http://soozy.org/index.cgi?HEcon1とってもニッチだけどスピーカーと参加者募集中。

Perlの軽量ウェブアプリケーションフレームワーク最新事情

前代未聞のPerl軽量ウェブアプリケーションフレームワーク祭りの中、いかがお過ごしでしょうか?紆余曲折があってこんなことを言ってたわりに何もしてないでぼーっとしている間に、腕に覚えのある兵達が我も我もと手を動かしてくれたので、申し訳なさ半分で…

Re:Mojoの遅さはたいした問題じゃありません

Mojoの遅さはたいした問題じゃありません - Charsbar::Note現状では全面的におっしゃるとおり。反論する場所はどこにもありません。そもそも、あそこまでの結論だと遅いからダメじゃん的に見えてしまったのは我ながらまずかったと思います。 一応mod_perl or…

PerlのWAFのベンチ大会

仕事の都合上、素のCGIとCGI::ApplicationとCatalystと今話題のMojoでmod_perlなどを使わない素のcgiでベンチとった。結論から言うとCGI下では - Requests per second: バージョン 素のCGI 60.54 [#/sec] (mean) - CGI.pm 19.56 [#/sec] (mean) 3.42 CGI::Ap…

SVKでDelta source ended unexpectedlyしたときは

SVKを新しくしたら今まで見たことないエラーが。 $ svk sync //mirror/coderepos Syncing http://svn.coderepos.org/share Retrieving log information from 22645 to 22796 Incomplete data: Delta source ended unexpectedlyそんなときは $ svk sync --ski…

Mojoについて思う

Mojoを使ってみた - Charsbar::Noteを読んで、興味が沸いた。今の会社も結構レガシーな仕組みを使ってるわけで、新しく一からサーバーを立てるようなサービスじゃないと、なかなかCatalystとか使わせてもらえないわけです。そんな場合、どうするかというと素…

HTML::QRCodeっての作ってみた

QRCode大好きclouderさんがText::QRcodeを作ったのをみたnipotanさんが早速terminal化した物をgyazoにうpしてたので、gazoのコードを見ながら脳内コピペして10分くらいでTerm::QRCodeを作ったので、かっとなってCSSと戦いながらHTML::QRCode作りました。http…

Passengerのインストールメモ

Passenger(mod_passenger)をCentOSにインストールした時のメモ。 apache, apache-devel, ruby, ruby-rdoc, etcなパッケージとrubygemsはインストールしとくこと。Passengerをgemでインストール $ sudo gem install passenger $ sudo passenger-install-apach…

Module::Starter::PBPがひどい

Module::Setup::Flavor::PBPを作るとか言ったばっかりにDamian先生のModule::Starterを久々に見たんだけど、先生ひどいよ! use version; $VERSION = qv('0.0.3'); 当然 use version; our $VERSION = qv('0.0.1'); ですよね。RT何回も上がってるのに二年以上…

Module::Setup::Flavor::CatalystStarterとしてコミットした

下のやつをModule::Setup::Flavor::CatalystStarterとしてcodereposにコミットしました。 module-setup --init --flavor-class=CatalystStarter catalystすると~/.module-setup/flavors/catalystにflavorがインストールされます。 module-setup MyApp cataly…

catalyst.plをModule::Setupのflavor化してみた

とりあえずcatalyst.plをまるきりそのままflavor化してみた。http://nopaste.com/p/adxy68cd9インストールはMyCatalyst.pmとかで保存して module-setup --init --flavor-class=+MyCatalyst catalystこれからいらないの削ったり、Schema対応したりする。ちな…

Module::Setupで使えるtemplate_vars

after_setup_template_varsで渡されるtempalte_vars 例えばモジュール名がFoo::Barだったら [% dist %] -> Foo-Bar [% module_path %] -> Foo/Bar [% module %] -> Foo::Bar になる。 いっつもわかんなくなるのでメモ。