タグ

2012年2月12日のブックマーク (3件)

  • 損得計算のできない人たち - 川口耕介のブログ

    JDK6では、一部の非ポータブルなcom.sun.* APIを使っていると次のような警告が出る。 /home/kohsuke/ws/hudson/hudson/main/core/src/main/java/hudson/security/LDAPSecurityRealm.java:26: warning: com.sun.jndi.ldap.LdapCtxFactory is Sun proprietary API and may be removed in a future release import com.sun.jndi.ldap.LdapCtxFactory; ^ /home/kohsuke/ws/hudson/hudson/main/core/src/main/java/hudson/security/LDAPSecurityRealm.java:26: warning:

    損得計算のできない人たち - 川口耕介のブログ
    gfx
    gfx 2012/02/12
  • 非対話的デバッガ YouDebug - 川口耕介のブログ

    バグ修正はプログラマの仕事の一つですが、このうちのかなりの時間は問題を再現することに費やされます。 症状からバグの全容が推察できる時もあるのですが、多くの場合には、手元で問題を再現し、更なるデータを集めることによって始めてバグが理解されるからです。しかし、環境に依存する問題などは再現が難しい場合もあります。どうしたらよいでしょうか。 ロギングというのがよく行われる解決・予防策ですが、「デバッガを走らせて変数xの値を教えてくれればいいのに!」と思った事があるのは私だけではないと思います。ロギングと異なり、デバッガは予めプログラムに障害発生を予期するコードを埋め込んでおく必要はありません。また、呼び出し元のローカル変数をアクセスしたり、任意の式を評価したり、あるいは変数の値を変更することもできてしまいます。当たり前ですが、障害分析ツールとしてはデバッガはずっと強力だからです。 ではなぜユーザー

    非対話的デバッガ YouDebug - 川口耕介のブログ
    gfx
    gfx 2012/02/12
  • Mouse::Util::TypeConstraints等を使って新しい型を定義するときのベストプラクティス - 時計を壊せ

    更に追記 MouseX::Typesですが、その後検証してみたかんじ、 要素を「=>」で繋げてしまうと左辺が文字列として認識されてしまうようなので、 要素を「,」で繋げなければいけないようです。 等価だと思っていましたが微妙に違うんですね。 package HogeProject::MouseType; use strict; use warnings; use utf8; use MouseX::Types -declare => [qw/UInt/]; use MouseX::Types::Mouse qw/Int/; subtype UInt, as Int, where { $_ >= 0 }; 1; 追記 id:gfxさんによるとMo[ou]seX::Typesがまさにそんな機能を持っているとの事。知らなかった! http://search.cpan.org/~gfuji/Mou

    Mouse::Util::TypeConstraints等を使って新しい型を定義するときのベストプラクティス - 時計を壊せ
    gfx
    gfx 2012/02/12
    じつはMo[ou]seX::Typesがまさにそういう機能を担っているんです!