Perl

懐かしのCGI掲示板スクリプトをAWS Lambda+EFSで動かしてみた

AWSにはフルマネージドなNFSファイルシステムを提供するEFSがありますが、AWS Lambdaからマウントできるようになりました。 aws.amazon.com これをうまく使うと、ファイルシステムへの保存を前提とした古いアプリケーションを楽にクラウドにリフト(移行)す…

FFXIのビシージ情報の更新をIRCで知りたい!

初Plaggerです。試してみました。 ゴールは、FFXIの集団対モンスター戦であるビシージで、いつどのモンスター軍が攻めてくるかを報告ベースで予想時間を表示してくれるビシージ状況報告ページです。 下準備 TiarraをTopiaさんの開発ツリーのものにupgrade ge…

Re: 適材適所でメリットを活かせ

$str="東京,神田,秋葉原"; map {print "次は$_\n";} split(/,/, $str);map内で処理を済ませてしまうのには違和感があるなぁ。私なら後置foreachかな。 $str="東京,神田,秋葉原"; print "次は$_\n" foreach split /,/, $str;mapにこだわるなら、このほうがま…

C::P::DefaultEndとC::P::FillInFormの共存

あーそうか、NEXT::endを手で呼んであげてからfillformすれば良かったのか。fillform => 1をstashに入れてあげるのも分かりやすいよな。 結局、View::TTを手で呼ぶとかダサいやり方*1してたよ……。ここまで分かってたらもうちょっと考えればきれいなやり方で…

Any::Template

やはりラッピングする人が出てきた:)まぁ、わざわざくるまなくても、CGIやCacheみたいな、各自で勝手に同じインターフェースに相乗りするやり方の方が「らしい」ような気もする。

DBIC

ぐあー、半年ぐらい前の奴をDBICとかupgradeしたら上がらなくなってた。 [error] Couldn't load "Perso::Model::DB::CommunityInvitations", "Can't locate object method "load_components" via package "DBIx::Class::Core" at /usr/lib/perl5/site_perl/5…

Changes to the Catalyst Project

おお、しばらくMLとかほとんど目を通していなかったら、こんなことに。一つの通過点かな。 Sebastian Riedel氏の新しいフレームワーク Catayst core teamの抜けて、「Woodstock」という新しいMVCスタイルのフレームワークを作るそうです。

はてな認証API

早速Catalyst-Plugin-Authentication-Credential-Hatenaとか使いながらふにふに遊んでいるんですが、 複数IDを持っている人という考えがない(選択するときに、今ログインしているID以外を選べない) 外のblogコメントの認証・識別とかいうシチュエーションで…

HTML-Template-Pluggable

CDBI/DBICつかって小さいものを作りたいときには、この中のHTML::Template::Plugin::Dotを使う方がTemplate-Toolkitより手軽で良いかも。ビュー主体でカラムの値持ってくるのと、ループができれば割と多くの場合に十分な気がする。

Perl defined-or patch on FreeBSD ports

恥ずかしいことにFreeBSDで生活していながら気付かなかったのですが、5.8.7へのupgradeからdefined-or patchが取り込まれてたんですね。あと、5.8.8にDOR演算子が入るという誤解は修正しました。 他のOS OS/Distribution version 対応 CentOS-4.2 perl-5.8.5…

Aspect - AOP for Perl

アスペクト志向、役に立ちそうな気は、しているんだけど、使ってる人どれぐらい居るんだろうな。

on_connect_do

MLアーカイブを読み直していたら、on_connect_doを追加するパッチが採用されているようなので、過去の記事に追記しました。

defined-or演算子

なお、優先度の高いdefined-or演算子である//演算子は、以前から話題になっているとおり、5.8.8から導入されるようです。これで幸せになる場面はたくさんありますね! 追記: 2006-02-24 5.8.8にはdefined-or patchは含まれませんね。誤解していました。 ただ…

perldelta - what is new for perl v5.9.3

switch/smart match と defined-or キタ(・∀・)コレ!!ということで、期待を込めて一部を意訳してみました。恥ずかしながらPerlのrelease engineeringを知らないのですが、5.9系が5.10(もしくは5.8にbackport)としてリリースされると言うことで良いんでしょうか。あ…

DBIx-Class-Loader-0.14

