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

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

単語をクラスタリングするサービスを作りました。http://llamerada.sakura.ne.jp/clustord/cluster.cgi入力された単語を似た意味のグループの分割します。例えば、「トマト」「りんご」「みかん」「なす」を入力した場合、「トマト なす」と「りんご みかん…

AjaxにおいてXMLHTTPRequestとIFRAMEのどちらを使うべきか?

JavaScriptによりサーバと非同期通信する際の手段にはXMLHTTPRequest(XHR)とIFRAMEがある。Ajaxと言えば普通はXHRだが、IFRAMEを使うことによってもサーバとの非同期通信が可能である。IFRAMEの場合、サーバと通信するタイミングでIFRAMEのsrcを変更し、IFRA…

dojoの不思議

dojoをちょっと触ってみた。機能は豊富だし、ドキュメントはしっかりしているし、名前空間もきちんと分かれているし、優れたJavaScriptライブラリだと思った。でも、日本のブログだとあまり話題を聞かない気がする。むしろ、MochiKitの方が名前をよく聞く。…

JugemKey認証API Ruby版モジュール

comatta.jpにJugemKey認証APIを導入する為にRuby版モジュールを書きました。PerlとPHPは公式版があるが、Rubyは無いので公開してみます。なお、後述しますが、公式版より機能は少ないです。使い方は、はてな認証API Ruby版モジュールと殆ど同じです。なお、…

BlogRanger API を使ってページの関連ブログを表示

BlogRanger APIを使ってページの関連ブログを表示させてみた。BlogRanger APIではブログ検索結果をJSONP風のAPIで取得できる。そこで、関連ブログを表示させたいページのキーワードを抽出して、そのキーワードでのブログ検索結果を、事前に用意したテンプレ…

「困った」共有サービスを公開

DOMAIN ERRORを公開しました。詳しくは次のプレスリリースを読んでください。http://d.hatena.ne.jp/gatonews/20061102/1162396351ちょっと聞いてもらいたい困りごとを投稿すると、誰かが共感してくれるサービス・・・だと私は思っています。私は主に開発担…

HTML要素を抜き出す正規表現の自動生成プログラム

HTML要素を抜き出す正規表現を自動生成するプログラム html2regexp を作ったので公開します。札幌市で賢い借金返済方法を教えます!使い方は簡単で、HTMLファイル中の抜き出したいHTML要素の先頭タグの末尾にh2rと書き加えるだけです。例えば次のように指定…

BLOGRANGER APIを使ってブログサービス間のリンク関係を求めてみる

BLOGRANGER APIのリンク抽出機能を使って、あるブログサービスでのブログから、別のブログサービスへのブログのリンク関係を求めてみた。求めてみた結果はこちら。 ブログサービス間のリンク関係同じブログサービス内でリンクされる傾向が強かったり、「はて…

setTimeoutとJavaScriptのスレッド

amachangさんのsetTimeoutに関する記事とコメントを読んだら気になったので、setTimeoutとブラウザでのJavaScriptについて調べてみた。setTimeoutには現在のところ明確な仕様はないようである。ただし、Web Applications 1.0のドラフトによれば、複数のスク…

はてなブックマークの「タグ」を含む人気ページのランキング方法を例とした、グローバルな人気度とローカルな人気度の差

先日のエントリで、グローバルな人気度はあまり役に立たず、ローカルな人気度が重要との議論をした。そこで、グローバルな人気度が有効でない例として、はてなブックマークの「タグ」を含む人気ページのランキングを取り上げる。「タグ」を含むページでは、…

ページランクなんて飾りです

ページランクは検索エンジンの精度向上に直接は役立たない。なぜならば、ページランクはページの人気を表す指標だからだ。キーワードが出現したページを人気の高い順に並べても、適切な検索結果は得られない。例えば、日本で最も人気の高いページの1つ、Yaho…

MeadowでFirefoxを自動リロード

