タグ

2009年4月13日のブックマーク (3件)

  • APIとの通信効率をよくする実装例(2) 簡易キャッシュ

    こうして見ると、仮に5分程度ライムラグがあってもさほど影響が無いものが多い、つまり毎度APIに問い合わせるのが無駄とも言えないでしょうか。(毎度通信すべきはなのは、上の表では「高」の部分のみ)。 そこで、APIから取ってきたデータ(XML)を少しの時間だけとっておくのはどうでしょう?(リアルタイム性が高いものや検索結果については毎度通信し、それ以外のものはキープしておき再利用)アクセスしてきたAさん、Bさん、Cさん・・・誰が見ても同じ内容ならなおさらみんなでシェアできれば、通信の数もそれにかかる時間も減るはずです。 このように一定時間データを溜めて再利用するシステムや行為を、キャッシュ(cache ※1)といいます。 どんな言語でも、こんな流れのロジックが書ければ実現できるでしょう。 if ( とっておいたXMLが賞味期限切れ ) { 捨てる; } if ( とっておいたXMLがある )

    APIとの通信効率をよくする実装例(2) 簡易キャッシュ
    kesnke
    kesnke 2009/04/13
  • 3D版!「K-Means法」ビジュアライズしてみた - てっく煮ブログ

    前回の クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた が好評だったので、3D空間でも K平均法をビジュアライズしてみました。ちょっと重めなのでクリックすると始まります。さらにクリックして、1ステップずつ動かしてみてください。3次元にしてみると、宇宙空間のように見えてきて美しいです。前回からは数式の上ではほとんど変わってなくて、2次元空間上での距離だったのが3次元での距離になったぐらいです。K平均法については、前回のエントリ クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた をご覧ください。ちなみに、3次元座標の計算は、Flash 10 から導入された Matrix3D を使っています。ソースは [as]FP10をそろそろ。Matrix3Dとか [NUTSU] を参考にさせてもらいました。Zソートしてないので、たまに奥のものが手前に

    kesnke
    kesnke 2009/04/13
  • C++ のプログラムのデバッグを楽にする方法

    Google が公開しているソフトウェアの解説シリーズ(→その1 , その2)の続きです。今回は google-glog を使ってスタックトレースを表示する方法についてご紹介します。 C++ でプログラムを書いているとよく遭遇するのがセグメンテーション違反というエラーです。不正なアドレスへのアクセスなどによりセグメンテーション違反が起きると、通常、 UNIX 系の OS では SIGSEGV というシグナルによってプログラムが終了するとともに、 core というファイルが作られます。 core ファイルにはデバッガから参照できるいろいろな情報が残っていますが、多くの場合に役に立つのは、スタックトレースという情報です。スタックトレースを見れば、プログラムがどこでクラッシュしたのか、どのような関数を経由してそこにたどり着いたのかがわかります。プログラムがクラッシュした箇所を特定できれば、単純な

    C++ のプログラムのデバッグを楽にする方法
    kesnke
    kesnke 2009/04/13