タグ

2010年9月28日のブックマーク (13件)

  • Chapter 14 Spec::Mocks - maeshimaの日記

    あんまり需要なさそうなのでメインブログから引っ越し。mockについて。 14.1 Test Doubles Test Doubleは他のオブジェクトの代わりをするオブジェクト Spec::Mocks double("double") stub("stub") mock("mock") これらのメソッドは全部同じで Spec::Mocks::Mock クラスのインスタンスを作成する。引数の文字列は option 扱いだけれど、 failure message の中で使われるので入れておいた方がいい。 14.2 Method Stubs Method Stub はあらかじめ決めておいたresponseを返すメソッドのこと。 describe Statement do it "uses the customer's name in the header" do customer = double

    Chapter 14 Spec::Mocks - maeshimaの日記
    willnet
    willnet 2010/09/28
    復習用セルクマ/stubメソッドにブロックを渡すことで、条件によって戻り値を変えるstubが作れる/メソッドの引数チェックのwithメソッドに渡すmatcherを自作できる/オブジェクトから呼ばれるメソッドの順番のチェック
  • MySQLのインデックスを学ぶ (2) - @kyanny's blog

    Linux-DBシステム構築運用入門をさらに読んでいる。前回は主に Chapter 8 を読んだ内容をメモったが今回は Chapter 9 の内容。 INSERT とインデックス インデックスが多いと INSERT の性能が落ちる、という話題はなんとなく見聞きしていたが、何故性能が落ちるのかについてはわかっていなかった。詳しくは Linux-DBシステム構築運用入門 P210 の図を見てもらうとして*1、ランダム INSERT よりも昇順 INSERT のほうがインデックスのリーフブロックの仕様効率が良い == インデックスのサイズが小さくなる == バッファキャッシュに載りやすくなる == I/O が減る、というのは知らなかったしとても勉強になった。インデックスを更新するために INSERT でもディスクから読み込みが発生する、というのも知らなかった。 クラスタインデックスとランダム I

    MySQLのインデックスを学ぶ (2) - @kyanny's blog
    willnet
    willnet 2010/09/28
    mysqlの機能でhash化することでアプリ側の対応の手間を軽減。ただしmysqlのハッシュは衝突する確率が高いので元のカラムとも比較する/複合インデックスを使う場合はカーディナリィが高い方の順番を採用するといい
  • カーディナリティ - オラクル・Oracleをマスターするための基本と仕組み

    カーディナリティとは その属性に紐付けられるもののこと カーディナリティ度 (選択度) カーディナリティ度が低いとは、カラムの値の種類がレコード数に比べて少ないことをあらわす。 カーディナリティ度が高いとは、カラムの値の種類がレコード数に比べて多いことをあらわす。 種類の絶対数の多少でなく度合いである。 例えば、子供から大人までの場合、性別や血液型などはカーディナリティ度が低く、身長や体重はカーディナリティ度が高い。同じ長さでも、のサイズなどはカーディナリティ度が低いといえる。 カーディナリティ度の高いカラムへの B-Tree インデックスは検索操作に対して高い効果がある。(しかし、低い場合は逆効果になる) カーディナリティ度の低いカラムへの Bitmap インデックスは高い効果がある。ビットマップのジョインが発生する状況になると効果が高い(しかし、B-Tree インデックスに比べてイン

    willnet
    willnet 2010/09/28
    カーディナリティ度が低いとは、カラムの値の種類がレコード数に比べて少ないことをあらわす。種類の絶対数の多少でなく度合いである。
  • Xmarks終了のお知らせ。2011年1月10日にサービス停止へ : ライフハッカー[日本版]

    デスク配線がスッキリ。Ankerの全部入り12 in 1モニタースタンドが突然8,250円OFFされてた #Amazonセール

    Xmarks終了のお知らせ。2011年1月10日にサービス停止へ : ライフハッカー[日本版]
    willnet
    willnet 2010/09/28
    firefoxとsafariのブックマーク同期ってこれ以外でどうやったらいいんだろ
  • JavaScriptでのテストや開発についてのアウトプット - Block Rockin’ Codes

    最近JavaScriptを個人的に勉強しているんですが、そんなJS初心者ながら色々試すなかで気が付いた開発とかTDDとかについて色々思うところをアウトプットしてみようかと思います。 一番多いのは、ClientSideJSで、使ってるのはjQueryとQunitが中心でした。 でもこれからは別のフレームワークや、ServerSideJSなんかも出てきますし、 今読んでるが終わったら、こっちのも見てみたいと思っているので、 Test-Driven JavaScript Development: Safari Books Online その前にこれを書いておこうという目的です。自分に付ける一つのTagという感じです。 あまり一貫性に拘らず、垂れ流したいと思います。 Ajax と API 以前こんな記事を書いたように、サーバ側がAPIでデータを提供し、ロジックをクライアント側に固めるタイプの開

    JavaScriptでのテストや開発についてのアウトプット - Block Rockin’ Codes
    willnet
    willnet 2010/09/28
    ロジックと表示処理を分けて、ロジック部分のみテスト/コードの質を高めるためのツールについて/外部サーバからのレスポンスのmock化に関する考察(localStrageを使ってmock化する)
  • “動物図鑑”で知るCouchDBの特徴

    “動物図鑑”で知るCouchDBの特徴:ゆったリラックス! CouchDBがあるところ(1)(1/3 ページ) ドキュメントを手軽にWebで公開したいとき、リレーショナルデータベースで実装することに違和感を覚えることはありませんか? CouchDBはそのようなニーズに合った、新しいデータベース管理システムです。CouchDBを知り、リラックスしながら実装をしていきましょう(編集部) CouchDBとは? CouchDB(カウチDB)はドキュメントをデータとして管理し、Webで公開することに最適化されたデータベース管理システムです。CouchDBの“ドキュメント”は報告書、仕様書、議事録といった文書や、名刺、プロフィールといったデータの集合のことを指しています。また、JavaScriptのソースコードをドキュメントの一部として配置することも可能です。 OSSとして一般へのリリースが始まったの

    “動物図鑑”で知るCouchDBの特徴
    willnet
    willnet 2010/09/28
    よくあるkvsの1つかと思ってた/URIによるドキュメントマッピングで、URIに対応したデータをJSONで返せる/RESTfulな形式でデータを返すサーバの構築がCouchDB単体で出来るってことかな?であればすごい
  • アジャイル開発とクラウド(SaaS)利用の位置づけ、SIerの生きる道

    早口の関西弁でつっこみまくって笑いを誘い、でも最後にアジャイル開発とクラウド利用の棲み分けについて「なるほど」と思わせる素敵なライトニングトークのビデオを見つけました。 それはPublickeyでも何度か紹介している9月4日に行われたイベント「XP祭り2010」での、市谷聡啓氏によるライトニングトーク「始まらなかったAgileの話をしよう」です。 アジャイル開発、セールスナントカに敗退す ライトニングトークのあらすじを紹介しましょう。市谷氏がある海岸沿いのSIerにいたころの話。 お客様から「特定の期間しか使わない。できるだけ早く利用したい。ただし仕様は変わる可能性がある」というシステム開発案件の依頼を受け、「これはアジャイルしかないだろう」とお客様に提案。 市谷氏はこの提案で「勝利を確信したなと」。 「ところがこいつが出てきたんですね、黒船ですわ」と思わぬ競合が出現。「具体的に言うとセー

    アジャイル開発とクラウド(SaaS)利用の位置づけ、SIerの生きる道
    willnet
    willnet 2010/09/28
    SIerの開発案件がクラウドによって大きく変わろうとしていること、コアコンピータンスでない部分の開発案件は安価ですぐ使えるクラウドによって奪われていくのだろう、ということが表れていると思います。
  • オープンソースのライセンスとビジネス

    Takuto Wada @t_wada Togetter - 「RT hyoshioka: @ yukihiro_matz 実はなんでBSDライセンスにしなければいけないか理解できない。利益より害の方が大きいと思う。」 http://htn.to/u4dx1F 2010-09-27 12:27:19 Moriyoshi Koizumi @moriyoshit マジレスしていいですか。僕が最近GPLを選択せず、MITライセンスを選ぶ理由、「人生よりコードの寿命のほうがずっと短い」ということ。いくらよく書けたコードも10年あればだめになる。自分の生み出したものから最大限経済的なベネフィットを生み出したいならうるさいこといわないのが一番だ。 2010-09-27 12:28:50 @mikio1978 でも、MITライセンスにすることで得られる経済的ベネフィットって何だろう。サポート契約とかコン

    オープンソースのライセンスとビジネス
    willnet
    willnet 2010/09/28
    勉強になる
  • GPLやMITやCCなど主要ライセンスの内容と意味のまとめ

    WEB制作者にとっての強力な手助けとなる「無料素材」や、PCの作業効率を格段に向上させる「フリーソフト」。WEBの世界では、もはやタダで手に入らないものは無いんじゃないかとさえ思えるほど、さまざまなものが無料で配布・提供されています。 しかしそれらは「使用料金が無料なだけ」であって、「完全に自由に使用する事が可能ではない」のです。 世の中に無料で出回っている画像やプログラムソースやアプリケーションなども、そのほぼ全てが、なんらかのライセンス(使用許諾条件)に添った形で配布・提供されているのです。 著作権を有する制作者人が示す使用許諾条件を守る事は、制作者への敬意であると同時に、意図しない「著作権の侵害」を未然に防ぐ手段でもあります。 しかし、このライセンスというのが、なかなかに分かり難い。コムズカシイ文言の洪水だったり、そもそも英文だったり、GPLとかLGPLとかCCとか略語まみれだった

    GPLやMITやCCなど主要ライセンスの内容と意味のまとめ
    willnet
    willnet 2010/09/28
    わかりやすいまとめ
  • https://asciicasts.com/episodes/151-rack-middleware

    willnet
    willnet 2010/09/28
    すごくためになった
  • オレの持病は釘宮病 » Blog Archive » ブラック企業を超えたダーク企業との戦い #1

    しかしクライアントもエージェントも1円すらエンジニアに払わないスタンス。 これに納得がいかないのでこのブロク+訴訟で納得の行く結果が得られればいいなと思い、 ブログのエントリーを作成しました。 9月末以降にエージェントがお金を払ってくれなかったり、 とある会社がつぶれたり(ざまあwww)すると 団体名が実名に置換される可能性があります。 エージェントやクライアントがある程度お金を払ってくれたりすると blogのエントリーごと消失したりするかも(和解) 働いた分全額とは言わないから30万ぐらい払って欲しいんですよね! 払わないなら俺の書いたコード返せ!!!!! また連載記事になっておりますが、リアルタイムに進行してます。 結果がどうなるかは人にもわかりません。 どうなるかは解りませんが結果はお知らせしたいと思います。

    willnet
    willnet 2010/09/28
    wktk
  • RailsアプリケーションにてClamAVを利用してリアルタイムにウィルス・スキャンを実現する方法 - よかろうもん!

    ファイルのアップロード機能を有するアプリケーションを運用している場合は、ウィルスに感染したファイルがアップロードされることを考慮する必要があります。 もし何も対策していない場合、ウィルスに感染しているファイルがアップロードされ、そのファイルをファイル所有者以外がダウンロードすることで、2次被害が発生してしまうかもしれません。 そのような事態を避けるためにも、ファイルがアップロードされた時点でウィルス・スキャンを実施し、感染ファイルにはなるべくアクセスできないようにすべき構成にすることが望ましいです。 では、ファイルがアップロードされた際にリアルタイムにスキャンするにはどうしたらよいでしょうか? アプライアンス製品や有償のツールを使うことで簡単に実現可能ではありますが、今回は、オープンソース・ソフトウェアのClamAVを利用して、リアルタイム・ウィルス・スキャンを実現する方法を紹介します。

    RailsアプリケーションにてClamAVを利用してリアルタイムにウィルス・スキャンを実現する方法 - よかろうもん!
    willnet
    willnet 2010/09/28
    ファイルアップロード機能があるアプリを作る時に、ウィルスがあるかどうかをチェックする方法
  • 大人のためのInnoDBテーブルとの正しい付き合い方。

    InnoDB関連でよくある質問のひとつに「テーブルのメンテナンスは何をすればいいんですか?」というものがある。InnoDBMySQL 5.5でデフォルトストレージエンジンとなるため、InnoDBのテーブルメンテナンス計画を立ようと思う機会も増えることだろう。そこで、今日はInnoDBのテーブルメンテナンスの各種方法となぜそうしなければいけないかという理由を解説しようと思う。 ANALYZE TABLEテーブルメンテナンスの代名詞といえば、インデックス統計情報の更新ではなかろうか。運用を続けるうちに、知らず知らずインデックス統計情報が狂ってしまい、思うような性能が出ない。RDBMSにはそのような問題がつきものであるが、InnoDBの場合、ANALYZE TABLEは不要である。なぜなら、InnoDBが自発的に統計情報を更新するからだ。InnoDBは以下の条件に適合すると、ANALYZE T

    大人のためのInnoDBテーブルとの正しい付き合い方。
    willnet
    willnet 2010/09/28
    innodbのメンテ方法