タグ

ブックマーク / blog.livedoor.jp/xaicron (3)

  • にひりずむ::しんぷる - perl で復数のプロセスからログを吐くときは syswrite または flock すべし

    タイトルですべてを語っていますし、http://blog.livedoor.jp/sonots/archives/32645828.html あたりを読むと良いのですがメモ。 最初にまとめると CORE::print() を使う場合は 4096 or 8192 byte 以下に収めること CORE::syswrite() なら混ざらない 男は度胸。flock(2)する ということです。 これでわかった人は読む必要ありません。 以下蛇足。 はじめに perl ではファイルハンドルに書き込むときには何も考えずに CORE::print() を利用しますが、この人はなんかいい感じにバッファリングしたり、長い文字列だったらぶった切ってくれたりしてくれます。 で、普通はバッファリングのことはみんな意識しているので以下のようにヒットアンドアウェイをやったりしますね。close() で自動的に flus

    nipotan
    nipotan 2014/07/10
    print() で行単位に吐いて短かめでも多少混ざったことあった。syswrite() 使えばいいのねー。
  • にひりずむ::しんぷる - YAPC::Asia 2010 で発表してきた #yapcasia

    「Web API のすすめ」は割と概念的な話に終始していて、コードベースのもっとゴリっとした話を期待していた人には申し訳ありませんでした。 が、やはり既存の WAF を使っているだけだとわからないことっていうのが多いと思うので、もっと下のレイヤーに降りて、自分で実装するのもありなんじゃないのかなって思っています。 「let's database testing」では、割と見落とされがちなんじゃないかという、DB のテスト方法についてざっくばらんに話しました。ちょっと質的でないことも書いてありますが、重要なのは、「実際に運用される環境に*なるべく*近い環境で、ローカルでテストをする」ってことです。DB テストのほんの足がかりになれば幸いです。 BD テストの話で使ったサンプルのリポジトリは以下になっています。 xaicron's Mayoi at master - GitHub 結構中途半

  • にひりずむ::しんぷる - Perl の __FOO__ キーワードを書き換える

    perl には コンパイル時に決定する、 __PACKAGE__, __FILE__, __LINE__, __DATA__, __END__ というキーワードが存在します。 以下のような hoge.pl を書いて Deparse してみるとコンパイル時に展開されているのがわかりますね! use strict; use warnings; use 5.0100; say __FILE__; say __PACKAGE__; say __LINE__; say __DATA__; say __END__; $ perl -MO=Deparse hoge.pl sub BEGIN { use warnings; use strict 'refs'; require 5.01; } use warnings; use strict 'refs'; BEGIN { $^H{'feature_say

    nipotan
    nipotan 2010/07/12
  • 1