タグ

ブックマーク / m-hiyama.hatenablog.com (4)

  • JavaScript用のアサーションを作ってみる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ここで触れたシステム、ある程度は動くので、サンプルを作り始めました。すると、あれまー、随分とバグがあるなー。 これは全面的に僕の監督責任ですわ。そもそもが、 たぶん、こうだから、 おそらく、こうすればよくて、 うまくいけば、あーなるはずだぜ。 みたいな方針しか言ってないし、「防衛コードを書くな」といったアドバイスも説明不足でうまく伝わらなかったようです。 内容: 防衛コード、うざすぎ 防衛と契約(コントラクト)は違うんだよ アサーションを使えばこうなる 安直なアサーションを作ってみる ライブラリコードとビルドシステム ●防衛コード、うざすぎ 防衛コードに関して言えば、歴戦の勇士のような職業プログラマが「俺は誰も信じねー!」みたいなコードを書くわけですよ。 function sum(x, y) { var objectUsed = false; if (x === undefined) {

    JavaScript用のアサーションを作ってみる - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • こいつと話していると頭がグンニャリする - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ウチの長男は、ほんとにワケワカラン。 その1 次男が紙に迷路を描いて「おとうさん、この迷路やって」と。けっこう複雑だったけど、解けました。 長男:「おとうさん、俺も迷路作った、やって」 父親:「…、これさ、スタートとゴールがつながってないよ」 長男:「そうなの」 父親:「これじゃゴール行くの不可能だろ!」 長男:「不可能を可能にするのが男でしょう」 父親:「そうかい、それじゃ、ここに抜け道作って、と」 長男:「あああー、それはズルって言うんだよ、ズル、ズル」 じゃー、どうしろっていうんだ、オドリャ。 その2 長男:「おとうさん、石油採掘って知っている」 父親:「石油を掘ることだろう」 長男:「うん、そう。俺も昔は石油採掘やっていたんだよね」 父親:「昔っていつ?」 長男:「保育園の頃」 父親:「どこで?」 長男:「恵比寿公園で」 父親:「出たのか、石油?」 長男:「出なかった。もう少しだっ

    こいつと話していると頭がグンニャリする - 檜山正幸のキマイラ飼育記 (はてなBlog)
    itengineer
    itengineer 2008/06/10
    超癒された><
  • CPS(継続渡し方式)変換をJavaScriptで説明してみるべ、ナーニ、たいしたことねーべよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    久々にThe n-Category Cafeを見たら、Mike Stayによる"The Continuation Passing Transform and the Yoneda Embedding"なんて記事がありました。 米田埋め込みは圏論ではお馴染み。継続渡しへの変換はコンピュータ・プログラミングではお馴染み。 この2つは、実は同じものなんだよ。なんで、誰もこのことを言わないんだろうね? The Yoneda embedding is familiar in category theory. The continuation passing transform is familiar in computer programming. They're the same thing! Why doesn't anyone ever say so? Mike Stayのこの記事、面白いのだ

    CPS(継続渡し方式)変換をJavaScriptで説明してみるべ、ナーニ、たいしたことねーべよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1