差分を見ると、DBIx/Class/Loader/mysql.pmのリレーション周りがまともになっていますね。これで使えるようになったかも。

SET names utf8

MyApp::Model::DB::Table->storage->dbh->do("SET names utf8");setupが終わった辺りにこれを実行しておけば良いのかな。 Table側でDBもload_componentしてないとだめかも。 追記: 2006/01/11 08:48 これだと、timeoutとかでコネクションが切れて再接続した…

DBIx::Class::InflateColumn

CPANに上がっている最新の0.04999_01でもPODが書かれていなくてちょっとしょんぼりなDBIx::Class::InflateColumnですが、changeset:437としてドキュメント付きになっていました。

index template(2)

よく考えたら、素直にサブクラス化してるんだから上書きすれば良いだけですね……orz sub process { my $self = shift; my ( $c ) = @_; unless( $c->stash->{template} ) { my $basename = $c->request->match || $c->request->action; if( $basename =~ m!/$…

index template

my $template = $c->stash->{template} || ( $c->request->match || $c->request->action ) . $self->config->{TEMPLATE_EXTENSION};Catalyst::View::TTでは、パス部のマッチした部分をもとにテンプレートのファイル名を生成するようになっていますが、index…

Changeset 2955: Added YAML config support

その後のchangesetも含めていくつかYAMLによる設定ファイルへの対応がCatalyst本体に入っています。 今までYAMLによる設定ファイルを利用するにはCatalyst::Plugin::Config::YAMLが利用されていましたが、appprefixなファイル名*1、または__PACKAGE__->confi…

prepare_action

Catalystで、パスとアクションのマッピング規則をごにょごにょしたい場合は、prepare_actionで$c->req->pathを書き換えるようなぷらぎんを書けばよいようです。 Catalyst::Plugin::Flavour Catalyst::Plugin::Static::Simple

HTML::Seamstress

HTML::Seamstressというテンプレートエンジンが最近気になっています。SYNOPSISによれば、HTML::Seamstress provides "fourth generation" dynamic HTML generation (templating).と、TTのような「第三世代」のテンプレートエンジンとは違うんだと言うことを…

@lib::ORIG_INC

@lib::ORIG_INCにbuilt-inの@INCが入っているんですね。 lib - perldoc.perl.org Restoring original @INC

Catalyst-Plugin-Config-YAML-0.04

ソースコードをSVN管理に置いているので、DB認証絡みの設定は別ファイルにして、これまで __PACKAGE__->config( config_file => 'config.yml' ); __PACKAGE__->config( YAML::LoadFile( __PACKAGE__->config->{home} . '/dsn.yml' )); なんて格好悪いことを…

CPAN Recent Changes

CPAN ウォーチャー必携! 素敵すぎます!!!

Catalyst::Plugin::Session 0.04

Store::FastMmapを使っていると、どうもCache::FastMmapが期待する形式と違う形式で保存しようとしている風のエラーで落ちてしまうと言う症状をちまちま追っていたのですが、timelineを眺めていたらchangeset:2831でWork aroundが入っていたみたいです。すで…

今回のPerl脆弱性

まとめると、今回のPerl脆弱性騒ぎには二つの問題があったわけです。 Perlのprintf関数において、format stringに悪意のある値を与える事で任意のコードを実行されてしまう脆弱性 (Perl format string integer wrap vulnerability) 開発者が(おそらくは)意図…

ITmedia エンタープライズ:Perlの脆弱性は氷山の一角か

この話を聞いてまず思うのは、なぜ必要無い場面でFormat stringを受け付ける関数を呼んでしまったのか、ということでした。 結論から言うと、Sys::Syslogモジュールの現時点での最新版(0.09)では問題がないのですが、Perl-5.8.7に入っている版(0.06)では問題…

CPANのdiff機能

たまに見かけるけど、どこから飛べるのか分からなくて隠し機能かなと思っていたんですが、ふと思い出して検索してみたらLinksの Toolsから実行できるんですね……。全く意識に入ってなかったですこのリンク。

HTML-Widget

CatalystのMLで、新しいform validatorがリリースされました。最初に話が出てから半日でpreview releaseです。この展開の早さがCatalystの一つの特徴ですね。「流れに乗っている」と言いますか。 これで、大きく三種のvalidatorが存在することになりますね。…