2005-01-01から1年間の記事一覧

Makeを利用したJavaScriptファイルの結合・圧縮

ある程度の規模のJavaScriptプログラミングでは、モジュール毎に、複数のファイルに分割してプログラミングするのが普通である。これは、ファイルの大きさが適度な方が編集作業が容易なのと、モジュールの別プロジェクトへの再利用性を高めるためである。し…

rchasen: ChaSenの新たなRubyバインディング

SWIGの練習も兼ねて、ChaSenのRubyバインディングを書いてみた。 ChaSenのRubyバインディングは既に公開済みのものがある。しかし、メンテナンスされておらず、コンパイルに修正作業が必要だった。また、ChaSenが提供するAPIの内、一部しか利用できなかった…

欲しいです。

アップルのiMac G5欲しい!

「既存ネットサービスは全てコモディティ化するかもしれない」の感想

先日、google baseはWebアプリケーションをコモディティ化する - llameradaの日記という記事を書いた。その後、Ningを対象としてネットサービスのコモディティ化を論じた既存ネットサービスは全てコモディティ化するかもしれない - FIFTH EDITIONという記事…

google baseはWebアプリケーションをコモディティ化する

google baseが普及した未来について想像してみる。なお、ここでは、google baseが、利用者がデータをサーバに送ると、ブラウザで操作できるデータベースが自動的に生成されるサービスと仮定している。(参考:Google Base の公式な説明 - モジログ) その時…

del.icio.usのエントリを「はてなブックマーク」に登録するブックマークレット

AtomAPIの練習も兼ねて、del.icio.usのエントリを「はてなブックマーク」に登録するブックマークレットを書いてみた。もちろん無保証です。毎日せっせと登録したブックマークやコメントが消滅したとしても笑って許せて、ブックマークレットに「はてな」のパ…

JavaScriptの動的な性質を利用したDOM要素ファクトリ

JavaScriptは動的な言語である。例えば、与えられた文字列から、その文字列に対応するメソッドを簡単に呼び出せる。そこで、この性質を利用したDOM要素のファクトリを作ってみた。 var Factory = function(){}; Factory.prototype = { create: function(name…

JavaScriptの学習効率

Ajaxの登場と共に、JavaScriptに注目が集まっている。それに伴い、JavaScriptを学ぶ人が増えていると思う。私自身もその一人である。JavaScriptを学ぶ中で感じたのは、JavaScriptを効率良く習得するには、他のプログラミング言語での経験が重要だということ…

サーバの負荷低減と可読性を考慮したAjaxコーディング

はてなブックマークの「おすすめ」を求めるブックマークレットでは、「はてなブックマーク」から複数回RSSファイルなどを取得します。この時、サーバへ大きな負荷を与えないよう、1つのファイルのダウンロードが終了してから、次のファイルをダウンロードす…

はてなブックマークの「おすすめ」エントリーを求めるブックマークレット(修正版)

はてなブックマークの「おすすめ」エントリーを求めるブックマークレット - llameradaの日記で公開したブックマークレットの修正版を作成しました。これは、はてなのデザイン変更に伴い、ブックマークレットが動作しなくなった問題点を修正したものです。修…

はてなブックマークのエントリーとタグを2次元平面上に配置するブックマークレット

はてなブックマークのエントリーとタグを2次元平面上に配置するブックマークレットを作ってみました。エントリーとタグの関係を鳥瞰的に眺めることが出来ます。実用性はあまりないですが、人によっては面白いかもしれません。はてなブックマーク上のRSSのア…

はてなブックマークの「おすすめ」エントリーを求めるブックマークレット

はてなブックマークのおすすめブックマーカー・おすすめエントリを求めるブックマークレットを作ってみました。要は、Amazonのおすすめを、はてなブックマークにあてはめて、思いっきり簡単にしたものです。ブックマークレットでも、かなり色々出来ることが…

何故、prototype.jsを使うのか?

http://d.hatena.ne.jp/brazil/20050909/1126254775が列挙しているように、様々なJavaScriptライブラリが公開されている。その中のいくつかを実際に触ってみたが、prototype.jsが一番しっくりきた。何故だろう?1つの理由は、prototype.jsは安心して利用でき…

JavaScriptの簡易プロファイラ

JavaScriptで少し大きなアプリケーションを作っていると、処理速度がどんどん遅くなってしまうことがある。処理速度を向上させるには、ボトルネックとなっている処理を見つけて、その部分のパフォーマンスを改善するのが一般的である。そこで、ボトルネック…

JavaScript でマルチスレッド・デザインパターン

JavaScriptでデザインパターンを書いてみる。とはいえ、いまさらFactoryパターンなど書いても面白くないので、マルチスレッド・デザインパターンにする。もちろん、JavaScriptの言語仕様にスレッドなどない。しかし、ブラウザ環境では実質的にスレッドが存在…

LayeredClass の実装の詳細

JavaScript で private/public の実現 - llameradaの日記で紹介した、LayeredClass の実装方法の詳細について説明する。HogeクラスがLayeredClassだとする。すると、Hogeクラスのインスタンスは、__privateInstanceというメンバ変数を必ず持つ。このとき、__…

Ajaxで用いるデータフォーマットの比較 (JavaScriptコード)

特定のデータフォーマットは用いず、直接JavaScriptのコードを返す手法である。このときブラウザは、サーバが返したコードをevalで直接実行する。例えば次のようなコードをサーバは返す。 insert_cities(["青ケ島青ケ島村", "あ"], ["足立区", "あ"])サーバ…

Ajaxの誤り

原文:Backpack: Ajax Mistakesとても参考になったので、いくつか訳してみる。 「戻る」ボタンを無効にする 「戻る」ボタンは、標準的なWebサイトのユーザーインターフェイスの重要な機能の1つである。不幸なことに、「戻る」ボタンはJavaScriptとの相性が…

JavaScript で private/public の実現

JavaScript は意外に強力な言語である。http://d.hatena.ne.jp/brazil/20050829/1125321936 Private Members in JavaScriptこれらの記事に触発されて、prototype.js風にprivate/public機能をJavaScriptで実現してみた。こんな風にかける。 var Hoge = Layere…

Ajaxで用いるデータフォーマットの比較 (JSON)

JSON (JavaScript Object Notation)は、Ajaxの普及と共に注目を集めつつあるデータフォーマットである。JSONはJavaScriptの文法を用いて、XMLと同様のデータフォーマットを実現している。JSONの詳細についてはhttp://www.crockford.com/JSON/index.htmlを参…

Ajaxで用いるデータフォーマットの比較 (XML)

Ajax(Asynchronous JavaScript + XML)の名の通り、広く用いられているフォーマットの1つである。例えば、次のようなデータをサーバより返す。 <cities> <city initial="あ" >青ケ島青ケ島村</city> <city initlal="あ" >足立区</city> ... </cities>取得したXMLデータよりHTMLを生成するには、大きく分けると2つの方法がある。1つ…

Ajaxで用いるデータフォーマットの比較 (HTML)

Ajax では、XMLHttpRequestを用いてブラウザからサーバからデータを取得する。このときのデータフォーマットとしては、XML, JSON などが様々なフォーマットが用いられている。そこで、それらのフォーマットの優劣を比較する。 HTML 内容を変更するHTML要素の…