【2023/12/20】【更新】まとめ作成時のツイートの取得や投稿にエラーが表示される場合がありましたが、現在復旧しており正常にご利用いただけます。ご迷惑おかけいたしました。
【2023/12/20】【更新】まとめ作成時のツイートの取得や投稿にエラーが表示される場合がありましたが、現在復旧しており正常にご利用いただけます。ご迷惑おかけいたしました。
Devel::NYTProf は Perl5 の世界でもっとも人気があるプロファイラである。表示が美麗であるし、ステップごとの処理速度が簡単にわかるのでとても便利だ。 そんな Devel::NYTProf であるが、Starlet/Starman のようなプリフォーク式のサーバーでうごくウェブアプリケーションとくみあわせる場合の方法論として、わかりやすい資料がみあたらなかったのでここに記すものである。 環境変数 NYTPROF を設定する Devel::NYTProf は環境変数で挙動を変えられる。 plack とくみあわせる場合には、以下のようにするとよい。 NYTPROF=sigexit=int:savesrc=0:start=no sigexit=int 通常、Devel::NYTProf は END { } ブロックでデータのファイナライズ処理をおこなうのだが、SIGNAL によっ
PSGI/Plack/PSGIアプリケーションを動かす時に一番使われているのは plackup でしょう。 $ cat app.psgi use Plack::Builder; use MyApp; my $app = MyApp->psgi_app; builder { enable 'ServerStatus::Lite', => ..; $app; }; $ plackup -E production -s Starlet --max-workers 30 --port 5000 -a app.psgi plackup コマンドの -s にハンドラ名を指定して起動します。本番環境では -E や $ENV{PLACK_ENV} を指定してStackTraceやLintといった開発に便利なPlack::Middlewareが追加されないようにする必要がありますね。 Starmanの場合は
今日はDBIx::TransactionManager-1.09。1ファイルしかないのでさっくりと。 中では2クラス定義がされていて、DBIx::TransactionManager と DBIx::TransactionManager::ScopeGuard。前者がメインで、後者はスコープガード用のクラス。 txn_begin の中では$dbh->begin_work をしていて、こいつは$dbh->{AutoCommit}を一度無効にして、トランザクションが終わったら自動で$dbh->{AutoCommit} を有効にしてくれるという優れもの。なんだけど、begin_work はネストして呼べないのでそれを可能にするのが TransactionManager のお仕事。active_transactions フィールドがミソになっていて、txn_begin されるごとにここへcalle
2008年06月30日04:00 カテゴリLightweight LanguagesTips perl - use Carp; # warn() と die() だけじゃなくて 以下のエラー処理の方法にちょっと口を挟みたくなったので。 エラー処理を行う。 - サンプルコードによる Perl 入門 warn() vs. die() まず、warn()の使い方。エラーに対して使ってはいけません。warnはその名の通り、あくまでもエラーではなく警告です。エラーの際にはdie()を使わなければなりません。 警告とエラーの違いですが、警告は「続けて処理してもいいけど、これはあなたの意図ではないかもしれません」という場合、エラーは「このままでは処理を続けられません」という場合です。 たとえばperlの場合、抜けた引数はundefなので、数値としては0、文字列としては''として解釈されます。それらをデフ
はじめまして。 最近Perlを始めたmyfinderです。 ほかの方が書いたCPANモジュールを紹介したりそれらを使ったTipsを書くCasual Trackということで、今回はテストに関連するモジュールについて書きます。 プログラムの「テスト」 テストを書くというのはデンタルフロスを使うようなもので、誰もが良いことだといいつつ、実際には軽視されがちだ。 なんて言われることもありますが、実際テストがないとプログラムの改修とか引き継ぎとかが非常に大変になりがちです。 また、CPANにアップされているモジュールの中には、モジュール本体よりもテストコードの量の方が多いものも多々あります。 なのでプログラムの質を保証したり、内容を的確に伝達するにはテストが欠かせないものであることは間違いないと思います。 早速使ってみる 例えば消費税の計算をしてくれるConsumptionTax::JPというモジュ
Perl › モジュール › here Getopt::Longを使用するとコマンドライン引数のオプションを処理することができます。 # モジュールの読み込みと関数のインポート use Getopt::Long 'GetOptions'; コマンドライン引数で次のようなオプションを指定する場合を考えてみましょう。 # コマンドライン引数でオプションを指定。 perl script.pl --enable_cache --max_clients=5 --type=single config.init GetOptions関数を使用すればこのようなコマンドラインオプションを簡単に処理することができます。 # GetOptionsによるコマンドライン引数のオプションの処理 # デフォルト値の設定 my $enable_cache; my $max_clients = 5; my $type =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く