タグ

ブックマーク / kaede.to/~canada (3)

  • おさかなラボ - 禁断の快楽・変態キーバインドのお誘い

    増井俊之氏がセミコロンにエンターをバインドしているという話が頭から離れなかった。もういっそのこと彼以上の変態キーバインドにしてしまおう。コンセプトはホームポジションから一切手を離さずに日常の動作を行うこと。使用ソフトはVista以外のWindows用窓使いの憂(以下mayu)だ(Windows Server 2003 Resource Kit Toolsこのようなソフトウェアもあるらしい。thanks>infohack氏)。 まず感想。いざ慣れると、いかにいままで遠いキーに振り回されていたかが痛感できた。ホームポジション近辺だけで文章やコードが打てるのがこんなに快適だとは正直思わなかった。真似したい人は少ないかも知れないが、大げさではなく、当に流れるように文章やコードが打てる。 エンター まず、増井俊之氏の言うとおり思い切ってセミコロンキーをエンターにしてみた。するとこれが想像

  • おさかなラボ - Coroでより賢い非同期クローラを作る

    前回のエントリでは簡単なクローラの作り方を説明した。しかしこのクローラには欠点があり、取得したいURLが何千何万とある場合、一度にhttp_getが走ってしまい、リソースを使い切ったり同じサーバーへのアクセスを待つ間にタイムアウトしたりと都合が悪かった。そこで今回はAnyEventに加えCoroを使うことにより、並列を使ってリソースへの同時アクセス制限を行うクローラの書き方を解説する。 これは前回のエントリの改良版になるので、初めてこれを読む方は当該エントリを先に読んで頂きたい。 まず、前回はAnyEventを使い、condvarとsend-recvを使ってイベントの監視をしていたが、Coroと同時に使う場合これでは都合が悪い。イベントループを回す場合、一般的にAnyEventはrecvを、Coroはjoinを使うが、これらはどちらもイベントループが終わるまでブロックするのでどちらかし

  • おさかなラボ - [perl] $aってなんか特別扱い

    みんな知ってるのかも知れないが、自分は今までちっとも知らなかったので挙げておく。 よく、スクリプトの例示をするのに、 #!/usr/bin/perl $a = 1; $b = 2; print $a + $b; みたいな感じで$aや$bを使う。このなんでもないスクリプトが、なんと驚きの挙動を見せた。なんと、 #!/usr/bin/perl use strict; # ←裸の変数を許さない $a = 1; $b = 2; print $a + $b; としてもエラーが出ない。perlは基的に、use strictを宣言すると、myで宣言されたもの(my $a;)、完全に修飾されたもの($main::a)、輸入されたもの(use vars ‘a’;以外はコンパイルエラーになるはず。しかし、上記の$aと$bはそのいずれでもないのにエラーにならない。一体なぜか。 全然分

  • 1