タグ

ブックマーク / bayashi.net (3)

  • エラーメッセージは 2W1H がいいんじゃないか

    良くあるダメなエラーメッセージ エラーが起きたときは、以下のようにエラーメッセージをどこかしらに出力すると思います。 $c->log->error('something wrong!'); ただ、このエラーメッセージって、実際に発生したときには意味がわからないことが多いのです。 $c->log->error('error!'); 気でこういう「error!」とだけ吐くメッセージだと、エラーが起きたことしか伝わってきません。程度の差はあれ意味のわからないエラーメッセージはこの世にあふれているかと思います。 機械的なエラー情報 そういうわけで、たいていは Exception クラスや Logger クラスで多くの補助が受けられるようになっていると思います。 発生時刻 発生場所 stack trace 変数の状態 ただ、このような機械的な情報だけだと、結局、運用上は対応が難しい場面ってのが多か

    エラーメッセージは 2W1H がいいんじゃないか
  • Plack アプリで遅延ロードされるモジュールを見る

    アプリケーションで利用するモジュールは、できる限り先読み(preload)しておきたい。先読みしておけば、アプリケーション全体のメモリ消費が抑えられるし、遅延ロード(Lazy Load)のコストがなくなります。 モジュールの先読みは、例えば以下のように行います。 starman --preload-app MyApp app.psgi or starman -MFoo -MFoo::Bar -MBaz::DBI app.psgi あえて遅延ロードするという場合を除いて、先読みは行って損はないはず(小さいアプリだと、効果は小さいですお ^-^)。 Plack::Middleware::Debug::LazyLoadModules 明示的に use するモジュール群のピックアップはたやすい。なにせ明示されているから。しかし、暗黙に遅延ロードされてるモジュールやライブラリは調べてみると多く見つか

    Plack アプリで遅延ロードされるモジュールを見る
  • Yokohama.pm #8 行って LT してきた

    HTTP::UADetector Yokohama.pm #8 に行ってきました。最近、この 日記+Wikiアプリとか paste.la のログ集計などやっているのですが、User-Agent の判別でちょっと困っていたので、その辺をプロジェクト化したく、LTしました。 スライドは こちら に置きました。@ikasam_a さんには「相変わらずニッチ路線」と評されましたが、静かに推し進めて行きたい所存でありまする。 モジュール体 HTTP::UADetector は github にあげました。とはいっても、完全にアルファです。インターフェースもさらっと書いてみただけであんまし納得してなかったり、テストケースと判別ロジックをセットにして用意したいのだけれど、そのあたりも何も考えてなかったので、大いに変更していくと思います。また、継続的にウォッチしていくサイトは、たぶんこの bayashi

    Yokohama.pm #8 行って LT してきた
  • 1