タグ

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

  • Perl: 文字コードとutf8フラグについて

    文字コードとutf8フラグ Perl において、「文字コード」と「utf8フラグ」は別物です。文字コードの話の中で utf8フラグが語られるので、同じもののように思っている人も多いかもしれませんが、別物です。いや、たとえば同じものだとしても、別物だと思った方が理解しやすいと思います。 文字コード は文字とコードのマッピングに名前をつけたもので、utf8フラグは、Perlにおける文字列の扱いに付随するフラグのことです。 たとえば、以下のようなソースコードをレガシーな感じに EUC-JP で書いていたとして、 my $euc_str = 'ソースが EUC-JP なのでここは EUC-JP'; $euc_str には EUC-JP の文字列が格納されています。 これを、utf8フラッグド(utf8 flag on)にしてみます。 use Encode; my $euc_str = 'ソースが

    Perl: 文字コードとutf8フラグについて
  • エラーメッセージは 2W1H がいいんじゃないか

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

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