タグ

2009年6月22日のブックマーク (6件)

  • 浮動小数点数の同値比較には計算機イプシロンを使うこと - Tociyuki::Diary

    コメントのご指摘のとおり Float::EPSILON は相対誤差のため、比較したい f と g の絶対値の大きな方を掛けるように比較条件式を変更しました。ご指摘ありがとうございます。 技術評論社御中。WEB+DB PRESS Vol.51 を送っていただきありがとうございます。 Vol. 51 の特集 1 は Ruby On RAILS を業務システムへ応用するノウハウ満載で、読み応えがあります。 ただ、1点だけ。以下の箇所を補足したいと思います。 浮動小数点問題 業務アプリケーションでよく問題になるのが浮動小数点です。浮動小数点の問題とは、来0、1しか扱えないコンピュータでは一部の小数点を正確に表現できないため、計算を行ううちに誤差が生じてしまうという問題のことです。 その精度は環境によって左右されますが、たとえば筆者の環境では次のような奇妙な結果になります。 > 1.0 - 0.9

    浮動小数点数の同値比較には計算機イプシロンを使うこと - Tociyuki::Diary
    ukstudio
    ukstudio 2009/06/22
    WEB+DB Vol51の特集に対しての指摘
  • つくったLRUHash - moroの日記

    私はid:fistfvckさん(ですよね? お名前確認してなかったのでちと不安)と一緒にコードを書きました。仕様はこんな感じ。 Hashぽいインターフェースが欲しいとの要件だったので[]と[]=をまずは実装(上2つのexample)、その後100個という最大値を挟んでのLRU的機能を実装してみました。実際のストレージは、ふつうのHashへのdelegateで。継承したペアも多かったんですが、私たちは「コレはis-a Hashじゃなかろう」ということで委譲を使ってみることにしました。Forwardableは凄く便利。 このあたりのテストを書いてみると、LRUぽい機能はと=で何かやれば良さそうだぞ、というのが導出されてきます。また、テストを書いてみると、実際のクライアントとしてはcacheされていてnilなのか、そもそもキャッシュされていないのかを見るためにhas_key?系のメソッドも欲しか

    つくったLRUHash - moroの日記
  • Rails勉強会@東京第41.1回にいってきた - ayuminのあまり更新しないBlog

    前回のRails勉強会はインフルエンザ対策のため中止になってしまったので今回は2ヶ月ぶりの開催。 前日にデザインパターン再入門勉強会の主催をしてカナリ疲れたので、あんまり何も考えずに寝ぼけ眼で会場に到着。 到着時にすでに2つのセッションが立ち上がっていました。 参加したのはペアプロ実習。セッションオーナーはt-wadaさん。たまたま同じくらいのタイミングで到着したa_matudaさんとペアを組む。 お題:LRUHashの実装 仕様 要素サイズに限界があるHash。 最も使われていない要素が削除されていく。 ペアプロ開始 まずは仕様をRSpecで書くか、Test::Unitでかくかみたいな話をしたが結局どのペアもRSpecで書くことにしたようだ。 とりあえずlru_hash_spec.rbを作る。 touch lru_hash_spec.rbで、仕様を書くわけだが最近のRSpecでつかえるよ

    Rails勉強会@東京第41.1回にいってきた - ayuminのあまり更新しないBlog
  • Scheme初心者へのアドバイスを書いてみる - ヤドカリデンキ商会(ブログ版)

    id:tsuyoshikawaさんが初めてSchemeのコードを書いた(ここにあるコード)と聞いて「初めてでここまで書けるのはすげー」と思いました。ということで、このコードについて私ができる範囲でアドバイスしてみます。私自身はSchemeプログラマのレベル10でレベル3〜4程度のへっぽこSchemerなのですが。 閉じカッコの位置について コーディング・スタイルは典型的な「自転車置き場の議論」なのでそれほど気にする必要はないと思いますが、一応、触れておきます。 tsuyoshikawaさんは (define (size-of lis) (if (null? lis) 0 (+ 1 (size-of (cdr lis))) ) ) のように書いているのですが、実際には (define (size-of lis) (if (null? lis) 0 (+ 1 (size-of (cdr lis

    Scheme初心者へのアドバイスを書いてみる - ヤドカリデンキ商会(ブログ版)
  • Webシステム開発者に送る便利なテンプレート·Web App Theme MOONGIFT

    正直、Webデザインは苦手だ。システムは構築できても、その後のデザインで行き詰まって頓挫したサービスは数知れない。最近ではWebデザインテンプレートを使うようになったが、汎用性の低いものが多くカスタマイズも困難な場合が多い。 Basecampにも似たWebアプリケーションテンプレート 例えばWebシステムの管理画面を考えた場合、ユーザ向けの画面は気合いが入っているのに管理画面は酷いものが多い。そこで使ってみたいのがWeb App Themeだ。 今回紹介するオープンソース・ソフトウェアはWeb App Theme、テーマにも対応した汎用的テンプレートだ。 Web App ThemeはLighthouse、Basecamp、RadiantCMSにインスパイアされたWebアプリケーション向けテンプレートだ。右上のユーザ情報、タブを使った機能の振り分け、個別のタブの中にさらにセカンダリーのタブを

    Webシステム開発者に送る便利なテンプレート·Web App Theme MOONGIFT
  • Vim-users.jp - Hack #30: 範囲を指定してコマンドを実行する