タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

javascriptとJavascriptとprogrammingに関するmiya2000のブックマーク (33)

  • JavaScriptの大きな数と小さな数の仕組みを理解する 〜 IEEE754入門 〜 - 風と宇宙とプログラム

    JavaScriptでの数値はIEEE754で規定されている倍精度型doubleです。符号部が1ビット、仮数部が52ビット、指数部が11ビットの64ビットで表現される浮動小数です。この辺りは、計算機の初歩の初歩で、当たり前すぎて普段は気にすることはないと思いますが、その境界値や特殊系について調べるといろいろ面白いことがわかります。ここでは、JavaScriptを例にしていますが、内容は一般的なもので、IEEE754の浮動小数入門的な話です。 では問題です。 整数として正確に表現できる最大の値はいくつか? 正確に表現できるというのは、n + 1 が確かに n + 1になることとします。n が非常に大きいときには、n + 1 は桁落ちが発生するので n のままです。考える前に実際にやってみましょう。探す n は 0 から 1e+100 の間にあるのは明らかなので、2分法で探索してみます。 fu

    JavaScriptの大きな数と小さな数の仕組みを理解する 〜 IEEE754入門 〜 - 風と宇宙とプログラム
  • JavaScript Syntax探訪 - 枕を欹てて聴く

    blogめったに書いてない... 2.5年で110件... 前々からJSのScannerを読んだりするのが楽しかったのですが, id:miya2000 さんからの「commentを削除するprogram」という話が出たときに, 結局JSのlexerというものは単体では生成できずParserと密着している(主にRegExpとRegExpとRegExpのせいです)ということがわかり, 自分でも書きたいという考えが浮かんできてC++でずっと書いていました. AST構築までできて, jqueryなどをparse成功 + json形式のtreeにシリアライズする程度になったのですが, せっかくなのでLLVMへのbridgeとか検討しています. LLVMおもしろいー. Constellation/iv · GitHub で, Constellation's gist: 387832 — Gist くら

    JavaScript Syntax探訪 - 枕を欹てて聴く
  • JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記

    以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)ことが理解の妨げになっていたように思います. ラムダ計算の構文は, 実際には全く特殊なものではありません. このことがよくわかるように, 「最速マスター」のラムダ計算の簡約の例をすべてJavaScriptの構文で書いてみました. ......という内容になるはずでしたが, 気がついたらラムダ計算のインタプリタをJavaScriptで実装していました! 実際に動かせるものは下記URLにあります. https://tarao.github.io/LambdaJS/#js 動作確認と既知の問題 Firefox 3.6 Google Chrome 4.1

    JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Latest topics > 今更聞けない可変フレームレートなトゥイーンの基本 - outsider reflex

    Latest topics > 今更聞けない可変フレームレートなトゥイーンの基 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « ツリー型タブにアニメーション処理(トゥイーン)を加えつつある Main 立った! フラグが立った! » 今更聞けない可変フレームレートなトゥイーンの基 - Apr 08, 2009 1つ前のエントリに書いた、可変フレームなトゥイーン効果の実装の話。 今時は便利なJavaScriptのアニメーション用ライブラリが色々あるからわざわざ自分で書くような必要はないんだろうけど、自分はほんの一箇所だけのためにライブラリ全部突っ込むというのは気が引けるタイプなので、ピンポイントな実装とその理屈を(雑学として)書いておこう。 先に

  • 空から降ってくる女の子(ゲームっぽく) - os0x.blog

    空から女の子が降ってくる - ぼくはまちちゃん!(Hatena) id:murky-satyr先生 の http://gist.github.com/45346 を勉強目的に読んでたら、自分でも書きたくなってついやってしまった。すごく出遅れ感あるけど、折角なので公開。 <br /> javascript:H='http://hamachiya.com/g';E='.gif';R=Math.random;Q=new Image;Q.src=H+1+E;N=90;P='%';I=0;L=function(Y,r,V,f,S){S=(V=Q.cloneNode(r=R(Y=N)+1)).style;S.position='absolute';S.right=R()*N+P;(B=document.body).appendChild(V);f=function(){Y>2?(S.bottom=(Y

    空から降ってくる女の子(ゲームっぽく) - os0x.blog
    miya2000
    miya2000 2009/01/13
    生半可なことで変態を名乗っていると os0x に dis られるので要注意。
  • JavaScript でカリー化、再び: Days on the Moon

    以前、「JavaScript で引数束縛」において関数のカリー化を試みました。しかし、そこでカリー化された関数は、そのままでは一度しか部分適用ができず、また、最初の関数呼び出しは必ず部分適用として扱われていました。 function mean3(a, b, c) { return (a + b + c) / 3; } // 「JavaScript で引数束縛」における curry 関数。 var curriedMean3 = curry(mean3); curriedMean3(1)(2, 3); // => 2 curriedMean3(1)(2)(3); // => TypeError: curriedMean3(1)(2) is not a function // そのままでは部分適用を 2 回以上行えない。 // curry(curriedMean3(1))(2)(3) なら大丈夫

    miya2000
    miya2000 2008/07/27
    引数の数 Function.length
  • Processing.jsで魚の群れシミュレーション - p4lifeのメモ

    Mozilla の John Resig さんが作った Processing.js をさっそく試してみました.プログラムのネタは今ホッテントリになっている「ほぼ日刊イトイ新聞 - がんばれ森川くんの遺伝子くん」の「群れの知能」に書いてある Boid(birdoid, Bird android)です. Boid は鳥や魚の群れの振る舞いを再現するアルゴリズムで,次の基的なルールからなります.◆ルール1:近くの鳥たちと飛ぶスピードや方向を合わせようとすること◆ルール2:鳥たちが多くいる方へ向かって飛ぶこと◆ルール3:近くの鳥や物体に近づきすぎたら、ぶつからないように離れることhttp://www.1101.com/morikawa/2001-06-25.html群れの中の各個体をこのような単純なルールに従わせるだけで,一見複雑な動きを簡単にそれらしく再現することができます. 「群れの知能」を

  • 日付と時刻の正しい表現方法

    miya2000
    miya2000 2008/05/12
    日付をシリアライズする方法と表示する方法を混同しないように。
  • http://chikura.fprog.com/index.php?UID=1200647817

    miya2000
    miya2000 2008/01/19
    なぜこれがブックマークされていないのかわからない。/「ActionScript 3.0 のすべての値は、プリミティブ値または複合値にかかわらず、オブジェクトです。」
  • Kanasan.JS #2 レポート & 資料: Days on the Moon

    関西での JavaScript 勉強会、Kanasan.JS #2 に行ってきました。今回は 9 時から 21 時という長丁場で、内容は前回に引き続き Prototype.js のコードリーディング。ただし、前回はバージョン 1.5.1.1 だったのが今回からは 1.6.0 を使用ということで、コードリーディングに先駆けて 1.6.0 での変更点に関するプレゼンテーションをやらせていただきました。他の参加者の方々のレポートなどは Kanasan さんの記事経由で読めるかと思います。 フリートーク 午前中はフリートーク及びプレゼンテーションということで、自己紹介の後雑多な話題に。 リファレンス どんな参考文書を利用しているかという話題。とりあえずググって出てきたページという方が結構いるようです。私も検索エンジンを使ったりもしますが、特定のサイトだとこんな感じです。 コア言語 ECMAScri

  • JavaScript第5版読書会#1 - higeorange's blog

    http://cotocoto.jp/event/2880 に参加してきた。 気になったコード js> "hoge".charAt(1) o js> "hoge"[1] o // 実装によってはうごかないらしい。 new String() vs. String() js> typeof("hoge") string js> typeof(String("hoge")) string js> typeof(new String("hoge")) object js> typeof(3) number js> typeof(Number(3)) number js> typeof(new Number(3)) object 文字列 -> 数値 js> "10" - 0 10 js> "10" + 0 100 Array.fill js> new Array(10 + 1).join("*").

    JavaScript第5版読書会#1 - higeorange's blog
    miya2000
    miya2000 2007/11/22
    「undefined にも代入できるから」
  • JavaScript で構文解析: Days on the Moon

    C++ の特徴のひとつである演算子オーバーロード、その粋を極めたのが Boost Lambda (無名関数) と Boost Spirit (構文解析) ではないかと思っています。JavaScript では無名関数が使えるので Lambda に関しては間に合っているとも言えますが、Spirit はそうも行きません。JavaScript 2 で演算子オーバーロードがサポートされるのならチャレンジしてみようかななどと思ってそれきりになっていました。 しかし、一部でパーサブームが起こっているというのを受け、Perl 6 Rules をつらつらと眺めているうち、正規表現のメタ文字を使えば文法定義をきれいに書けるのではと思い至りました。そこで実際に JavaScript でパーサジェネレータを作り、Spirit にあやかって Gin (ジン) と名づけてみました。 文法定義 正規表現リテラルを使うこ

  • JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記

    JavaScript-XPath とは JavaScript-XPath は、 DOM 3 XPath を実装していないブラウザに対して、実用的な速度で動作する DOM 3 XPath のエンジンを追加します。 一言で乱暴に言ってしまえば、どのブラウザでも document.evaluate って関数で XPath 使えるようになるよ!ってことです。 以下が公式サイトになります。 http://coderepos.org/share/wiki/JavaScript-XPath DOM 3 XPath ってなんなの!? めっちゃ簡単(で、ちょっとだけ適当)なDOM 3 XPath の説明をします><。 JavaScript でよく使う document.getElementById や document.getElementsByTagName って関数ありますよね? DOM 3 XPath

    JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記
  • JavaScript とλ式 - あどけない話

    amachangさんの講演資料を観ていて、「ラムダ式も出来る」というページがありました。これに触発されて、少し書いてみます。 amachang さんが挙げていらっしゃる例は「λx.x」で、JavaScript で書くとこうなります。 function(x) { return x; } とても面白い話を示唆しているのですが、この単純な例だと、聴講者に「それなら C/Java でも書けるよ」という印象を持たれてしまいそうです。 そこで、JavaScript では表現できて、C/Java ではできない例を挙げてみようと思います。 funarg 問題 言語がλ式をエミュレートするためには、厳密な条件があるらしいのですが、その一つがクロージャです。クロージャを使った例を使えば、JavaScript ではできて、C/Java ではできないことが示せるでしょう。 私の上司である和田先生に聞いたところ、「

    JavaScript とλ式 - あどけない話
  • JavaScript のワンライナーでカラーコード - IT戦記

    RGB 値が分かってて #XXXXXX を計算するのめんどいなーと思って Firebug でやってみた。 '#' + [76, 84, 105].map(function(i){ return (i >> 4 ? '' : 0) + i.toString(16) }).join('') このくらいならワンライナーで書けて便利ー^^ 追記: 弾さんからトラックバックもらって見てみたけど弾さんはちょっとミスってたので再トラバします。 (function(r,g,b){return '#' + (r < 16 ? 0:'') + (r*65536+g*256+b).toString(16)})(15, 127, 255) http://blog.livedoor.jp/dankogai/archives/50911084.html これだと (function(r,g,b){return '#'

    JavaScript のワンライナーでカラーコード - IT戦記
    miya2000
    miya2000 2007/09/13
    ゼロフィルにはよくsliceを使ってます。<<より優先順位が低い|を使うと括弧が減らせますね。 javascript:alert((function(r,g,b){return '#'+(1<<24|r<<16|g<<8|b).toString(16).slice(-6)})(0,0,0)) / あーこの場合はslice(1)でいいや。
  • Decorative borders and the Canvas

    This is an example on how to use the whatwg canvas element now available in Firefox. All the code here is available without any restriction. You need at least Firefox 1.1 to be able to use this examples. It should look like this.

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

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

    IT戦記 - ベンチマークツール公開
    miya2000
    miya2000 2007/08/23
    100ms以下の処理は100回やって100で割る。すごいな。
  • 404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ

    2007年08月17日01:15 カテゴリ翻訳/紹介Lightweight Languages 怠翻 - JavaScriptでありがちな9つのシマッタ 私自身結構シマッタしちゃうので。 Nine Javascript Gotchas 尻カンマ注意 以下のコードはFireFoxでは動きますが、Internet Explorer (以下IE)では問題になります。 var theObj = { city : "Boston", state : "MA", } 最後にカンマが入らないよう注意しましょう。 浮気なthisは何を見てるやら 以下のコードで、thisは何を指しているでしょうか。 <input type="button" value="Gotcha!" id="MyButton" > <script> var MyObject = function () { this.alertMess

    404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ
    miya2000
    miya2000 2007/08/17
    ie6のメモリリークは直ったんじゃなかった?
  • てっく煮ブログ - 四則演算を JavaScript で実装する

    aki noteGoogle 電話面接を受けました orz (いまは消えてるけど)にて割り算が壊れました。自分で実装してみてくださいという質問が紹介されていた。せっかく(?)の機会なので、割り算だけでなく、四則演算を全部壊してみて、JavaScript で実装して見ることにした。JavaScript を選んだのは、コンパイル不要、ビット演算がある、Firebug で手軽に確認できる、という理由から。それ以上の深い意味はない。ということで、次のような問題に一般化してみた。問い四則演算を JavaScript で実装しなさい。演算子は ==、!= およびビット演算子のみ使ってよいものとします。補足例えば、for 文で for(var i = 0; i { // ... } と書くためには、++ 演算子は次のように定義できる。 function increment(i){ var c =

    miya2000
    miya2000 2007/06/29
    ビット演算