タグ

ブックマーク / unknownplace.org (3)

  • AnyEvent でバックエンドに EV を使う時の注意 - unknownplace.org

    AnyEvent を利用する際に注意する必要があることに、コールバック中で発生した例外の処理方法がバックエンドに任されている(=例外処理の方法がバックエンドによってちがう)、というのが挙げられる。 Impl::Perl では例外は単純に rethrow されるため、プログラム中で例外が発生したり die したりすると普通にプロセスは終了する。 しかし、Impl::EV の場合、デフォルトでは例外はキャッチされ標準エラーに出力されるものの、そのまま処理は続行されてしまう。 以下のような1秒タイマーをまわしてタイマーが発火したらアプリを終了する、というようなコードがあったとき、 use strict; use warnings; use AnyEvent; my $cv = AnyEvent->condvar; my $t; $t = AnyEvent->timer( after => 1,

    tarao
    tarao 2015/02/25
    自分の書いたコードではコールバックすべてでをラップして例外捕捉して$cv->croakするようになっていてEV::DIEDの出番はなかった。
  • Emacsの設定を見直し、 el-get の distributed セットアップに統一 - unknownplace.org

    いままで秘伝のタレのような設定を使い続けていたのだが、どうもしばらく使っているとEmacsがCPUを非常にうようになってくる。 flymakeの設定かなー?とかほかにもいろいろ怪しげなところを削ってみたりしたがわからず、だましだまし使っていた。 そういう理由もあってEmacs設定をリセットしたいと思っていたので、Emacs実践入門や Advent Calendar を読んでいたら el-get というパッケージマネージャがなかなかよさそうだと思った。 これ、存在自体はまえから知っていたけど秘伝のタレベースな自分は使わないだろうなーとスルーしていた物だが、 ドキュメント(info)を読んでみると思った以上によさげだと言うことが分かった。 Mac 使ってる人にわかりやすくいうなら Emacs 用の homebrew という感じ。 なかでも 6.3 Distributed Setup で紹介さ

    tarao
    tarao 2013/01/22
    「非常にカジュアルに人の設定を試せるのはかなり革命的」
  • GNU screen の裏にいる Window で完了したコマンドを Growl 通知したい - unknownplace.org

    というようなことをつぶやいていたら、 Twitter / hchbaw: @typester 最近になって screen -Q windows とできるようになってますね。 と教えていただいた。 -Q コマンドというのは -X と同じようなものだけど、コマンド結果を screen 内のステータス領域ではなく標準出力で得ることができる。また、-X はつねに実行時にそれ自体がアクティブな screen セッションになるのに対し -Q はアクティブなセッションにクエリを投げる感じで、セッションが切り替わらない。(この辺は理解が怪しいので突っ込み歓迎) それでそれを使うと screen -Q windows と実行することで :windows で echo されるのとおなじ文字列を標準出力で得ることができる。その出力をパースすれば、自分が screen の裏にいるかどうか判断することができるという

    tarao
    tarao 2010/03/31
  • 1