ma.laさん作成のスクリプトをMeadowから使えるようにしてみた。 これは便利かも。 (defun reload-firefox() (if (string-match "\.\\(css\\|js\\)$" (buffer-file-name)) (call-process "c:/work/bin/reload_firefox.exe"))) (add-hook 'after-save-hook 're…

Method Finder for JavaScript

文字列を結合するメソッドがJavaScriptに存在することは分かっているのに、そのメソッドの名前が思い出せず、リファレンスを一々参照することはありませんか?そんな時に便利なMethod Finderを作ってみました。オブジェクト・返り値・引数を与えると、Method…

Google Co-opを使ってRailsのapiを検索するsubscribed linksを作ってみた

Custom Search Engineが話題になっているので、試しにRuby on Railsのapiリファレンスを検索できるsubscribed linksを作ってみた。下記のページからリンクを購読できる。http://www.google.com/coop/profile?user=002096757702379668848リンクを購読した状態…

「はてなブックマーク」ユーザのクラスタリング結果の公開を停止した理由

先日の記事で「はてなブックマーク」(はてブ)のユーザをクラスタリングした結果を投稿しましたが、考えるところがあって公開を取りやめました。参考リンク:クラスタリング技術を使った「はてなブックマーク」でのお気に入りユーザ数ランキング(簡易ジャ…

クラスタリング技術を使った「はてなブックマーク」でのお気に入りユーザ数ランキング(簡易ジャンル別)

今度は「はてなブックマーク」の「お気に入り」ネットワークで、ジャンル別のランキングを求めてみました。同じユーザから「お気に入り」されているユーザは、同じジャンルに分類されます。詳細は以前の記事を参照してください。参考リンク:クラスタリング…

クラスタリング技術を使ったAmazon DVDでの出演回数ランキング(簡易ジャンル別)

前回Amazon DVDでの出演者ランキングを作ってみたところ、その結果が結構面白かった。参考リンク:イチローのベーコン指数は4次 - Amazon DVD データベースでのスモールワールドネットワーク - llameradaの日記ただし、前回の結果では、日本人俳優、声優、ハ…

イチローのベーコン指数は4次 - Amazon DVD データベースでのスモールワールドネットワーク

ベーコン指数というのをご存知だろうか?まず、俳優ケビン・ベーコンと共演した俳優のベーコン指数を1次とする。そして、ベーコン指数が1次の俳優と共演した俳優のベーコン指数を2次とする。この操作を繰り返して、俳優のベーコン指数を定義する。すると、殆…

Shibuya.js行ってきた

こういったイベントに参加したのは初めてだったが、結構面白かったです。有名人の顔も拝めたし。個人的に印象に残ったのは、 ma.laさん紹介のSleipnirと萌ディタを連携させるテクニック。ファイル修正、即ブラウザ・リロードは便利そうだと思った。Meadow版…

「Googleの作り方」を書くことの難しさ、そして期待

それにしても、「ウェブ進化論」と本書を見ると、もう一冊足りないことも見えてくる。(略)「具体的にGoogle、とまでは言わぬまでもWeb2.0的サービスはどう作るのか」という工学的な一冊である。それがないと、 Googleは未だに「魔法」の域を出ないのだ。40…

Amzakeが使っている3つのWebサービス

Amzakeで使っているWebサービスを紹介する。なお、Amzakeは次のようなサービスである。まず、ブログ記事などのテキストを入力すると、そのテキストに関連する商品が一覧表示される。そこで、気に入った商品をクリックすることで、商品を紹介するアフィリエイ…

Amzake - ブログ記事などからAmazon.co.jpのアフィリエイトを半自動生成するツール

ブログ記事などから、Amazon.co.jpのアフィリエイトを簡単に作るツールを作っています。名前はAmzakeといいます。amazon + makeから取りました。静岡県で賢い借金返済方法を教えます!使い方は簡単で、ブログ記事などのテキストを入力すると、そのテキストに…

ユーザがページに滞在した時間をサーバに記録するJavaScript

Ajaxの普及に伴い、ページ当たりのユーザの滞在時間が注目されるようになっている。従来、サービスがユーザに与えるインプレッションの指標としてページ・ビューが広く用いられている。しかし、Ajaxを利用するとページの移動があまり発生しないため、ページ…

自分の日記の人気エントリーをサイドバーに表示させてみた

自分の日記の人気エントリーを表示すれば、初めてこの日記を訪れた人にとって分かりやすいかと思った。そこで、はてなダイアリーのRSSモジュールを使って、自分の日記のエントリーをサイドバーに表示させてみた。次のHTMLをデザインに追加して、 <div class="hatena-module"> <hatena name="rss" url="http://b.hatena.ne.jp/entrylist?mode=rss&url=http%3A%2F%2Fd.hatena.ne.jp%2Fllamerada%2F&sort=count&threshold=3"> </div>cssを次の…

使い捨てWebアプリケーションを作る為の道具としてのRuby on Rails

私のとってRuby on Rails(RoR)は、使い捨てWebアプリケーション(WebApp)を作る為の道具である。ちょうど、Rubyが私にとって使い捨てプログラムを作る為の道具であるように。そして、RoRは使い捨てWebAppを作るのにとても向いている道具だと思う。念の為に言…

C++プログラムの"defined in discarded section"エラー対策メモ

自作のC++プログラムをあるdebian環境でコンパイルしたところ、 "defined in discarded section" とエラーが出てコンパイル出来なかった。少し調べてみたところ、binutilsのバージョンが新しいとうまくコンパイルできないらしい。binutilsをダウングレードす…

Rubyのnet/httpでファイルをダウンロードする時に確実に例外を捕捉するには

いつも解決法を忘れて、同じ失敗をするので、備忘録を兼ねてメモ。次のように書く。 require 'net/http' Net::HTTP.version_1_2 begin Net::HTTP.start('www.example.com', 80) {|http| response = http.get('/index.html') puts response.body } rescue Exc…

表示中のページをブックマークしたユーザのブックマーク一覧を表示するブックマークレット

「XML を JSON に変換するサービス」と「はてなブックマーク」を使って、表示中のページと関連するかもしれないページを表示するブックマークレットを作ってみました。このブックマークレットを使うと、表示中のページをブックマークしたユーザの中から一人…

RSSリーダ・サービスが更新チェックするフィードを選択するアルゴリズム(修正版)

先日、はてなは理系の会社? - higepon blogのエントリに触発されて、RSSリーダ・サービスが更新チェックするフィードを選択する戦略を考えた。(更新をチェックするRSSフィードの賢い選択方法 - llameradaの日記)一応の結果を得たものも、先日の計算で求め…

任意のコマンドをreadline化するRubyスクリプト

telnetなどのreadlineが組み込まれていない環境で入力を間違えた場合、ctrl+BSで文字を削除する(bash環境)。これでも十分ではあるが、慣れ親しんだemacsキーバインドが使えた方が便利だと思った。そこで、任意のコマンドをreadline環境下で実行するスクリプ…