タグ

ブックマーク / la.ma.la (11)

  • JavaScriptにBlogの全文検索をやらせてみるテスト

    JavaScriptBlogの文から検索します。タイトルは含んでません(手抜き) ひらがなカタカナはローマ字のまま検索できます。

  • JavaScript sort benchmark

    これは何?3000件ぐらいの配列をJavaScriptでソートする際の高速化するための実験。要素は複数のプロパティを持つハッシュで、数値だったり文字列だったり。特定キーの数値比較が主。 sort_key: benchmark loop: benchmark: convert to object convert to object2 convert to object3 normal sort bucket sort quick sort marge sort marge sort2 object hack sort custom object sort count toString count cmp qsort count cmp msort count cmp count log Clear 説明 convert to object: ハッシュの配列を特定クラスのオブジェクトの配列に変

  • 最速インターフェース研究会 :: オープンソース版のFastladderが公開されました

    まだまだバグとか色々残ってるかとは思いますが、リリースされました。 http://fastladder.org/ http://blog.livedoor.jp/staff_reader/archives/51181618.html ニュース記事 http://www.itmedia.co.jp/news/articles/0802/07/news032.html http://internet.watch.impress.co.jp/cda/news/2008/02/07/18390.html http://itpro.nikkeibp.co.jp/article/NEWS/20080207/293305/ 元々Railsで動いてたわけではなくて、個人でもインストールしやすいようにコンパクトに書き直したものです。 稼働してるサービスは、他のライブドアのサービスと同様に(良く知られている通

  • 最速インターフェース研究会 :: Shibuya.js #2 でしゃべってきました

    前回に続き、shibuya.jsでしゃべってきました。 プレゼン資料はこちら。諸事情により少しフォントが小さめです。 http://ma.la/files/shibuya.js/techtalk2.html JavaScriptが無効でも閲覧できるように画像に変換しておきました。 いくつか補足 - APIは最初から全部できてるわけじゃなく、必要に応じて拡張していく感じ - 最初はダミーのJSONを読み込ませたりする - プログラマはクライアント側一人、サーバー側一人、の計二人 - UIを作るのは分業できない気がする。 - 「とりあえず動く」状態ものは10日ぐらいで出来た。3月の頭ぐらい。 - プロトタイプを発展させてって、そのまま番用になった。 - APIは今のところPlaggerで使ってる例もあるけど(Plagger以外で使ってる例ないけど)、人間向けのサーバーにアクセスが来るのは良く

    nsyee
    nsyee 2008/01/22
    トリガーのデモ等
  • 最速インターフェース研究会 :: IEの遠隔操作用ライブラリmechanize.js

    先日のShibuya.js Techtalk#2では開発手法の話とかは(前回話したので)あまりしなかったのですが、そういう話を知りたいという人も多いようなので適当に公開していこうと思います。 http://la.ma.la/misc/js/mechanize/ WWW::Mechanizeと似たインターフェースでIEを遠隔操作するライブラリです。htaから呼び出してテスト用のツールを作ったりします。wshからも使えると思います。 機能的には最低限のものしか実装してません。ファイルのアップロードとかはJS側からいじれなかったと思うので多分無理です。 この手のツールではseleniumというのが有名なのですが、多機能すぎて使い方が良くわからないので自作しました。単純な動作確認や連投に使ったりします。 これを使ってアレをナニしたりしているのですがとてもここには書けません。

  • 最速インターフェース研究会 :: 萌ディタとSleipnirとWEBrickを使って人のサイトのCSSをリアルタイム編集するデモ

    Shiubya.js #1で話したネタですが、Winkでデモを作ってみました。 http://la.ma.la/misc/demo/realtime_cssedit.htm エディタとブラウザが並んでて窮屈ですが、実際はこれを20インチワイド液晶縦置きデュアルでやります。 仕組みは、WEBrickでローカルプロキシを立てて、同名のファイルがローカルにある場合は内容を置き換えて表示する、というもので、CSSJavaScriptを編集するのに向いています。 プロキシサーバーはPerlで書かれた同等のものがここにあります。 http://www.ornithopter.jp/archives/2006/05/perl_perl.html 自分が使ってるのは必要に応じて行き当たりばったりに拡張していったりするのですが、現時点でのソースを置いておきます。 http://la.ma.la/misc/

  • 最速インターフェース研究会 :: CPAN最速検索

    作りました。 http://cpan.ma.la/ Firefox用パネル。ブックマークしてプロパティ→サイドバーに読み込む。 http://cpan.ma.la/panel.html 全モジュールのリストを改行で区切ったテキストファイルを受信してクライアントサイドで検索させています。クライアントサイドで検索させているのでサーバー負荷は全くかかりません。 仕組み省メモリ、高速に動作するように工夫してあります。 - 配列に変換せずに一つの巨大な文字列から検索 → 切り出し。 - クロージャで次の検索結果を取得する関数を保持しておいて、描画が必要になった時点で検索を実行。 -- その代わりにトータルのヒット件数がわかりません。 今の所の機能- 上下で選択、エンターでperldoc表示、マウスクリックでもperldoc表示。 - 正規表現がおかしくなければ、そのまま使えます。 -- 例えば \d

  • 最速インターフェース研究会 :: Flashを使ってIMEをオフにする

    Flashのフォーム以外でもFlashを使って制御できるみたい。Opera以外動いた。 サンプル http://la.ma.la/misc/ime_off/ 元ネタ http://d.hatena.ne.jp/brazil/20060730/1154189478 同様のものはググればすぐに見つかるのですが、あくまでFlashのサンプルに過ぎず、使えない感じでした。 FlashProxyは「Flashに何かをやらせるためのツールキット」という感じではなく、 JavaScriptのオブジェクトにFlashのメソッドをくっつけられるといった印象。 特定の目的に特化しておらずシンプルで美しい。MTASCで作られてるのもいい感じです。 Good site ANIME FOI POR TR叩S DA SOMBRA DESSE [url=http://anime-foi-por-tr叩s-da-somb

  • 最速インターフェース研究会 :: AutoHotkeyを使ってFirefoxをリロードするだけのexeファイルを作ってみた

    エディタの保存と同時にブラウザを自動でリロードさせると開発がはかどって素晴らしいよ、みたいな話をしてたら軽く派生したわけなんですが 自動リロードで開発をアジャイルにするたった一つの方法! < 31 < July < 2006 < nulog, NULL::something : out of the headphone http://lowreal.net/logs/2006/07/31/1 hail2u.net - Weblog - CSSファイルを保存すると同時にブラウザをリロード http://hail2u.net/blog/webdesign/save-css-file-and-reload-browser.html WSHやRubyからキー操作を送るって方法だと、操作対象のウィンドウをアクティブにしないとキー操作を受け付けてくれなかったりして(もっといい方法あるのかも知れないけど

  • 最速インターフェース研究会 :: history.backが成功したかどうかを判別する

    今も昔も大変よく使われている古典的JavaScriptの一つjavascript:history.back()なんですが、実際に戻る操作が成功したのかどうかを判別することができません。タブブラウザなんかを使っててミドルクリックで新規タブで開いてたりすると、history.backをクリックしても無反応で何も起こらない、なんてことよくありませんか? そんなわけなのでhistory.backを実行後にページ移動が発生しているかどうかを監視して、戻るに失敗したときに特定の処理を発生させることができるような関数を作ってみました。 function try_back(errback){ var bs = false; Event.observe(window,"unload",function(){bs=true}); Event.observe(window,"beforeunload",func

    nsyee
    nsyee 2008/01/22
    window.onbeforeunloadについて
  • 最速インターフェース研究会 :: JavaScriptにおけるdeep clone

    http://blog.livedoor.jp/dankogai/archives/50957890.html まず、Object.prototypeにメソッドを生やしてしまうとfor inでキーを列挙するときにいちいちhasOwnPropertyを使わないといけなくなるので普通は使いません。影響が大きすぎるので、よっぽど変態的なライブラリじゃないと使わない。他のライブラリと組み合わせるとほぼ確実に問題が起きる。それから、deep_cloneが欲しい場合はJSONを作ってevalすればよい。パフォーマンスを気にする場合とか、浅いコピーが必要な場合はそれなりに工夫する必要があるけど。 で、JSONにするのにFirefoxだとtoSourceというのが使える。unevalというラッパーがあって、これだとnullでも平気。 http://subtech.g.hatena.ne.jp/cho45/

  • 1