タグ

2009年12月24日のブックマーク (7件)

  • Super Technique 講座~ungetcってどう使う?

    ungetc ってどう使う? stdio.h には、あまり使わない関数も多いが、特にこの ungetc(3) は、特別なテクニックと共に使われるものなので、知らないプログラマは絶対知らないが、使い方を知っているプログラマにとっては、非常に汎用的に使える関数(というかアイデア)なのである。筆者はインタプリタが得意なので、この ungetc(3) は必須アイテムの一つなのである。というわけで、ungetc(3) の使い方を解説しよう。 とはいえ、この ungetch.htm は結構気合いを入れて書いたにも関わらず、アクセスが少ない! 重要なテクニックなんだけど、一般認知が低いな! これがクヤシイので、ここにBNFのちゃんとした解説を入れることにする。前半もちゃんと読むのだぞ! 字句の先読み 単純な数式処理 自然数式処理 lex と yacc 字句の先読み ungetc(3) は文字列をトークン

  • 404 Blog Not Found:javascript - ページはいつ再描画されるか

    2006年09月23日01:30 カテゴリLightweight Languages javascript - ページはいつ再描画されるか 大変に有用な考察だが、一つ重要な指摘漏れがある。 IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 setInterval、setTimeout、イベントによる関数の実行を理解することだと思う ページがいつ再描画されるか、ということである。 未経験者は、document.write()やelement.innerHTML = "foo"のように、ブラウザーに「書き出した」点でそれが直ちに反映されると思うだろう。 ところが、そうではないのである。 実例を見てみよう。以下のscriptを考えてみる。ボタンを押すと、ボタンのラベルが1000から1までカウントダウンした後、元通りになることを意図してい

    404 Blog Not Found:javascript - ページはいつ再描画されるか
  • Firebug で JavaScript の実行時間の計測 | すぐに忘れる脳みそのためのメモ

    1. console.time() で関数の実行時間を測る Firebug で、JavaScript の関数の実行時間を知りたい。 例えば、HTML の pre 要素内で JavaScript ファイルを読み込むとする。 index.html <html> <head></head> <body> <pre><script src="test.js"></script></pre> </body> </html> JavaScript のファイルである test.js の中で、console.time(), console.timeEnd() 関数を使うと、関数が実行される時間を測ることができる。 Firebug and Logging によると、 The low-fi approach is to call console.time("timing foo") before the co

    Firebug で JavaScript の実行時間の計測 | すぐに忘れる脳みそのためのメモ
  • nextindex.jp

    unpush
    unpush 2009/12/24
  • JavaScript クロスブラウザに関するメモ - とみぞーノート

    IEとFireFoxでのJavaScript(と言うか主にDOMまわり)の挙動の違いに関するメモ書き 1.ウィンドウ/ドキュメント関連 1.1 ドキュメントの幅,高さの取得 IE6 document.body.scrollWidth document.body.scrollHeight NN6,FireFox document.width document.height FireFox12ではdocument.width,heightはundefinedになる。 https://dev.mozilla.jp/2011/06/firefox6-backward-compatibility/ によると、このプロパティは標準化されなかったので、FireFox6以降で削除された模様。 かわりに、以下のようにしてサイズを取得できる。 parseInt(window.getComputedStyle(

  • IT戦記 - ベンチマークツール公開

    最近 またしても、JavaScript のベンチマークを取らなければならない仕事が来たので、 ツールをキレイにしました。 それを公開します。(ダウンロードは一番下にあります。) 使い方 script タグで benchmark.js を読み込んで、以下のように連想配列の関数群を渡すだけです。 benchmark({ 'ほげほげの計測': function() { ...... }, 'ふがふがの処理の計測': function() { ...... } }); 結果は以下のように表示されます。 *** ほげほげの計測 *** result : 0.0011[ms] *** ふがふがの処理の計測 *** result : 0.111[ms] 表示された秒数は 関数の中身を一回だけ実行する時間です。 関数呼び出しのコストは差し引かれています。 また、FireBug を使っている場合は benc

    IT戦記 - ベンチマークツール公開
  • 速くてコンパクトな JavaScript 用の sprintf の実装 - latest log

    [javascript][sprintf] で検索してたどり着く方が多いようなので、uupaa-0.7.js から切り出して張ってみます。 /*!{id:"uupaa.js",ver:0.7,license:"MIT",author:"uupaa.js@gmail.com"}*/ window.sprintf || (function() { var _BITS = { i: 0x8011, d: 0x8011, u: 0x8021, o: 0x8161, x: 0x8261, X: 0x9261, f: 0x92, c: 0x2800, s: 0x84 }, _PARSE = /%(?:(\d+)\$)?(#|0)?(\d+)?(?:\.(\d+))?(l)?([%iduoxXfcs])/g; window.sprintf = _sprintf; function _sprintf(fo

    速くてコンパクトな JavaScript 用の sprintf の実装 - latest log