タグ

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

  • Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late

    JavaScript ではよくある、こういう書き方。 一応説明すると、これは実行時に外側の無名関数を実行します。外側の無名関数は返り値として、内側の無名関数を返し、変数 counter には内側の無名関数が代入されます。 これの何が嬉しいのか。 counter 関数が内部に持っている変数 i は隠蔽されており、外から変更できない。 グローバル空間の汚染は counter 1 つだけ。 といったところでしょうか。とにかく、 JavaScript 脳の人はこういう感じのコードをよく書いている気がします。 JavaScript にはオブジェクト指向によくある protected や private といったアクセスレベルを制御する機能が無いため、これの応用で内部の変数やメソッドを隠蔽することが多いです。 Prototype や jQuery でもそういった使い方がされています。 このように、 J

    Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late
    kiyo_hiko
    kiyo_hiko 2012/03/13
    書き捨てならdoで「$kuro=do{my $n=0;sub{++$n}}」、複数インスタンスならsubで「$kuro=sub{my($n,$name)=(0,$_[0]);sub{(defined $name?$name:'Anon Kuro').' says '.++$n}};@kuro=map{$kuro->($_)}(qw/foo bar/, undef)」とかかな モヤッとする
  • PHP のマジックメソッドによる動的 Observer Pattern | Born Too Late

    2010-03-07 15:30 追記 Observer Pattern について調べ直してみたところ、一般的な Obsesrver Pattern と、以下のコードは似て非なるものであることに気づきました。 このエントリは GoF パターンの教材にはなり得ないので、その点に注意してお読みください。 入浴中にふと思いつき、書いてみたコードを紹介。 Observer Pattern については詳しく紹介しないので、興味のある方は WikipediaObserver パターンの頁をご覧ください。かくいう私自身も、いわゆる GoF パターンとしての Observer Pattern を暗記しているわけではないのですが、Observer Pattern 的にはなっていると思います。 Notifier.php 監視者にメッセージを送る通知者クラス。 class Notifier { priva

    PHP のマジックメソッドによる動的 Observer Pattern | Born Too Late
  • 小さなチームでの Redmine 運用で気をつけている 3 つのこと | Born Too Late

    日々なんとなく利用している Redmine ですが, ここらで一度振り返ってみることにしました. 一応一般論のつもりで書いていますが, 前提として以下のような環境を想定しています. メインとなるメンバーが 5 名前後の小規模なプロジェクト そのうち何名かは非エンジニア 目新しい話は無いと思います. 様々な機能を使い倒していたりもしません. あまり学習・運用コストをかけずに, いかに効率よく使うか, という方向性です. ルールは少なく チームの全員が Redmine に対して肯定的であることは稀です. Redmine よりもメールや Excel で管理したい, という信じられないことを言う人も少なくありません. そんな人たちも含むであろうチームで Redmine を楽しく運用するには, とにかくルールを簡単にすることが大事だと考えます. 優先度, 予定工数, カテゴリなど, 記入できる項目は

    小さなチームでの Redmine 運用で気をつけている 3 つのこと | Born Too Late
    kiyo_hiko
    kiyo_hiko 2011/07/08
    Excel信者も混じった状態で、小チームで少しずつTiDDに移りたい時の事例として。はじめからRedmineの機能使いまくってみせて、こんなにすげーYO!と言ってもかえって引かれることも確かにありそうだし、気をつけとこう。
  • 1