に釣られて。 HatenaStar.js 1380 行目 テキストノード走査 一番のボトルネックはやはりここですね。IEなので、こんな感じでベタに計測。 makeTextNodes: function(c) { if (c.textNodes || c.textNodePositions || c.documentText) return; if (Ten.Highlight.highlighted) Ten.Highlight.highlighted.hide(); c.textNodes = []; c.textNodePositions = []; var isIE = navigator.userAgent.indexOf('MSIE') != -1; var texts = []; var pos = 0; var st = new Date*1; (function(node,
はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr
日本Javaユーザーグループ 概要 JavaScriptの誤解 重くしている犯人 プロファイラ JavaScriptの誤解 JavaScriptは遅い 速いです 重くしている犯人 DOM DOMをフェーズに分けて考える JavaScriptとコンポーネント(C++)との通信(取得) DOMノードの追加、値の変更 スタイルの計算 レイアウトの計算 JavaScriptとコンポーネント(C++)との通信(取得) XPConnectやCOMとの通信 単純なプロパティアクセスの数十倍(IE以外は無視しておk) COMは重い 通信回数=DOMのオブジェクトの「.」の数 DOMノードの追加、値の変更 取得の場合と同じ「.」の数 ノードに変更したというフラグが立つ parent.appendChild(child)だとparentとchildにフラグが立つ。 重要:再計算がJavaScriptの実行後に
ワークスタイル・メモ カレンダー・手帳術からグループウェア、ライフハックやWeb2.0系ツールまで、インターネットが変えようとしているワークスタイルの未来を考える。 記者発表会やイベントの様子を伝えるビデオブログにも挑戦中です。 ワークスタイル・メモ > ■Workstyle Voice > Afrous (素人でもWebサービスを便利にできるマッシュアップサービス) Infinity Ventures SummitのLAUNCHPADプレゼン動画シリーズ。 第十弾のNaked Browserに続いて紹介するのは、株式会社マッシュマトリックスの提供するAfrousです。 Afrousは、一言で言うとWebブラウザの中でWebサービスのマッシュアップを実現することができるサービスです。 Yahoo PipesとかMicrosoftのPopflyをご存じの方は、それと同じようなコンセプトのサー
JavaScriptWindows版FUSE Dokan がオープンソースになったよ!! - yukobaの日記 が面白そうだったので、ちょっと触ってみた。Dokan は Windows でファイルシステムを作るためのライブラリ。C, .NET, Ruby から気軽にファイルシステムが使えるようになる。それを id:yukoba さんは Java で動くようにして、さらに Rhino を使って JavaScript 製のファイルシステムをデモしている。それならば、と C# 経由で JScript を叩くライブラリを作ってみた。題して「JSDokan」。JSDokan のサンプル「JsonFS」JSDokan を使ったサンプルとして JSON をファイルシステムにする「JsonFS」というのを作ってみた。例えば、このような JSON が... private var json:Object
本気でやるならonclick属性は避けてライブラリを活用すべき - 帰ってきたHolyGrailとHoryGrailの区別がつかない日記 に関して この先、 HTML に onclick と書いても石を投げられないように書いておく>< 僕も onclick 属性がダメだと思っていた時代もありました。でも、今は時々使うなあ。 (あ、でも、 HTML と JS で分業している場合は、使わないほうがいいよね^^;そこだけは言っておく。) JavaScript 入門の記事を書くときに onclick 属性がダメだとしたら、いろいろ本質的でないことを説明しなきゃいけない。 現状では onclick 属性が、もっとも簡単に HTML にイベントをマッピングできる方法だから、そんなに目くじらたてなくてもいいんじゃないかなあ? たとえば 以下は、クリック時に href に GET を送るための oncli
これを JS に移植しました。 http://svn.webkit.org/repository/webkit/trunk/WebCore/css/tokenizer.flex ポイント それなりに汎用的な Flex みたいなものを作ったので、その部分は CSS 以外にも使えると思います。 あと、定義を文字列で書かずに正規表現オブジェクトで書くのでバックスラッシュをエスケープせずに書けます。ですので、ほとんどの箇所は WebKit の tokenizer の定義をコピーするだけで済みました。 その辺のアイデアは JavaScript で構文解析: Days on the Moon を参考にしました あと http://svn.coderepos.org/share/lang/actionscript/ascss/src/css/CSSLexer.as id:gyuque さんの ASCSS
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます JavaScriptプログラミングの発展と見るべきか肥大と見るべきか――JavaScriptで利用可能なDIコンテナ(IoCコンテナ)が登場した。squirrel-iocおよびcontainerjsはともにGoogle Codeでホスティングされるオープンソースのソフトウェアライブラリでオブジェクト間の結合を弱くし、再利用性などを高めるDI(Dependency Injection)およびIoC(Inversion of control)と呼ばれるプログラミング手法を助けるものだ。 Ajaxなどの流行により、Webアプリケーションにおいて複雑なJavaScriptプログラミングが行われるようになってる。インターフェースのなかに、ロジック
大字 kiwanami 写真集。 日替わり大サービス。 JavaScriptを触っていて気持ちいい一つの原因として、ハッシュとオブジェクトの境界が無いことがある。データとして扱いやすいため、メタ操作もやりやすい。先の勉強会の後の議論で出てきたJavaScript的Hashを実装。 class BlankSlate instance_methods.each { |m| undef_method m unless m =~ /^__/ } end class JSHash < BlankSlate def initialize(hash) @hash = hash end def method_missing(sym, *args) name = sym.to_s if name =~ /=$/ name = name[0..-2] val = args[0] if val.respond_
はじめに Photoshopは、印刷、デザイン、Web製作、ゲーム開発などのさまざまな仕事の現場で利用されている画像加工・作成アプリケーションです。このPhotoshopは、バッチ処理を行う強力なアクション機能を備えています。しかし、少し複雑なことをさせようとすると、とたんに限界に行き当たるのが現実です。 Photoshop 7.0以降では、Scripting plug-inを使うことで、プログラミングで直接Photoshopを制御できるようになりました。この機能を使えば、アクション機能では実現できなかった細かな処理を行えます。 例えば、ファイル名の作成などの「文字列処理」、画像サイズを計算して求める「計算処理」、そして「条件分岐」といったプログラム特有の処理は、アクション機能では実現できないものです。 本記事では、JavaScriptというWeb関連の技術者におなじみのプログラム言語を使
Firebug を更新したら、またもや凄いことになってました。 まずはこれを見てください。 http://sample.ecmascript.jp/20060526.htm 要は JavaScriptをステップ実行しながら結果を確認できる。 変数の値をウォッチできる。 適当にブレークポイントを貼ってスタックを追えば、他人のサイトを簡単にハックできる。 うれしい!たのしい!こんにちわ! FireBug のインストール https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&id=1843
Internet Explorer Team Blog We've moved! Find us at the new Microsoft Edge Dev Blog As we announced last week, with the reveal of Microsoft Edge we are archiving the IEBlog. Future... Date: 05/08/2015 Microsoft Edge is the browser for Windows 10 This morning, Joe Belfiore took to the stage at Build 2015 to share more about the next chapter in... Date: 04/29/2015 Announcing improvements to Enterpri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く