タグ

ブックマーク / llamerada.hatenadiary.org (8)

  • 複数の単語を似た意味に分類するサービス

    単語をクラスタリングするサービスを作りました。 http://llamerada.sakura.ne.jp/clustord/cluster.cgi 入力された単語を似た意味のグループの分割します。例えば、「トマト」「りんご」「みかん」「なす」を入力した場合、「トマト なす」と「りんご みかん」に分類します。 検索キーワードなどは多種多様で、そのまま眺めても全体を把握しづらいことがありますが、単語をクラスタリングすることで概要がつかみやすくなります。また、私のdel.icio.usのタグを分類してみたところ次のようになりました。なんとなく合っているようです。 http://llamerada.sakura.ne.jp/clustord/cluster.cgi?id=5 精度はそれなりですが、使いどころはあるのかなと思います。向上の余地はまだまだあるので、少しずつ手を入れていきたいと思います

    複数の単語を似た意味に分類するサービス
  • サーバの負荷低減と可読性を考慮したAjaxコーディング - llameradaの日記

    はてなブックマークの「おすすめ」を求めるブックマークレットでは、「はてなブックマーク」から複数回RSSファイルなどを取得します。この時、サーバへ大きな負荷を与えないよう、1つのファイルのダウンロードが終了してから、次のファイルをダウンロードするようにしています。 複数ファイルをダウンロードするAjaxの処理をコーディングするのは意外と面倒です。単純に書くならば、ファイルのダウンロード終了後の実行するイベントハンドラとして、次のファイルをダウンロードする関数を与えることになります。しかし、ダウンロードするファイル数が多数の場合、一つ一つ関数を定義するのは明らかに無駄です。こういった場合、JavaScriptでは関数がオブジェクトである点を利用して、関数オブジェクトを返す関数を定義するのが定石です。 例えば、次のようなコードが考えられるでしょう。なお、prototype.jsを前提にしています

    サーバの負荷低減と可読性を考慮したAjaxコーディング - llameradaの日記
  • はてなブックマークのエントリーとタグを2次元平面上に配置するブックマークレット - llameradaの日記

    はてなブックマークのエントリーとタグを2次元平面上に配置するブックマークレットを作ってみました。エントリーとタグの関係を鳥瞰的に眺めることが出来ます。実用性はあまりないですが、人によっては面白いかもしれません。はてなブックマーク上のRSSのアイコンがあるページで、次のブックマークレットを実行してください。具体的には、次のコードをコピーして、URL欄に貼り付けて、実行してください。 javascript:(function(){var s=document.createElement('script');s.charset='UTF-8';s.src='http://llamerada.fc2web.com/js/fhatebv.js';document.body.appendChild(s);})();エントリとタグが蠢きながら、一応、それらしい配置になっていきます。はっきりいって、Jav

    はてなブックマークのエントリーとタグを2次元平面上に配置するブックマークレット - llameradaの日記
  • はてなブックマークの「おすすめ」エントリーを求めるブックマークレット - llameradaの日記

    はてなブックマークのおすすめブックマーカー・おすすめエントリを求めるブックマークレットを作ってみました。要は、Amazonのおすすめを、はてなブックマークにあてはめて、思いっきり簡単にしたものです。ブックマークレットでも、かなり色々出来ることが分かりました。 使い方としては、はてなにログインした状態で、はてなブックマークのトップを表示してください。そして、このブックマークレットを実行してください。 javascript:(function(){var s=document.createElement('script');s.charset='UTF-8';s.src='http://llamerada.fc2web.com/js/hatena.js';document.body.appendChild(s);})()具体的には、上のコードをURLの欄にコピーして実行してください。しばらく待

    はてなブックマークの「おすすめ」エントリーを求めるブックマークレット - llameradaの日記
  • 何故、prototype.jsを使うのか? - llameradaの日記

    http://d.hatena.ne.jp/brazil/20050909/1126254775が列挙しているように、様々なJavaScriptライブラリが公開されている。その中のいくつかを実際に触ってみたが、prototype.jsが一番しっくりきた。何故だろう? 1つの理由は、prototype.jsは安心して利用できるライブラリだからだろう。私の安心感は、prototype.jsの利用法の学習が無駄にならないだろうという感覚から生まれる。prototype.jsは、フレームワークというよりは、便利クラス、便利メソッドの集積である。そのため、prototype.js全体を学ばなくても、自分に必要な機能だけを簡単に利用できる。また、自分で同じ機能を再実装するのも比較的容易である。すなわち、仮にprototype.jsが利用不可能となっても、回避策はいくらでもある。 それに対して、例えば、

    何故、prototype.jsを使うのか? - llameradaの日記
  • llameradaの日記 - JavaScript でマルチスレッド・デザインパターン

    JavaScriptでデザインパターンを書いてみる。とはいえ、いまさらFactoryパターンなど書いても面白くないので、マルチスレッド・デザインパターンにする。 もちろん、JavaScriptの言語仕様にスレッドなどない。しかし、ブラウザ環境では実質的にスレッドが存在する。スレッドが発生する場面には2種類ある。1つは、イベントである。例えば、ユーザのクリック動作によってonclickイベントが発生した時、onclickイベントハンドラだけを処理するスレッドが発生するとみなせる。もう1つは、setTimeoutとsetIntervalメソッドである。これらのメソッドでは、一定時間後に、別の処理を実行させるが、この処理は現在の処理と並行的に実行される。つまり、スレッドとみなせる。個人的には、setTimeoutをアニメーションなどの小細工だけに使うのはもったいないと思う。setTimeoutの

    llameradaの日記 - JavaScript でマルチスレッド・デザインパターン
  • Ajaxの誤り - llameradaの日記

    原文:Backpack: Ajax Mistakes とても参考になったので、いくつか訳してみる。 「戻る」ボタンを無効にする 「戻る」ボタンは、標準的なWebサイトのユーザーインターフェイスの重要な機能の1つである。不幸なことに、「戻る」ボタンはJavaScriptとの相性が悪い。JavaScriptのみで構成されるWebアプリケーションへと踏み切らせない主な理由の1つは、「戻る」ボタンの機能の維持である。 リンクを友達やブックマークに送ることができない Webサイトのもう一つの重要な機能は、URLを別の人に送れば、その人も私と同じページを見ることが出来ることである。また、サイトを利用して見つけたページをブックマークすれば、後で元の状態に戻ることも出来る。JavaScript、すなわちAjaxアプリケーションでは、この利用モデルに対してたくさんの問題を発生させる。なぜならば、JavaSc

    Ajaxの誤り - llameradaの日記
    nozom
    nozom 2005/09/05
  • JavaScript で private/public の実現 - llameradaの日記

    JavaScript は意外に強力な言語である。 http://d.hatena.ne.jp/brazil/20050829/1125321936 Private Members in JavaScript これらの記事に触発されて、prototype.js風にprivate/public機能をJavaScriptで実現してみた。こんな風にかける。 var Hoge = LayeredClass.create(); Hoge.prototype = { __private: { privateMethod: function(){ alert("public:" + this.publicVariable + "; private:" + this.privateVariable); } }, __public:{ publicVariable: null, initialize: fun

    JavaScript で private/public の実現 - llameradaの日記
    nozom
    nozom 2005/09/05
    prototype.jsを使ってJavascriptでprivateメンバを実現する方法。ただしMozilla系のみで動作。
  • 1