(基本だらだら進行で、過程を追記していきます) Google Chrome が出ました Google Chrome で JavaScript エンジンが刷新されたということで、その JavaScript エンジン V8 についていろいろ調べてみようと思います。 v8 - Google Code ビルドしてみる まず、 svn からソースを持ってくる $ svn co http://v8.googlecode.com/svn/trunk/ v8 おおお。以外と少ない で、 trunk の中に入って $ cd v8 scons でビルド(scons が...
WEB+DB PRESS 編集の R たんから、僕の連載記事に読者様から質問が来ていると教えていただいたので、その内容を教えていただきました。 以下、内容を転載 「JavaScriptわくわく開発道」の記事に関して質問です。 今回の内容で特に興味を持ったのはthisキーワードの振る舞いでした。 thisキーワードの説明には、オブジェクト型の変数を別の変数にコピーしてから初期化すると、コピ...
『 setIntervalもTimerクラスもいいが、Flashで伝統的なENTER_FRAMEの説明が入っていないのはどうなのか。 』
はじめに JavaScript の標準仕様である ECMAScript 3rd Edition (ECMAScript 3.0) が 9 年ぶりにバージョンアップしようとしています。 実は、これまでも様々なバージョンアップの案が上がっては消え、また上がっては消えていました。 しかし、今回のバージョンアップには今までと違う点が一つだけあります。 それは、現時点での主要な ECMAScript インタプリタ(JavaScript の実行エンジン)を作...
祝辞 この文章を読み始めた諸君、読むのをやめて目を閉じてほしい。 目を閉じたら思い出してほしい。 まだ幼い頃の君たちは、コンピュータとともにあったか。 今思い出した「当時の諸君が初めて起動したコンピュータの画面」。 それが、まぶたの裏によみがえるだろうか。 それから諸君が始めて起動したソフトウェアを思い出そう。 いつ、何歳くらいのとき、何を、どこで...
DOM の操作の基本は、これらの DOM ノードを追加削除したり、 DOM ノードのプロパティを参照したり書き換えたりすることになります。 DOM を使う準備をしよう! DOM は script 要素内に JavaScript を書いただけでは、ちゃんと使うことができません。 ブラウザが HTML を読み込んだときに、以下の手順で JavaScript が実行されているからです。 HTML を読み込み上から順に DOM ツリーを構築し...
中学三人組の出会い セキュリティ&プログラミングキャンプの小話。プログラミングコースには、三人の中学生が参加していました。 id:qnighy id:javascripter id:gin5005 この三人がこのキャンプを通じて出会い、凄く仲良くなっていました。その話を書いておきたいと思います。 id:qnighy 情報オリンピックとかにも出ていたりする実力派の id:qnighy 君。 きっと同世代のエンジニアでは、...
はじめに 2008 年 8 月 13 日 〜 17 日まで、講師としてセキュリティ&プログラミングキャンプ 2008 に参加させていただきました。 セキュリティ&プログラミングキャンプって何? セキュリティキャンプ&プログラミングキャンプとは、 2004 年から始まった「若くて優秀なセキュリティ人材やプログラマーを育てちゃおうよ!」というイベントです。 キャンプの名のとおり 5 日間キ...
HTML とは、誤解を恐れずに言ってしまうとウェブページ(ホームページ)を作るために使われている言語です。 例えば、以下のようなものが HTML です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <title>タイトル</title> </head> <body> <h1>見出し</h1> <p> 本文本文本文本文本文本文本文本文本文本文本...
はじめに もうすぐ講義が開始されるので、同じタイミングでここで講義資料を公開したいと思います。 JavaScript の難しいところとか、マニアックなことは一切使わずに「プログラミングの楽しさ」みたいなものを伝えられたら嬉しいです。 この資料のターゲットは、プログラミング初心者です。 リンク JavaScript でテトリスみたいなゲームを作ろう! - セキュリティ&プログラミ...
// コールバックを受ける関数では this // や引数を受けるようにしとく s6.hoge = function() { var shift = Array.prototype.shift; // ↓ Opera ではバグるので回避しなきゃダメ var f = shift.apply(arguments); f.apply(shift.apply(arguments), arguments); }; DOM の空きプロパティ // DOM の要素の空きプロパティの // アクセス速度は普通のハッシュとほとんど変わらない s6.Constructor = function(element) { this.element = element; this.elemen...
昨日の続きです。昨日の記事がまったくデタラメだとさすがに気まずいので、Invoke が呼ばれてるよ、という事実ぐらいは確かめようと思いました。私はバイナリアンではないのですが、がんばってMSHTMLの中を追ってみることにします。 まず、C++からIDispatch::Invokeを呼んだ場合と、Javascriptから window.document を参照した場合の2つの処理が合流するところを探しました。 ↑ここです。 ...
こんな感じ ここでテストできます(DOM 3 XPath 対応ブラウザでしか動きません) XPath Functional Test テストしてみると Safari 3.0.3 Public Beta はバグが多い Opera と Firefox はかなり優秀 要素名は大文字? あと、特に気になった点として、 name 関数の復帰値が Firefox では大文字となって Opera, Safari は小文字となる。 なので、クロスブラウザ的には以下のように or で繋いであげないといけない。...
for 文で 100 項目とか 1000 項目とかあるテストケースを処理するとブラウザが固まる。 こんなダイアログが表示されます。 ということで for 文を setTimeout や setInterval に変換する事で定期的にブラウザに処理を戻すことができる。 // ここでは console.log のところでログを取ってますが // 通常は処理が入ります。 for (var i = 0; i < 3; i ++) { console.log('a' + i); } /* * 結果 * a0 * a1 * a2 */ これ...
local と my - IT戦記の続き local と my の違いが分かるサンプルを書いてみた our $foo = 0; do { # ... (1) local $foo = 1; do { print "$foo\n" }; # 1 sub { print "$foo\n" } # 0 }->(); do { # ... (2) my $foo = 1; do { print "$foo\n" }; # 1 sub { print "$foo\n" } # 1 }->(); ちなみに do {...} は return の扱いを除いて (sub {...})->() と等価だと考えていいです。まあ、関数をその場で呼び出すようなものです...
以下のエントリーを見て Enjoy*Study - FirebugのmonitorEventsが動かない で、実際はどうなんだろうと試してみた。 ちなみに monitorEvents とは Firebug のコンソールで >>> monitorEvents(document.body) と打ち込むと document.body にあがってきた全てのイベントをモニタリングできる >>> monitorEvents(document.body, 'click') と打ち込むと document.body にあがってきたクリックイベントをモニタリン...
, function(e:SecurityErrorEvent) { /* 読み込めないのでエラー */ }); var loader2:URLLoader = new URLLoader(); loader2.load( new URLRequest('http://
はじめに Pathtraq API で何かできないか考えていて、 JavaScript だけで色々できそうだったので Hatebu TV をパクって Pathtraq TV というのを作ってみました。 クリックしてみてください。 http://amachang.art-code.org/pathtraq/ 使い方は まあ、そのまんまです。 手ぶらで Pathtraq のランキングを 1 位から 50 位まで流し見できます。 ページを見てる間に次のページをロードしてくれるのが、ちょっと...
はじめに 「このサイトの人気ページを見たい!」 「このページに、皆いったいどうやって来てるんだろう?」 「このページを見たあとは、どこを見に行ってるんだろう?」 そんなこと思ったことありませんか? Pathtraq API を使うことで、そんな情報をあなたのソフトウェア、ウェブアプリケーションに組込めるようになりました!やった! でも、難しいんでしょ><? 違うよ...
(ぐだぐだと執筆中、現時点で読んでも意味不明だと思います。) 自分の知り合いに「まったくの未経験だけどプログラミングをやってみたい!」という人がいるので、プログラミングを始める前に必要な知識や心構えや準備などを書いておこうと思います。もちろん、最初に使う言語は JavaScript です。 この文章は、プログラミングまったくの未経験者が読んで分かる文章を目...