IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

2006-09-01から1ヶ月間の記事一覧

IE の change イベントはバブリングしない

ためしてみたらバブリングしなかった。 orz ・・・ DOM2 Event とちがうじゃねぇか DOM2 Event とちがうじゃねぇか みなさん注意しましょう。

サイトを作っていてありがちなこと

「仕様ってどうなってましたっけ?」 「mixi と同じです。」

複雑で重くなった JavaScript を超高速化する方法3

8 ヶ月前に setInterval 書き換えのネタで作ったやつ id:amachang:20060104:1136344836 id:amachang:20060114:1137243389 ふと ちょっと設計変えたらすごく速くなる気がして、作り替えてみた。 でも、作ってみたら clearInterval がちょっとだけ速くなったけ…

今さらだけど $X + GreaseMonkey はまじで最強だなぁ。例えば 2 行で mixi のクローラとか作れちゃうもん

最近 GreaseMonkey ちょっと使ったりするんだけど $X 関数が便利すぎる!! $Xとは cho45氏が作った XPath 用の関数です。Shibuya.JS で発表してた資料にあります。 http://lowreal.net/2006/shibuya-js-1-lt.html http://lowreal.net/logs/2006/03/16/1 例…

Plain Old JavaScript Prototypes (普通の JavaScript も使えるようにしよう)

Prototype.js や MochiKit や jQuery や dojo こういう便利なライブラリがたくさん出てきてとても便利になりました。 でもそのライブラリ本当に必要? たしかに、グループワーキングを行うにはこれらのライブラリは必須だと思います。 でも、ちょいスクリプ…

XMLHttpRequest の onreadystatechange の this

個人的に Ajax を使ったプログラミングをしたことがほとんどない。数回あったけどライブラリ経由で XMLHttpRequest は触らなかった。 仕事でも Prototype.js とか MochiKit とかなので XMLHttpRequest を直接使ったことがない。 用事で使ってみなければなら…

こんな Web 2.0 は嫌だ

Web2.0 風味だけでやってることは実は昔と同じ(むしろ、混乱する) //Executable (function(){while(this.length){window[this.shift()]=this.shift()}}).apply(['onload',function(){alert('ようこそ〜☆')},'onunload',function(){alert('またね〜♪')},'on…

DOM 系の関数は IE に合わせればいいんじゃね?

IE 以外のブラウザは HTML 要素(Element)の prototype がとれる prototype とはクラスの定義のようなもの。 具体的には 以下のようにとれる ブラウザ 方法 Opera HTMLElement.prototype Firefox HTMLElement.prototype OR document.documentElement.__proto_…

Xgl がカッコよすぎる

最近の OS の話題といえば UI がかっこいい Mac や Vista ばかりですが、 Linux だって Xgl というかっこいいデスクトップがあります。 いやむしろ、「それ Xgl でできるよ」みたいな みんな、 Linux デスクトップでいいじゃん どうぞ、ご覧ください いい PC…

HDJSExecuter(Hatena Diary JavaScript Executer)っていうグリモン作った。

ブログ書くとき JavaScript の例がちゃんと動くか確認するのめんどい ブログ読むとき せっかく JavaScript の例書いてあるんだけど、コピペするのめんどい ということで それ GreaseMonkey でできるよ。 使いかた こんな感じで >|| //Executable ↑から始まる…

JavaScript 1 文(statement)でクラス定義する

プロトタイプチェーンを繋ぐのにわざわざ、関数定義してprototypeに代入するのめんどくさい!! ってことで一行で書いて少しは楽に・・・・ ならないよね^^;;;;; //Executable with HDJSExecuter (window.Human=function(){this.init.apply(this,arguments)}…

JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念

おそらく、JavaScript を使いこなす肝は setInterval、setTimeout、イベントによる関数の実行を理解することだと思う 例えば 次のコードの結果を考えたとき document.write("hoge\n"); setTimeout(function(){ document.write("fuga\n") }, 1000); document.…

FireBug と benchmark.js を使って稼働中のサービスの JavaScript パフォーマンスをチェックする

まずはこれを見てください。 http://sample.ecmascript.jp/bench.htm このような感じで FireBug のコンソールを表示させて 適当なサーバにある benchmark.js を読み込んで benchmark.at('firebug')({ 'テスト1': function() { ... } }); って感じで、どんな…

ベンチマークツール公開

最近 またしても、JavaScript のベンチマークを取らなければならない仕事が来たので、 ツールをキレイにしました。 それを公開します。(ダウンロードは一番下にあります。) 使い方 script タグで benchmark.js を読み込んで、以下のように連想配列の関数群を…

FireBug の console を toSource してみた

いろいろあるなああああ。 ({ firebug : "0.4", log : (function () { FireBug.console.log(arguments, "log", FireBug_logFormattedRow, context); } ), logMessage : (function (messages, rowClass, showLine) { FireBug.console.log(messages, rowClass,…

Prototype.js 1.5.0 がこの一週間めちゃめちゃ更新してるので、新しい機能をまとめてみた

最近の Prototype.js LL Ring でも言ったけど、まったくもって 4 ヶ月間更新なしだった。。。 しかし! ここ、 1 週間でこんなに更新があった! http://dev.rubyonrails.org/changeset?new=spinoffs%2Fprototype%404950&old=spinoffs%2Fprototype%404236 と…