タグ

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

  • にひりずむ::しんぷる - ngrep 便利!

    tcpdump で HTTP みてたら、まさかり族の長に 23:44 hirose31: ngrep -d any -W byline port 80 便利 っていわれてそういえば ngrep とかあったわーってことで大変便利でした。@hirose31++ ちなみに今回は request 側から特定のホストのみに限定してみたかったので $ sudo ngrep -W byline port 80 and host www.google.co.jp とかしたのでした。これで生の HTTP がらくらくみれて幸せ! ちなみに tcpdump では $ sudo tcpdump -l -s 1600 -nxX -i en0 host www.google.co.jp とかやってました。オプションむずいよぉ。 https://twitter.com/muranet/status/3118546330

  • にひりずむ::しんぷる - 復数のカラムでソート

    意外とみんな知らない感じなのかな。そして使う機会が滅多にないので知らなくてOK。 use strict; use warnings; use 5.12.1; use Data::Dumper; my @data = ( ['nekokak', '1130', '1900'], ['nekokak', '1000', '1800'], ['zigorou', '1230', '2000'], ['zigorou', '1130', '2100'], ['xaicron', '1300', '2200'], ['xaicron', '1400', '2330'], ); $Data::Dumper::Terse = 1; $Data::Dumper::Indent = 0; say join "\n", Dumper sort { $a->[0] cmp $b->[0] or $b->[1]

    ouest
    ouest 2012/02/10
    複数カラムでのソート
  • にひりずむ::しんぷる - IO::Prompt::Simple 書いた

    リリースしました にひりずむ::しんぷる - IO::Prompt::Simple 0.01 リリース あらすじ xaicron:> ExtUtils::MakeMaker はロードに1秒ぐらいかかるから遅延ロードにしたた。prompt 使いたいだけなんだけど。IO::Prompt はなんかごついし、今後はコピペでいい気がしてきた。 tokuhir○m:> @xaicron IO::Prompt::Simpleの予感 xaicron:> @t○kuhirom srd! というわけで適当にでっち上げた。 xaicron/p5-IO-Prompt-Simple - GitHub的には ExUtils::MakeMaker の prompt() と同じだけど、第三引数で指定した文字じゃないとダメとか、この正規表現にマッチしたやつじゃないとだめとかを設定できる感じ。 あとは、terminal

  • にひりずむ::しんぷる - 初めての Furl

    巷でとっても速くて便利だねこれってなってる HTTP Client であるところの Furl の簡単なつかい方を紹介します。 そもそも Furl は何かっていうと、perl には LWP っていう超高機能な HTTP Client があって、これがデファクトになってるんですね。 でも、それって結構昔からあって、かつ重厚長大なモジュール群なので結構遅いわけです。とくに CPU 使用率が高い。 そんなわけで、libcurl ぐらい速くて軽い HTTP Client があるといいよねってことで開発されたのが Furl です。 読み方は ふぁーる。 use strict; use warnings; use 5.0100; use Furl; my $furl = Furl->new(agent => 'Madoka-Magica/chu-2'); my $res = $furl->get('ht

  • にひりずむ::しんぷる - 死んでほしくない人のための Sub::Retry

    Sub::Retry はクールでクレバーなモジュールなのですが、retry の条件が exception のみでちょっと悲しかったので、retry 条件をカスタマイズ出来るようにしてみました。すでに取り込まれて、0.03 としてリリースされています。 Sub-Retry-0.03 - FrePAN ユースケース としては、Cache::Memcached::Fast とかで set とか get に失敗したときに retry するとかが挙げられます。 第4引数に coderef を指定することで、retry 条件を変えられます。 retry したいときは、true を返し、そうでない場合は(つまり、成功した場合は)false を返すようにします。default は 以前の挙動と同じです。 coderef の引数は return value と同じなので、その結果如何で処理を切り替えることが

  • にひりずむ::しんぷる - Yokohama.pm#6 x Perl Casual#3 で LT してきた

    ビデオ・オン・デマンドは(VODは略す)制御のための聴衆を容易にしたり、独自の選択とプログラムビデオクリップを決定インタラクティブTVシステムです。顧客が望むプログラムや、時計が表示されたときに決定することができるようにビデオレンタルなどのVOD使いやすさ、。選択科目は、映画のタイトル、テレビシリーズの可能なシリーズは、事実、ビデオストリーミングだけでなく、他のプログラムを示しています。ちょうどその観客は自由にプログラムを格納し、ダウンロードすることができ、見ていません。観客を見てのために既にダウンロードされているビデオのセットトップボックスを活用する、またはPC、携帯電話などを開いて、オーディオとビジュアルコンテンツを有効に電子通信機器の使用を行うことが可能です。いくつかは、支払・パー・ビューペイ・パー・ビューの様々なVODサービスを提供しています。

  • にひりずむ::しんぷる - close STDERR とかしちゃだめ

    close STDERR したあとに subtest やると die してしまう。 subtest の実装は Test::Builder::subtest にあり、そのなかで open( $Testerr, ">&STDERR" ) or die "Can't dup STDERR: $!"; とかいうコードが呼ばれているから死ぬんだけど、そもそも STDERR を閉じるととかしちゃだめ。

    ouest
    ouest 2010/06/14
  • にひりずむ::しんぷる - 結構正確な経過時間の計測

    ある処理が終わるまでの時間を測りたいなーってことがあると思います。 そういう時は以下のようにTime::HiRes::Time()を使う use strict; use warnings; use Time::HiRes qw(time); my $start = time; # 計測したい処理 print $start - time; のではなく、Time::HiRes::getimeofdayとTime::HiRes::tv_intervalを使った方がより正確みたいですね! use strict; use warnings; use Time::HiRes qw(gettimeofday tv_interval); my $start = [gettimeofday]; # 計測したい処理 printf "%.6f", tv_interval $start, [gettimeofda

  • 1