javascript

Lazyと非同期処理

やばい、おもしろいなあ。こういうのはできれば休日にしてほしいよ。http://la.ma.la/blog/diary_200702210356.htmlazy化するところも汎用的に書いたらだめかしらん? Function.prototype.to_lazy = function() { var orig = this; var args = Array.prototy…

JavaScriptセキュリティとWebDAV

http://usrb.in/amachang/static/devsum/ 複数ユーザが 同ドメインを使いユーザが JS を 自由に 記述出来る場合要注意プライベートな 部分はすべて 別ドメインにする ブログのように表示はパブリック、編集はプライベートと完全に分けられる場合は上手く行く…

PlaceEngineのJavaScriptAPIのセキュリティ実装について

PlaceEngineという無線LANから位置情報を得るサービスなんだけれども、このサービス、WiFiから得た位置情報にJavaScriptのAPIでアクセスできるようになっている。Firefoxからも楽勝でアクセスできるのできっとActiveXなんかではないだろうという思い、どうい…

ストレージサービスプラットフォームを活用してPure JavaScriptアプリケーションを作る

まあ何の言語であるかどうかというのは別にこだわってないのですけど、なぜかこのブログ(snippets...)では話題がJavaScriptメインになってたりします。これはおそらく、Webアプリケーションではサーバサイド言語というのはそもそもいくつもあるのに、クライ…

クロスドメインでのデータ読み込みを防止するJavaScript ?

GMailのコンタクトリスト漏洩のエントリのついでに。JSONデータをscriptタグにのせて配信するサービス(JSONPなど)で、限られたサイトのみにしかそのデータを配信しないようにするためには、クライアントが送出してくるリファラ情報を使ってサービスコンシ…

日付時刻の入力を支援するJavaScript

WebページでスケジュールやToDoの完了日などの日付データを入力するのに、カレンダーで日付をピックアップさせるのもいいのですが、「来週の火曜の午後5時」というような自然文に近い表現で指定できたら役に立つかもなと思って作った、どちらかというと実用…

GDataのJSONPとコールバック関数名

GoogleがGDataをJSONでも配信しているわけです。 http://code.google.com/apis/gdata/json.htmlスクリプト埋め込みでのJSON呼び出しをJSONPとは言わずにJSON-in-scriptと言っているあたりは微妙に気になる。まあこっちの方がよりよく実体を表していそうなネ…

非同期処理をシーケンシャルに扱うために

http://hail2u.net/blog/coding/synchronous-requests-to-jsonp.htmlforループなら並列リクエストでも工夫次第でできると思うけど、前後的な依存関係が各リクエストにある場合は、やっぱり直列処理をしなければいけない。2、3段くらいの直列処理ならコールバ…

sort関数によるシャッフルについて、続

トラックバックしてもらった情報によると、さっきのはSchwartzian Transformと呼ばれるアルゴリズムの応用らしい。http://blog.livedoor.jp/dankogai/archives/50614134.html まずは、Fisher-Yates法。コードは最速インターフェース研究会 :: 実践JavaScript…

JavaScriptの配列をsort関数でシャッフルする

あえてsort関数を使う方法でシャッフルしてみる。比較関数自体がランダムな値を返す場合と違って、これなら偏らない。 Array.prototype.shuffle = function() { return this.map(function(a){ return { weight: Math.random(), value: a } }) .sort(function…

dojoのIFrameProxyでクロスドメインでのXML取得

これおもしろいな。http://dojotoolkit.org/~jburke/XHRIFrameProxy.htmlXMLHttpRequestがドメインの壁を越えられないのは悲しい事実。すべてのブラウザで改善されるのを待つのはひどく気の長い話だし、そもそもそうなってるのにはそれなりの理由(セキュリ…

del.icio.usのリコメンデーション生成

del.icio.us ブックマークから、訪問者に対して適切なリストを抽出してリコメンデーションを行うスクリプト。http://www.geocities.jp/stormriders999/delview_ja.htmlじつは、もうすでに半年くらい前に作って公開してたのだけど、あまりパーソナライズされ…

JavaScriptオブジェクトを視覚的にデバッグする

以前JSONサービスからオブジェクトを取得して表示するテストツールを作ったのだけど、表示部分の実装を少々作り直してまとめました。debugobj.js 使い方: var obj = { a : "hello", b : "javascript", c : [ [ "c11", "c12" ], "c2" ] };のようなJavaScript…

住所情報を抜き出してGoogle Mapsへのリンクを張るブックマークレット

何も元となる住所情報は使わずに、正規表現のみで住所を本文から抜き出している。それなりの精度ではあるけど、誤爆も多い。WindowsではIE6およびFireFox1.5で、MacではFireFox1.5、Safari2.0で動作を確認済み。正規表現のところはいろいろ改良可能かも。 (f…

JSONでデータを受信する方法

#JSONタグのブックマークフィードに引っかかったhttp://web.sfc.keio.ac.jp/~t03792sh/archives/2006/07/json.html というわけで、JSONを静的/動的(ajax)に読み込んでみた。 静的に、つまり

dojo toolkitのScriptSrcIO

dojoの0.3.0に、動的スクリプトロードを使ったクロスドメインのJSON読み込み(ScriptSrcIO)が組み込まれているらしい、というのを聞いたので、ちょっと試してみる。これはnightlyのテストページだけど、実際に0.3.0のパッケージにはScriptSrcIOはもう入ってい…

JavaScriptからJSON形式のWebサービスを呼び出す

Yahoo! や del.icio.usなど、JSON形式でコールバックに対応しているサービスが多いので、動的に呼び出すための JavaScript オブジェクトを作成してみた。 var JsonWebServicesStub = { requestCounter : 0, responseCallbacks : [], headElem : document.get…