タグ

javascriptに関するclonedのブックマーク (445)

  • 最速インターフェース研究会 :: 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/

  • 最速インターフェース研究会 :: Firefoxでの開発を高速化する自動リロードスクリプト

    以前にも書いたとおり萌ディタとSleipnirAPIを駆使して、htmlその他ソースファイルをいじると保存のタイミングに合わせてSleipnirのアクティブタブがリロードされるようになっているわけなのですが、近頃Firefox1.5をメインに使うようになってしまったのでFirefoxでも上手く動くようにしようという話。 もちろん自動リロード機能を提供する拡張があるのは知ってるんだけど、編集のタイミングと関係なく1秒ごとにリロードさせたらせわしなくて仕方ない。あくまで保存のタイミングに合わせてブラウザを更新したい。 最初は萌ディタからFirefoxにコマンドラインでブックマークレットを渡すというのをやってみたのだけれど、どうにも手元の環境では上手く動かない。新しいタブでブックマークレットを開いてしまったりする。WSHでFirefoxにフォーカスを合わせてF5を送るとかもやってみたんだけど萌デ

  • headタグベンチ - cloned.log

    「あなたのページを最速にする14の掟」と「High Performance Web Sites」のこと || パフォーマンス・チューニングBlog: インターオフィス これ(もしくは原文)を読んだことのある人は多いと思うけれども、どうも「Move JS to the bottom」がまだまだ普及していないように思う。 何を速くするべきかを考えるならばscriptタグを下に持ってゆくことこそまずやるべきだと思う。 ユーザーが体感する速度で重要視されるのは何だろうか。自分としてはまず描画することが何よりも重要だと思う。特に検索エンジン等から初めて訪れた人は、どんな色でどんなロゴで何ができるサイトなのか、というようなことを無意識に心待ちにしていることだろう。そんな中でheadタグ内でscriptの読み込みをしている時間というのはとんでもないロスではないだろうか。描画しないと何も判断できないのだか

    headタグベンチ - cloned.log
  • IEにFirebugの機能を提供する - "DebugBar"登場 | エンタープライズ | マイコミジャーナル

    DebugBarの動作例 - DebugBarサイトから抜粋 Webアプリケーション開発に必須のツールといえばFirefoxとそのエクステンションFirebugだ。その機能は驚くべきものがあり、もはやFirebugなくてはWebアプリケーション開発はできないと考えるデベロッパやデザイナは少なくない。 エクステンションが豊富に用意されているFirefoxだが、ほかのWebブラウザでも似たような機能を提供するものがある。ここでは先日新しいバージョンが公開されたDebugBarを紹介したい。DebugBarはIEを対象として開発されたツールで、Firebugの機能をIEでも実現することを目指している。 今回公開されたバージョン(5.0 beta 1)では新しくDOMタブが追加されている。DOMツリー上のノードが選択されると、Source/Style/Comp.Style/Layout/Attrs

  • 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戦記
  • Safari 3 の XPath のバグ: Days on the Moon

    Mac OS X v10.5 Leopard 上では一足早く正式版が公開された Safari 3。JavaScript でのゲッタとセッタのサポートや DOM 3 XPath の実装など、新機能が山盛りです。しかし、Safari 3.0.4 の DOM 3 XPath 実装にはいくつかバグがあるので、それらをここで取り上げてみようと思います。 逆方向軸に関するコンテキスト位置 XPath 1.0 では、式を角括弧で囲んだ述語を用いることで、ノードセットから結果を絞り込んでいくことが可能です。例えば、child::*[position() mod 2 = 0] なら、子要素のうち偶数番目のものだけを選び出すといった具合です。 ここで、position 関数により得られるコンテキスト位置は、元のノードセットを文書順で並べ替えたとき、現在処理中のノードが何番目になるかを示しています。ただし、an

  • 【インタビュー】Firefox 4のJavaScriptは超速い! - John Resig氏、jQueryとTamarinを語る (1) Tamarinの寄贈から1年、Firefox 4とFlash10でお目見え | エンタープライズ | マイコミジャーナル

    米Mozilla、JavaScript EvangelistのJohn Resig氏 Adobe MAX Japan 2007やユーザコミュニティなど、いくつかの講演を目的として来日したJohn Resig氏に、将来のFirefoxで搭載されるJavaScript実装やjQueryについて所見をいただいた。John Resig氏はMozillaでJavaScript Evangelistを務める人物。jQueryのメイン開発者でもある。業務ではMozillaでJavaScriptコミュニティとの調整役を務め、夜間や週末はjQueryの開発に没頭している。同氏が見るJavaScriptの未来はFirefoxのみならず、ほかのWebブラウザにとっても重要なものだ。 Tamarinの寄贈から1年、Firefox 4とFlash10でお目見え ちょうど1年ほど前の2006年11月7日(米国時間)、

  • ianime.jsの高速化

    先日公開した、iPhone/iPod touch用アニメーション・ライブラリ「ianime.js」、夕べながらもっと早くできそうなアイデアが浮かんだのでちょっとトライ。これが思い通りの効果を出して、50個のアイコンを特別な効果なしに動かした時のフレームレートを11fpsから15fpsに改善。 iPhone/iPod touchのJavascriptの実行があまりに遅いので、ちょっとでも余計な条件判定やファンクションコールが入るだけで格段に遅くなる。そこを上手に避けながら、かつさまざまなオプション機能を提供する、というのはなかなか難しい。 ちなみに今回のデモは、アイコンの落ちるスピードに少し変化を持たせたベンチマーク。これだとその変化の分だけ遅くなり14fpsほどだが、ちょっとした落ちゲー(「さめがめ」とか「bejewlled」)の効果には十分。「連鎖」だってこなせる^^。 http:

  • TAKESAKO @ Yet another Cybozu Labs: 出張 Shibuya.js 24 動画アーカイブ公開

    空前の技術系イベント動画公開ブーム到来、ということで、 2007年9月15日(土) に開催された 出張 Shibuya.js 24(Mozilla 24 ~ Worldwide Continuous Event ~) の動画アーカイブが公開されました。 お待たせいたしました!9月15日~16日に開催されたMozilla 24 の各セッションアーカイブを公開しました。日語、英語の両方が用意されています。 当日は日国内だけでも四つの会場で同時並行で行われていたため、見られなかったセッションもあるかと思います。ぜひこれを機会にサイトを訪れていただければと思います。 アーカイブ公開は、約半年間、2008年4月末まで行われる予定です。この機会をお見逃し無く。。。 Shibuya.JS内の 全セッションが一つの動画(約1時間50分)にまとまっているので、 各セッションの開始時刻を記載しておきました

  • わずか565バイトテトリスのプログラミング解説

    「往年の名作「スーパーマリオブラザーズ」、あの濃い内容でわずか40キロバイト」に載っていたわずか565バイトのテトリス。文字数にして551文字。79文字*7行のプログラミングで、テトリスが動きます。 以下のソースコードをメモ帳に貼り付けて、htmlで保存すればテトリスが動きます。 <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){fo

    わずか565バイトテトリスのプログラミング解説
  • CodeRepos に nobjdb.js 追加 - 最速チュパカブラ研究会

    http://coderepos.org/share/browser/lang/javascript/nobjdb CodeReposに「nobjdb.js」というファイルを追加しました。これは、「syobocalplus」のタイトル検索のルーチンを抜き出し、ライブラリ化したものです。 オブジェクトの集合の中から、文字列検索の結果によって部分集合を抜いてくる処理…… と言うとわかりにくいですが、要するに 購読しているフィードのリストの中をタイトルで検索する(例: LDR) タグクラウドの絞り込み検索(例: はてブ) などという処理です。これを素朴に実装すると for (var i in list) if (list[i].name.indexOf(keyword) >= 0) { // マッチ! } という感じですが、nobjdb.jsでは、ひとつの文字列にタイトルをすべて突っ込んで、 タ

    CodeRepos に nobjdb.js 追加 - 最速チュパカブラ研究会
  • IEの気持ち(深入り編) - 最速チュパカブラ研究会

    昨日の続きです。昨日の記事がまったくデタラメだとさすがに気まずいので、Invoke が呼ばれてるよ、という事実ぐらいは確かめようと思いました。私はバイナリアンではないのですが、がんばってMSHTMLの中を追ってみることにします。 まず、C++からIDispatch::Invokeを呼んだ場合と、Javascriptから window.document を参照した場合の2つの処理が合流するところを探しました。 ↑ここです。 スタックの中を覗くと、引数が見えます。 window.document の dispid(呼び出したいメソッドのID)である0x47fが確認できます。 では、ここにブレークポイントを仕掛け、amachangのハックをしない状態で、以下のコードを実行してみます。 alert(document); するとブレークポイントがヒットします。 dispid は 0x47f なので、

    IEの気持ち(深入り編) - 最速チュパカブラ研究会
  • IEの気持ち - 最速チュパカブラ研究会

    amachang史上最多のブクマ数をマークした例のwindow.documentの高速化に関して、便乗してちょっと書いてみようと思います。 基礎知識 ブクマコメントで 2007年10月11日 b:id:staki vbやった事ある人なら自然に沸く発想だったりする。理屈も同じなんじゃなかろうかと妄想。五倍ってのは中々無かったけど。 * と指摘されているのは、たぶんCOMまわりの事だと思います。御存知のように、Windowsはシステム内のあらゆる部品をCOM(Component Object Model)オブジェクトとして実装しており、IE内のxxElementやDocument、Window、そしてIE自身もCOMです。 で、javascriptでよくやる window.document という操作も、(amachangのテクニックを使っていない場合は)COMを通して行うことになります。この

  • Rhino - MDC

    Rhino はすべてが Java で記述された JavaScript のオープンソースな実装です。それは一般的には、Java アプリケーション環境へ組み込まれて、エンドユーザーによるスクリプトの記述が可能になります。J2SE 6 ではデフォルトの Java スクリプティングエンジンとして組み込まれています。

  • Java and JavaScript | WebLog about me.

    Book: OpenDSのインストール 8 weeks 5 days agoBook: OpenDS 8 weeks 5 days agoBook: 多階層 vs 単階層, JMeterによる負荷テスト  9 weeks 2 days agoShutdownHook 10 weeks 1 day agoBook: 階層化のまとめ 多階層 vs 単階層 10 weeks 2 days agoBook: EJBを用いた多層化のモデルについて 10 weeks 2 days agoBook: トランザクション 10 weeks 2 days agoBook: PersistenceContextによるEntityManagerのインジェクション 10 weeks 2 days agoBook: DAOの追加 10 weeks 2 days agoBook: 浅い階層化 JSF - JPA 10

  • IT戦記 - 一行で IE の JavaScript を高速化する方法

    以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -

    IT戦記 - 一行で IE の JavaScript を高速化する方法
  • javascriptをoffにするとmixiが劇的に軽くなった。

    javascriptをoffにするとmixiが劇的に軽くなった。 先日のエントリーでも書いたとおりmixiでは非常に多くのjsライブラリを読み込んでますが、javascriptをoffにするとどれくらい軽くなるのか調べてみました。 調べたページは例の日記投稿画面。 javascript onの場合 363個のリクエストで607KB(548KBはキャッシュから)で11sかかっています。 ※読み込んでいるjsライブラリが修正されたようです。(2007/10/11) javascript offの場合 69個のリクエストで197KB(126KBはキャッシュから)で2.77sかかっています。 結論 JavaScriptをoffにすると単純計算で4倍の早さになります。 またmixiはjavascriptをoffにしても、私が普段利用している機能のほとんどは問題なく利用できます。 (ほとんど利用してな

    javascriptをoffにするとmixiが劇的に軽くなった。
  • JavaScript から MML を再生する - JSMML - 2nd life (移転しました)

    http://coderepos.org/share/wiki/JSMML テキスケ: ActionScript日記 - サウンドのリアルタイム生成(4) で公開されている、Flash から MML を再生できるライブラリ、 FLMML が素晴らしすぎるので、JavaScript からも再生できるようにブリッジを書いてみました。ライブラリ名は JSMML(まんま)。 JSMML を使うと、SWF を経由して JS な API から MML を再生できるようになります。 <script type="text/javascript" src="JSMML.js"></script> <script type="text/javascript"> JSMML.swfurl = 'JSMML.swf'; // default // onLoad に関数を入れておくと、SWF のロード完了時に呼ばれ

    JavaScript から MML を再生する - JSMML - 2nd life (移転しました)
  • Loading...

  • 内容に合わせて伸縮するテキストエリア - FAX

    JavaScript追記 miya2000の日記 - 「内容に合わせて伸縮するテキストエリア」を Opera にも id:miya2000さんが、クロスブラウザに書き換えられています。GJ!こっちで!! デモビデオは以下(12秒)。 ユーザーが自分でリサイズできるテキストエリアをよく見かける(はてなも)。それを補助するGreasemonkeyスクリプトもある。 テキストエリアを横にリサイズしたいことはあまりない。バーを掴んで最適な高さにするのはめんどくさい。使う人は、ただ全部の内容が見えるぴったりの高さになってほしいだけなんだと思った。 サンプルコードは以下。fitting?、fittable?、expand?(逆に小さくもなる) キーダウンのイベントでも実装してみたけど、日本語入力を検知できないし、方向キーとか無視するコードもいるし、イベントハンドラ内では内容がまだ更新されてなかったり