File::Tempが便利 File::Tempが便利 一時ファイルを作る場合、IO::Fileのnew_tmpfileではファイル名が取得できないが、File::Tempではファイル名を取得することができる。 作ったファイルは特に宣言をしない限り、プログラム終了とともに削除される。 use File::Temp (); $fh = File::Temp->new; $fname = $fh->filename; こんな感じ。
奥一穂さんの「ウェブアプリケーションサーバを複数台構成とか2010年代には流行らない」にフォローのような感じで。 例によってタイトルは煽りです。 奥一穂さんのエントリーでは、「5,000万PV/Month」という見積もりでアプリケーションサーバの台数を1台と計算していますが、これからは「1,000万PV/Day」を超えるサイトが多く生まれてくると予想しています。どんなサイトかというと、mixiアプリやモバゲーなどにソーシャルゲームを提供するサイトです。 ソーシャルゲームサイトのキャパシティプランニングについては中澤さんのエントリーが参考になります。 The Art of モバゲー Capacity Planning The Art of Mixi-mobile-appli Capacity Planning 最も人気がでた場合には数千万から数億PV/Dayという数字がならんでいます。怖い怖
FormValidator::SimpleでDBに値が存在しないか確認するプラグイン Class::DBIをつかって値がDBに登録されていないかを確認するValidator。 使い方は、 create table user( id varchar(32) not null primary key, email varchar(120) not null unique ); というテーブルを想定して、idとemailがすでに登録されていないかを確認するには、 FormValidator::Simple->check($q,[ id=>[ 'NOT_BLANK', ['REGEX',qr/^[a-z][a-z0-9]{3,15}$/], ['CDBIUNIQUE','MyApp::M::CDBI::User'] ], email=>[ 'NOT_BLANK', 'EMAIL', ['CDBIU
フォームの入力を確認するData::FormValidatorとFormValidator::Simple フォームから送信されたデータのチェックをするモジュールはCPANに二つあります。Data::FormValidatorと加藤さんのFormValidator::Simpleがそれ。いままでガリガリと書いていた部分をこれを用いて楽ができないかと試し中。 メールアドレスとパスワードを入れるような以下の登録画面があって、 <form> メールアドレス:<input name="mail" type="text" id="mail" size="20" /><br /> パスワード:<input name="password" type="password" id="password" size="20" /><br /> もう一度パスワード:<input name="password_co
Shell::Perl と pirl を試してみる id:naoya氏がブクマしてたのを見て入れてみた。 pirlは、perlshのような対話型のperlシェルです。 Shell::Perlをinstallしようとすると、新しいExtUtils::MakeMakerを要求されるので、cpanコマンドでいれずに、Makefile.PLを書き換えた -use ExtUtils::MakeMaker 6.31; +use ExtUtils::MakeMaker; 同時にinstallされるpirlコマンドを実行するとこんな感じ。 $ pirl [~] Welcome to the Perl shell. Type ':help' for more information pirl @> 1+1 2 pirl @> log 10 "2.30258509299405" pirl @> :helpでヘ
FormValidatorとDBIx::Class::WebFormの組み合わせはいい。 Scaffoldなどではすでに使われているのだけど、FormValidator::Simple(Data::FormValidator)とDBIx::Class::WebForm(Class::DBIの場合はClass::DBI::FromForm)、この組み合わせはヤバいね。非常に楽ができてしまう。 研究中のCatalystアプリの部分だけど、タイトルと、内容、時間(年〜秒まで6つのフォーム)があって、それをDBに入れる場合、 my $result = $c->form( title=>[qw/NOT_BLANK/], text=>[qw/ANY/], {created_on=>[qw/d_year d_month d_day d_hour d_min d_sec/]}=>[qw/NOT_BLANK
OpenIDでテキストを共有できるWebサービス LIMILIC つくりました URLがIDっていうのはキャッチーじゃないのでOpenIDは使えないと言い続けていましたが、ここ最近の盛り上がりについカッとなってサービスをつくりました LIMILIC - OpenIDでテキストを共有できるWebサービス OpenIDをつかってLIMILICにログインすると、はてな記法を用いてWikiライクなページを作成できます。そのページに対して閲覧と編集それぞれにアクセス制御をかけるできます。 閲覧はすべてのユーザに、編集は一部の方にというようにアクセス制御することでお知らせページを作ったりと、writeboard風に使えます。メールアドレスや共有のパスワードなどよりもずっと安全じゃないかと思います。 あと、おまけ的にanonymous機能も付いていますので、匿名日記も書けます OpenIDって何?って方
prototype.jsのものすごく簡単な使い方。 はてなダイアリーの方にprototype.jsでHTMLを汚さないロールオーバースクリプトというエントリーを書いたのだが、prototype.jsの入手方法やらすごく簡単な使い方がないようなので、書いてみます。 prototype.jsはJavaScriptのライブラリ(中身はJavaScriptです)で、これを使うとJavaScriptを組むのがかなり楽になるというものです。話題のAjaxのプログラミングも簡単にできます。 ライブラリは、 http://prototype.conio.net/ からダウンロードできますが、TOPページにあるファイルはちょっと古いものなので、Browse the darcs repositoryというリンクを辿り、 http://dev.conio.net/repos/prototype/dist/ から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く