タグ

ブックマーク / hirobanex.net (10)

  • モダンPerl製サイトのベース解説書『Plack Handbook』を読んだ | hirobanex.net

    Plack Handbookは、CGI以降の最近のPerlを使ったウェブサイトを作る上でベースとなるPSGIという仕様の実装であるPlackのまとまった(電子)書籍です。待ちに待ってましたという感じだったんですが、でやっと入手して読んだ感想とかをメモります。 といいつつPlackって何?詳しく教えて? 上述した通りなものがPlackなのですが、FTPでアップしてふんふんふん、という事をしている人にとって、いまいちピンとこないのがPlackだと思います。昔は、FTPを使って.cgiファイルみたいなのをアップしてちょっとした動的な動きをするページを作るには、PerlだとCGI.pmというCPANモジュールに準拠しながらいろいろと作っていたのです。ただ、ApacheのCGIという技術の上だと、何分毎回プログラムファイルの読み込みをとかを行うので遅かったりしたのです。そこで、FastCGIとかmo

    labunix
    labunix 2012/10/30
  • YAPC::Asia 2012で発表してきました ~不安定な環境の中でのバッチ処理~ | hirobanex.net

    YAPC::Asia三度目の参加で、お陰様でSpeakerとして参加させて頂きましたので、もろもろの感想を徒然なるままに綴ります。とにかく、JPAの皆様、ボランティアの方々、LTソンの運営の皆様、大変お疲れ様でしたっ!! YAPC::Asia2012とは YAPCとは、Yet Another Perl ConferenceというPerlのお祭り(大きな勉強会)です。YAPC::AsiaはそのAsiaにおけるカンファレンスで、2006年から始まり今年で第七回目となります。今年は、動員規模も800人以上あったようで、その他、スポンサー数など様々な意味で過去最大規模になったようです。催のJPAの皆様、ボランティアの皆様大変お疲れさまでした、また、大変ありがとうございました。 Readmine::Chanのトークがよかった ~それぞれのトークについて~ 今年は残念ながらそれぞれの会場が狭く立ち見に

    labunix
    labunix 2012/10/01
  • 型一致ベースのテストに使えるPerlモジュール ~Test::Deep::Matcher,MouseX::Types~ | hirobanex.net

    PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群 』って記事書いたら、ありがたいことにikasam_aさんに「Tes::Deep::Matcherを書いたよ」ってご紹介頂きましたので、続けざまに型一致ベースのPerlのテストについていろいろと思うところを整理しておきたいと思います。 【宣伝】Yapc::Asia2012のトークに応募しています この記事アップしようとして、先の記事みたら、私のブログからしたらたくさんはてぶが付いているじゃありませんか!!そして、そのわり・・・。だったので、最初に紹介します。 Perlの最大のイベントYapc::Asiaが今年も開催されますが、今年はトークに応募してみました。バッチ処理とかジョブキューシステムとのQudoとかについて普段やっていることをまとめて発表する予定です。ご興味ありましたら、是非『不安定な環境の中でのバッチ処

    labunix
    labunix 2012/08/03
  • PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群 | hirobanex.net

    最近、久しぶりに新規コードを書いたんですが、そのテスト書く中でTest::Mock::Guardってモジュール使って便利だったんで、ここらで、動作確認テストを書く上でいいな(使ってみたいな)って思ったモジュール群やテスト関連ネタを個人的なメモとしてまとめておきたいと思います。 いいなって思うPerlの動作確認テスト系CPANモジュール群 私が実際に普段使っているものから、これいいなー使ってみたいなーと思うものまで、一覧にまとめて見ました。結構いろんなモジュール使わないと、いい具合にTDDってできないものだと思います。 入門編 モジュール名 概要 参考日語記事

    labunix
    labunix 2012/08/02
  • Kossyを使ったペアプロイベントとPerlのWAFのあれこれ | hirobanex.net

    先週、クロージャーをまともに知らなかったことを露呈してしまったばかりですが、今日は「PerlのウェブアプリケーションフレームワークのKossyを使ったペアプロイベントやるよ!」って話と、PerlのWAFについていろいろと考えてみた記録を公開です。 【宣伝】Like a ハッカソン(pre Hachioji.pm #15)開催のお知らせ 日時 :2012/03/24 9:00- 参加者 :7/19(2012/3/18現在) 会場 :八王子南口MTビル時間貸し会議室 (東京都八王子市子安町4-9) 会費: 1000円〜2000円位 概要 : ペアプロやるか、モクモクやる宣言してモリモリコーディングする(詳細は下記参照) ATND : http://atnd.org/events/25927 イベント内容 前回の取り組みの結果から、「Like ハッカソン」とは、「モクモクやりたいことをやる」とい

    labunix
    labunix 2012/03/19
  • ぼくがPerlではまったクロージャーってやつの罠 | hirobanex.net

    こんな感じでGearmanに一気に仕事を依頼して、結果を待っていたら、 my $target = +[ { foo => 1, bar => 2, }, { foo => 1, bar => 2, }, ]; my $ts = Gearman::Client->new( job_servers => ['127.0.0.1'] )->new_task_set; my $id = 0; for my $target (@$targets) { $id++; my $arg = Data::MessagePack->pack({ hoge => $target->{foo}, moge => $target->{bar}, }); my $on_complete_code = sub { warn $id; $res->{$id} = Data::MessagePack->unpack(${$

    labunix
    labunix 2012/03/11
  • Perl演算子「||」,「or」の罠 | hirobanex.net

    最近、リストと配列(Array)はPerlでは別物ってtogetterがあがりましたが、別件ですが、そういやこの「||」と「or」の違いで、はまったなーということで久しぶりに「罠」ネタをメモっておきます。 はまったコード なにげなく、 my $aaa = logic_a( hogehoge => 1, mogemoge => 2, ) or die; ってかいてあったものに、まぁ、dieする前に、別のロジックをつけてもいいよなーと思って my $aaa =logic_a( hogehoge => 1, mogemoge => 2, ) or logic_b( hogehoge => 1, mogemoge => 2, ) or die; ってかいてしまった。なんか、「or」演算子が並んでいて「キレイ」なコードだと思ったんですね。それで、これでいいやーと思ったんです。 想定していたこのコード

    labunix
    labunix 2012/03/11
  • お手軽に死活監視をPerlのCPANモジュールApp::MadEyeで行う | hirobanex.net

    去年のYAPC::Asia2011では、運用の話が活発に行われており、監視周りの話も多かったように記憶しています。そこで、監視の基となる死活監視について、今回は私が普段使っているtokuhiromさん作の死活監視ツールApp::MadEyeを紹介しつつまとめたいと思います。 「死活」の通り、「死んでいるか、活きているか」について監視することです。具体的には、サーバーにPingを飛ばして死んでいるか活きているか確認したり、サーバーのハードディスクが一定量を超えているかどうか確認したりすることです。つまり、継続的に「1/0」で確認し続けることが、死活監視です。実務的な用途としては、「サイトが落ちている!」っていう状況に素早く対応するための準備となります。 リソース監視 一方で、リソース監視は、システム特定リソースの状態の変化を確認し続けることといえます。例えば、サーバーのロードアベレージの推

    labunix
    labunix 2012/02/27
  • 引数の明示という観点からのPerlモジュール群 | hirobanex.net

    Perlモジュールのバリデーターと呼ばれるジャンルのモジュールなどをバリデーションという観点ではなく、引数を明示するという観点から整理しました。 バリデーターの種類 バリデーターというものは、一般的に引数が期待される型など(整数か、文字列か、URLか、メアドか等)になっているかどうかをチェックするというものです。特に、Webアプリにおけるフォームから入力されるデータのチェックに活用されることが多いです。そういういった意味から、Perlのバリデーターモジュールはフォーム系と非フォーム系に分類することができます。 フォーム系のバリデーター等 FormValidator::Lite CPANにも紹介されている強力なフォームバリデーターです。フォームバリデーターとしては、フォームの型の定義、チェック、エラーメッセージの定義、が必要ですが、やりたいであろうことのだいたいがそろっているモジュールで実

    labunix
    labunix 2011/06/02
    引数の明示という観点からのPerlモジュール群
  • CPAN本には入っていないけど、抑えておきたいフレームワークモジュール群 | hirobanex.net

    今さらながらtomitaさんが執筆された通称CPANPerl CPANモジュールガイド』の感想を、CPAN自体の感想と、CPANに触発されてという感じでメモしたと思います。 CPAN自体の感想 非常にたくさんのモジュールが紹介されていて大変勉強になります。半分以上が使ったことがないです。なので、使ったことがないモジュールをやりたいことに沿って探して使用するというベタな使い方いいです。 あと、ぼくがいいなと思ったのは、使ったことがあるけどマジメにドキュメント呼んでいないモジュールの解説を読んでより理解を深めるという使い方です。 個人的に、CPANモジュールは、モジュール名で検索して出てきただれかのブログ記事を参考にぱぱっと書いたり、ドキュメントのSYNOPSISをぱっと動かしてみて適当に使うということが多いです。それに加えて、英語のドキュメントはなかなかしっかり読むには腰が重くて細

    labunix
    labunix 2011/05/29
    CPAN本には入っていないけど、抑えておきたいフレームワークモジュール群
  • 1