タグ

ブックマーク / kwatch.hatenadiary.org (10)

  • RSpec のすごいところ - kなんとかの日記

    (注: 以下の内容は、RSpec ユーザの間で広まっていることでもなく、もちろん RSpec 開発チームの公式な見解でもなく、あくまでワシの個人的な見解です。) RSpec のすごいところは、コードに対してではなく仕様に対してテストを書くことを明確にしたことだと思う。何を今さらと言われそうだけど、今さらになってようやく気づいたニワトリ頭ですまんかった。 ワシも最初は、「assert_equal(expected, actual)」のかわりに「actual.should == expected」と書くかっこよさに目を奪われて、テストコードを自然言語に近い形で記述するのが RSpec のすごいところだと勘違いしてたし、それが「TDD (Test Driven Development)」から「BDD (Behaviour Driven Development)」へという新しい潮流だと勘違いしてた

    RSpec のすごいところ - kなんとかの日記
  • プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記

    まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。 これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml といった静的な言語は軒並み上位に登場する。これに対し、RubyPythonPHP といったスクリプトは全部下のほう (つまり遅い)。その速度差は非常に大きく、このベンチマークで見ると Python3 や Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、PHP にいたっては約130倍遅いことになる。 (ちなみに JIT つきの Lua が驚異的に高速なのが目をひく。この結果が当だとしたら、言語の速度に大きく関係するのは動的か静的かではなく、どれ

    プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記
  • 『使いやすいのは動的な言語だから』というのは間違い - kなんとかの日記

    いやー、おまいらがスクリプト言語大好きというのはよくわかった。よくわかったけど、信者はもっと落ち着いたほうがいい。 mikihoshi 「スクリプト言語の使いやすさ」のかなりの部分はスクリプト言語(動的言語)であることが担保してるんだから、「スクリプト言語並みに使いやすい静的な言語」って命題が無理筋ではなかろうか 2010/04/27 はてなブックマーク - スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記 ちげーよ。動的か静的かということと、使いやすいかどうかはさほど関係ない (多少はある)。 確かに、使いやすさに定評のある RubyPython は動的言語で、その逆に Java は静的な言語だけど、それは RubyPython が使いやすさを最大限考慮して作られたが Java はそうじゃなかった (あるいは Matz や Guido のセンスは

    『使いやすいのは動的な言語だから』というのは間違い - kなんとかの日記
  • スケールアウトには限界がないのか - kなんとかの日記

    cpw 2010/04/27 12:43 アプリケーションサーバは分散が容易とういうことを忘れてはいけませんよ。サーバも安くなってきてますしね。人件費の方が高コストです。 スクリプト言語の息の根を止めるのは案外 SSD かもな - kなんとかの日記 データベースサーバと違い、アプリケーションサーバはスケールアウトしやすい。今の時代、コンピュータの値段は非常に安いから、スクリプト言語の性能が低くてもマシンを買い足せばいいだけ…そういう指摘がコメントに何件かあった。これはこれで正しい。しかし、クラウドの時代だとちょっと話は違うんじゃないかとも思う。 スクリプト言語の性能が低いので、マシンを 4 台に増やしました、あるいは 10 台、20 台、…に増やしました、という程度の話なら、スケールアウトでも別にいいと思う。けど先の Facebook のようにマシン数が 3 万台とか、そこまで行かなくても

    スケールアウトには限界がないのか - kなんとかの日記
  • SSD の風が吹けば Intel が儲かる - kなんとかの日記

    話は変わって: とはいえ、HDDとSSDそのもののアクセス性能を比較した場合は10倍から20倍性能が違うのに対し、実際の業務を想定したOLTP処理性能の比較ではそれが2倍〜3倍程度に収まりそうであるのにはやや肩すかしをらった感じもします。 HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験 - Publickey これはそんなもんじゃないかなあ。データベースではディスクアクセスがボトルネックとはいえ、性能の 90% を占めているわけじゃないからね。 たとえば処理にかかる時間全体のうち、ディスクアクセスにかかる時間が 60% を占めていたとする。ここで SSD によってディスクアクセスが 10 倍高速化したとすると、全体の処理時間は: 40% + 60% * 1/10 = 46% もとの処理時間の 46% になる。SSD でディスクアクセスが 10 倍高速化し

    SSD の風が吹けば Intel が儲かる - kなんとかの日記
    lugecy
    lugecy 2010/04/29
  • スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記

    大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip)... HDDは200スレッドで性能が頭打ちなのに対し、SSDは200スレッドから300スレッドになってもまだ性能は上昇。ただし、300スレッド時にはCPU利用率が100%に近づいており、先にCPU性能の方がボトルネックとなってしまったようです。 HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験 - Publickey 動的なスクリプト言語 (RubyPython など) と静的なコンパイル型言語 (C++Java など) では、だいたい 5 倍から 10 倍ぐらいの速度差がある。それでもスクリ

    スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記
    lugecy
    lugecy 2010/04/27
  • 国内レンタルサーバでの PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた - kなんとかの日記

    国内レンタルサーバで使われている PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた。レンタルサーバの選択基準は特にない。「レンタルサーバ」でぐぐって適当にピックアップした。 最初にまとめとくと: PHP は 5.2.x が主力 Ruby は 1.8.2 が十分現役、1.8.7 が使えるとこなんてごくわずか少しずつ増えてる? Python は 2.3 や 2.4 がまだ現役、2.6 は見つけられずまだまだ少数 Perl は 5.8.8 が主力、5.10 はなし (livedoor ですらそう) MySQL は 5 系が主力だが、5.1 が主力とまでは言えず PostgreSQL は使えるところ自体が少数 なおこの情報は 2010 年 4 月現在であることに注意。 (追記: さくらインターネットで php 5.2.x と ruby 1.8.7

    国内レンタルサーバでの PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた - kなんとかの日記
    lugecy
    lugecy 2010/04/26
  • Python で複数のバージョンをサポートするのがしんどい - kなんとかの日記

    すでに Python 3.1 もリリースされ、また 2.7 のリリースも近いというのに、世の中ではいまだ Python 2.3 や 2.4 が現役で使われている。 たとえば、サーバ用 OS としてよく使われる CentOS 5 では、Python のバージョンは 2.4 である。 またレンタルサーバの xrea.com では、2.3 と 2.4 が半々ぐらい。2.5 はインストールすらされてない。 そんなわけで、Python のライブラリをリリースするなら、下は 2.3 や 2.4 から、上は 3.1 までサポートするのが望ましい。だけど、それをしようとすると Python はかなりめんどくさい。 たとえばデコレータやジェネレータ式やset()が導入されたのは 2.4 からなので、2.3 をサポートしようとすると使えない。 ## デコレータやジェネレータ式は 2.4 以降 @classme

    Python で複数のバージョンをサポートするのがしんどい - kなんとかの日記
  • VCS において Git が革新的な点 - kなんとかの日記

    はっきりいって、Git の CUI は使いづらくてわかりにくい。サブコマンド名やオプションが開発者目線で決められており、ユーザからどう見えるかという視点が欠けている。その点、Subversion はよく考えられて洗練されていたし、それを受け継いだ Mercurial も使いやすい。Linus は Subversion をこき下ろす前に Git のコマンド体系を整理すべき。 ただ、Mercurial などと比べて Git が革新的にすごい点がひとつある。それは、バージョン管理システムに Garbage Collection (GC) の概念を持ち込んだことだ。みんなあまり注目してないと思うけど、こいつはほんとうに kool な機能だ。 GC はもちろんプログラミング言語の分野での概念だけど、そのプログラミング言語の世界では、GC が一般的に使えるようになることでプログラミングスタイルが大きく

    VCS において Git が革新的な点 - kなんとかの日記
    lugecy
    lugecy 2010/04/25
  • 日本語基礎文法最速マスター - kなんとかの日記

    もう何番煎じか知らんけど、日語の文法についてさらっと説明してみる。 日語といっても、技巧的になる詩や小説とかじゃなく、説明的な文章を対象とする。 (追記: 2010-02-06: 全体的に文章を見直し、細部を修正) 主語はおまけ、述語こそ主役 英語では「主語+動詞」のペアが文法の主役だけど、日語では「主語」はおまけであり、「述語」だけが主役である。日語では、主語はあくまで述語を修飾する存在でしかない。 たとえば: I love you. # 主語 + 動詞 + 目的語英語では「主語+動詞」というのは欠かせない存在であり、かつ登場する順番も決まっている(特殊な構文は除く)。 これに対し: - 俺は おまえのことが 好きだよ。 # 主語+目的語+述語 - おまえのことが 俺は 好きだよ。 # 目的語+主語+述語日語では、述語さえ最後に来ていれば、「阿部×三橋」でも「三橋×阿部」でもど

    日本語基礎文法最速マスター - kなんとかの日記
  • 1