2005-01-01から1年間の記事一覧
ある程度の規模のJavaScriptプログラミングでは、モジュール毎に、複数のファイルに分割してプログラミングするのが普通である。これは、ファイルの大きさが適度な方が編集作業が容易なのと、モジュールの別プロジェクトへの再利用性を高めるためである。し…
SWIGの練習も兼ねて、ChaSenのRubyバインディングを書いてみた。 ChaSenのRubyバインディングは既に公開済みのものがある。しかし、メンテナンスされておらず、コンパイルに修正作業が必要だった。また、ChaSenが提供するAPIの内、一部しか利用できなかった…
アップルのiMac G5欲しい!
先日、google baseはWebアプリケーションをコモディティ化する - llameradaの日記という記事を書いた。その後、Ningを対象としてネットサービスのコモディティ化を論じた既存ネットサービスは全てコモディティ化するかもしれない - FIFTH EDITIONという記事…
google baseが普及した未来について想像してみる。なお、ここでは、google baseが、利用者がデータをサーバに送ると、ブラウザで操作できるデータベースが自動的に生成されるサービスと仮定している。(参考:Google Base の公式な説明 - モジログ) その時…
AtomAPIの練習も兼ねて、del.icio.usのエントリを「はてなブックマーク」に登録するブックマークレットを書いてみた。もちろん無保証です。毎日せっせと登録したブックマークやコメントが消滅したとしても笑って許せて、ブックマークレットに「はてな」のパ…
JavaScriptは動的な言語である。例えば、与えられた文字列から、その文字列に対応するメソッドを簡単に呼び出せる。そこで、この性質を利用したDOM要素のファクトリを作ってみた。 var Factory = function(){}; Factory.prototype = { create: function(name…
Ajaxの登場と共に、JavaScriptに注目が集まっている。それに伴い、JavaScriptを学ぶ人が増えていると思う。私自身もその一人である。JavaScriptを学ぶ中で感じたのは、JavaScriptを効率良く習得するには、他のプログラミング言語での経験が重要だということ…
はてなブックマークの「おすすめ」を求めるブックマークレットでは、「はてなブックマーク」から複数回RSSファイルなどを取得します。この時、サーバへ大きな負荷を与えないよう、1つのファイルのダウンロードが終了してから、次のファイルをダウンロードす…
はてなブックマークの「おすすめ」エントリーを求めるブックマークレット - llameradaの日記で公開したブックマークレットの修正版を作成しました。これは、はてなのデザイン変更に伴い、ブックマークレットが動作しなくなった問題点を修正したものです。修…
はてなブックマークのエントリーとタグを2次元平面上に配置するブックマークレットを作ってみました。エントリーとタグの関係を鳥瞰的に眺めることが出来ます。実用性はあまりないですが、人によっては面白いかもしれません。はてなブックマーク上のRSSのア…
はてなブックマークのおすすめブックマーカー・おすすめエントリを求めるブックマークレットを作ってみました。要は、Amazonのおすすめを、はてなブックマークにあてはめて、思いっきり簡単にしたものです。ブックマークレットでも、かなり色々出来ることが…
http://d.hatena.ne.jp/brazil/20050909/1126254775が列挙しているように、様々なJavaScriptライブラリが公開されている。その中のいくつかを実際に触ってみたが、prototype.jsが一番しっくりきた。何故だろう?1つの理由は、prototype.jsは安心して利用でき…
JavaScriptで少し大きなアプリケーションを作っていると、処理速度がどんどん遅くなってしまうことがある。処理速度を向上させるには、ボトルネックとなっている処理を見つけて、その部分のパフォーマンスを改善するのが一般的である。そこで、ボトルネック…
JavaScriptでデザインパターンを書いてみる。とはいえ、いまさらFactoryパターンなど書いても面白くないので、マルチスレッド・デザインパターンにする。もちろん、JavaScriptの言語仕様にスレッドなどない。しかし、ブラウザ環境では実質的にスレッドが存在…
JavaScript で private/public の実現 - llameradaの日記で紹介した、LayeredClass の実装方法の詳細について説明する。HogeクラスがLayeredClassだとする。すると、Hogeクラスのインスタンスは、__privateInstanceというメンバ変数を必ず持つ。このとき、__…
特定のデータフォーマットは用いず、直接JavaScriptのコードを返す手法である。このときブラウザは、サーバが返したコードをevalで直接実行する。例えば次のようなコードをサーバは返す。 insert_cities(["青ケ島青ケ島村", "あ"], ["足立区", "あ"])サーバ…
原文:Backpack: Ajax Mistakesとても参考になったので、いくつか訳してみる。 「戻る」ボタンを無効にする 「戻る」ボタンは、標準的なWebサイトのユーザーインターフェイスの重要な機能の1つである。不幸なことに、「戻る」ボタンはJavaScriptとの相性が…
JavaScript は意外に強力な言語である。http://d.hatena.ne.jp/brazil/20050829/1125321936 Private Members in JavaScriptこれらの記事に触発されて、prototype.js風にprivate/public機能をJavaScriptで実現してみた。こんな風にかける。 var Hoge = Layere…
JSON (JavaScript Object Notation)は、Ajaxの普及と共に注目を集めつつあるデータフォーマットである。JSONはJavaScriptの文法を用いて、XMLと同様のデータフォーマットを実現している。JSONの詳細についてはhttp://www.crockford.com/JSON/index.htmlを参…
Ajax(Asynchronous JavaScript + XML)の名の通り、広く用いられているフォーマットの1つである。例えば、次のようなデータをサーバより返す。 <cities> <city initial="あ" >青ケ島青ケ島村</city> <city initlal="あ" >足立区</city> ... </cities>取得したXMLデータよりHTMLを生成するには、大きく分けると2つの方法がある。1つ…
Ajax では、XMLHttpRequestを用いてブラウザからサーバからデータを取得する。このときのデータフォーマットとしては、XML, JSON などが様々なフォーマットが用いられている。そこで、それらのフォーマットの優劣を比較する。 HTML 内容を変更するHTML要素の…