タグ

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

  • もう一度、ちゃんとJSON入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    僕自身も僕の周辺もJSONをよく使います。でも、細かい点でけっこうミスをやらかしています(苦笑)。このエントリーで、JSONを使う上で注意すべきこと/間違いやすい点をすべて列挙します。 内容 兼チェックリスト: 仕様原典さえ読めば完璧(のはずだが) 数値の前にゼロを付けてはいけない 16進数表記も禁止だよ 数値の前にプラスを付けてはいけない 小数点からはじまる数値はダメ 用語法が違うよ:プロパティとメンバー メンバー名には常に文字列を使う 空文字列""もメンバー名に使える 配列要素はキッチリと並べよう 文字列を囲むには二重引用符だけ 文字列内のエスケープが微妙に違う 仕様にないエスケープは構文エラー undefinedもNaNもありません ラッパーオブジェクトは使わないのが吉 型システムとtypeofに関する注意 最後に 仕様原典さえ読めば完璧(のはずだが) JSONは、小さくて簡単な仕様

    もう一度、ちゃんとJSON入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • JavaScriptのinstanceofは遠慮なしに使っていいものか? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    こんな感じに書いていたんですが: function isNonnullString(x) { return (x != null && (typeof x == 'string' || (typeof x == 'object' && x.constructor == String) ) ); } (typeof x == 'object' && x.constructor == String) の部分は、x instanceof String でもいいわけです。つうか、instanceof演算子が使えるなら使ったほうが望ましいですよね。上のケースではさほど問題になりませんが、instanceofならプロトタイプチェーンを使った継承も見てくれるようだし。 instanceof が使えるのは「JavaScript 1.4 から」らしいですが、version ≧ 1.4 は普通に仮定していいこ

    JavaScriptのinstanceofは遠慮なしに使っていいものか? - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「横道にそれすぎ」に書いた事情で、EmacsでJavaScriptソースコードを読む環境を少し整えようかと。 次の2つのツールを導入してみよう、っと。 js2-mode: http://code.google.com/p/js2-mode/ エグズーベラント(EXUBERANT)Ctags: http://ctags.sourceforge.net/ 内容: より良いEmacs JavaScriptモード -- js2-mode 強烈なタグファイル作成ツール -- エグズーベラントCtags エグズーベラントCtagsを調べてみる EmacsでJavaScriptソースを読む ●より良いEmacs JavaScriptモード -- js2-mode 以前(2006年7月)、ひげぽんさんの記事で、「ecmascript-mode.el < javascript.el みたいだ」と書いてあった

    EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • パッチの作り方と当て方はこうするもんね - 檜山正幸のキマイラ飼育記 (はてなBlog)

    パッチの作り方/当て方を毎回忘れる。だからメモしておこう、っと。単にコマンドのオプションだけでなくて、ファイル/ディレクトリ名とかカレントディレクトリをどこにするかとかで悩むから、これも約束事として決めてしまえ! 例 foo.txt 変更前: first line second linefoo.txt 変更後: first line 2nd line third line hoge/ 変更前: hoge/ +--- foo.txt hoge/ 変更後: hoge/ +--- foo.txt (変更) +--- bar.txt (新規) 単一ファイルのパッチ オリジナルファイルには接尾辞".orig"を付けておく。 パッチを作るときも当てるときも、そのファイルがあるディレクトリで作業。 パッチファイル名は、当該ファイル名.日付.diff。 パッチ作成: > diff -u foo.txt.o

    パッチの作り方と当て方はこうするもんね - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

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

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    e-kuroda
    e-kuroda 2009/04/02
  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1