タグ

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

  • Windowsは悪なのか?

    matarillo
    matarillo 2013/12/12
    《Windowsを諦めない((これが言いたかっただけw))。》Windowsは悪なのか? - 時の羅針盤@ blog
  • CDIをはじめよう - n-agetsumaの日記

    少し時間が経ってしまいましたが、2013年11月のJJUGナイトセミナーで Java EE 6 から導入されたDI/AOP仕様であるCDIについて話す機会を頂きました。 JJUG 11月ナイトセミナー CDIをはじめよう from Norito Agetsuma 補足 : インタフェースを作るべきか 資料中では『インタフェースを作りましょう』と書いていますが、DIをユニットテストのしやすさを目的に使う場合は実装クラスをそのままインジェクションしても良いと思います。mockitoなどの使いやすいモックフレームワークが出てきているためです。mockitoを使うと、インタフェースをテスト用に実装した"ベタな"モックを作らなくても実装クラスの挙動を変更することができます。 mockitoを使う 例えば、以下のようなシンプルな課金処理サービスがあったとします。 CDIで顧客情報を持ってくるリポジトリ

    CDIをはじめよう - n-agetsumaの日記
    matarillo
    matarillo 2013/12/12
    《DIのためだけにインタフェースを作らなくても良いと思います。》JavaがEoDに向かうのはいい方向と思うよ
  • すごく簡単なアルゴリズムがphpで書けなくてつらい - Qiita

    ある条件でソートされているIDのリストを与えられて、なんとなく近い範囲でマッチングさせたいという要件があった。配列からの任意の要素の取り出しは O(n) だけど、末尾や末尾から固定した範囲の要素に限って言えば O(1) なので、後ろの方からマッチングさせながら要素を取り出していけば O(n) でマッチングできるはず。 なんにも難しいことは無い話で、 Python で書けばこうなる。 list.pop() が末尾からのインデックス (-1 が最後の要素を表す) を許すのが地味に便利だ。 # coding: utf-8 def match(seq, r=100): from random import randint # 奇数個の時に先頭周辺の要素がボッチになるのが嫌なら、先に後ろの方の # 要素を取り除いて偶数にしておくこと. while len(seq) >= 2: # 引数を省略すると末

    すごく簡単なアルゴリズムがphpで書けなくてつらい - Qiita
    matarillo
    matarillo 2013/12/12
    PHPの配列が実は辞書、というのもまあアレだけどさ、配列とリンクリストを同一視するのはLL脳だよね。push/popしたいならSplQueueとかSplStackとかSplDoublyLinkedListを使った方がよいのでは。(試してないから速度とかはわからない