タグ

ブックマーク / perl-users.jp (8)

  • proveをうまく使ってテスト実行を効率化しよう - Articles Advent Calendar 2010 Casual

    こん(にちは|ばんは).最近は卒論でC/アセンブラ,アルバイトでPerl/Objective-Cと高低レイヤーを行ったり来たりなyaottiです. このエントリでは,テストを実行する時に便利なproveコマンド(App::Prove)の便利な機能+αについて紹介します. 基的な使い方 prove t/foo.t のようにして使います.perlと同じように-lや-Idir,-v, -MModule::Nameなども使えます. prove -l -Ilib -v t/foo.t 他にも,-Pオプションでプラグインを利用することもできます. 例えばmotemenさんの書いたApp::Prove::Plugin::ProgressBar::Eachは大量のテストを実行するときに便利です. cpanm https://github.com/motemen/App-Prove-Plugin-Prog

    proveをうまく使ってテスト実行を効率化しよう - Articles Advent Calendar 2010 Casual
  • Win32::APIでPerlの中に直接機械語を書いてるときのデバッグ - JPerl Advent Calendar 2009

    Win32::APIPerlの中に直接機械語を書いてるときのデバッグ - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? まえおき というわけで、Perlで機械語を埋め込む技を応用すると、ActivePerl で stdcall な通常のDLL関数だけでなく、MSVCRT.DLL に含まれる sprintf のような可変長引数の cdecl な呼び出し規約の関数も利用できます。 #!/c/perl/bin/perl use strict; use warnings; use Win32::API; #include my $EnumWindows = Win32::API->new( "user32", "EnumWindows", "NN", "N" ); my $GetProcAddress = W

  • トランザクションについて - JPerl Advent Calendar 2009

    トランザクションについて - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちわ! Yappo です! 2十日目は Data::Model でのトランザクションの使い方です。 トランザクションについての説明は省きます。 http://e-words.jp/w/E38388E383A9E383B3E382B6E382AFE382B7E383A7E383B3.html このあたりを読めばいいんじゃないでしょうか。 早速試しましょう。 ちなみに実験するときはトランザクションに対応しているRDBMSを使ってください。 MySQL の場合だと MyISAM でためしても MyISAM がトランザクションに対応していないのでいみがありません。 InnoDBで試しましょう。 なお、 install_model 

    nurai
    nurai 2009/12/23
  • バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009

    バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめまして。nobjasと申します。 今日はあまりにもネタがないために、 バカな僕がやっと最近使うことが出来たPSGIとPlack::Requestの使い方を書こうと思います。 基的な構造はmiyagawaさんのPlack Advent Calendar(http://advent.plackperl.org/)などで 紹介されているので、頑張って英語を読んでください(笑 基的にはPSGIはリクエストとレスポンスの形式の規約みたいなものです(と思っています)。 それを実装するのがPlackという訳ですね。 そこで、まずは Plackでリクエストを受け取ってレスポンスを返すCGIスクリプトを書いて見ましょう。 us

  • Qudoで簡単ジョブキュー処理を実施する - JPerl Advent Calendar 2009

    Qudoで簡単ジョブキュー処理を実施する - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 題 Qudoは既存のジョブキューシステムを使ってみて思ったいくつかの要望を 実現する目的で作成しました。ポイントは拡張性と使いやすさです。 まずは、簡単な例から初めてみましょう。 Advent Calendarということで、クリスマスにプレゼントを願う子供と それを届けるサンタクロースを再現してみたいと思います。 QudoはデータストアにRDBMSを用いています。 そのため、使用する際にはあらかじめDBを作成する必要があります。 現在MySQL,SQLite,PostgreSQL(多分)に対応しています。 各DB用のスキーマファイルは「http://github.com/nekokak/qudo/tree/ma

  • Inline::x86でPerlの中に直接機械語を書く - JPerl Advent Calendar 2009

    Inline::x86でPerlの中に直接機械語を書く - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 前置き こんにちは、id:TAKESAKOです。最近コロプラにハマるようになってきて近郊遠方の国内出張が楽しくなりました。JPerl Advent Calendar 2009 Hacker Trackも9日目ですね。そろそろPerlのソースを読むだけでは飽き足らずx86の機械語を書きたくなってきたんじゃないでしょうか。そんなわけで、今日は稚拙のInline::x86を紹介します。 題 皆さんの中にはよくx86を書く方もいらっしゃると思いますが、x86機械語を含むコードインジェクションは実行環境の設定が結構大変ですよね。Linuxのシステムコールmprotectを呼び出して実行ビットを追加で指定した

    nurai
    nurai 2009/12/10
  • Devel::NYTProf - モダンなPerl入門 - モダンなPerl入門

    開発がひととおりすんだが、なぜか速度がでない。そんなときにはプロファイラの出番です。 Devel::NYTProf をつかえば、プログラムのどこで時間がかかっているのかがまるわかりになります。 使い方は簡単です。 perl -d:NYTProf target.pl nytprofhtml とするだけ。 mod_perl にも対応しています。 なにより Devel::NYTProf の出力する HTML がカッコイイのがポイントですね。 目次へ Last modified: $Date: 2008-05-22T09:21:23.154313Z $

  • XS code template - 動的にXSUBを生成する - エキスパートPerl - Perl-users.jp

    XSコードはふつうPerlコードよりも多機能で高速ですが,書くのが難しいため敷居が高いことも事実です。また,いちいちコンパイルしなければならないのも煩わしい点です。 ところで,Perlにはクロージャという仕組みがあり,動的にコードを生成することができます。したがって,XSでクロージャに等しいことを実現できれば,XSコードの煩わしさを避けつつXSの利益を享受することができます。 なお,この文書はXSによるコード例を解説していますが,XSそのものについては解説しません。 XSについてはperlxstutやperlxs,perlapiを参照してください。 クロージャの分析 まず,Perlのクロージャを分析します。Perlのクロージャは以下のようなものです。 sub make_accessor{ my($name) = @_; return sub{ $_[0]->{$name} }; } my

  • 1