Kawa.net xp - ajax/JavaScript/Perl/CGI（川崎有亮）
Description: 川崎有亮の制作したプログラムのご紹介・技術情報など。ajax/JavaScript/Perl/CGI/...

- 川崎有亮（かわさきゆうすけ）のホームページです。
  このサイトには主に ajax、JavaScript、Perl、CGI などの技術情報を載せています。
- 『日経ソフトウェア』10月号の第2特集 「Ajax完全マスター」を執筆しました。 →執筆活動
- 著書 『Ajax 実装のための基礎テクニック』（技術評論社）の増刷が決定しました。（共著）
- flickr の写真が 200枚を超えてしまったので、10月から Picasa Web Album に移行しました。

## WHAT'S NEW...

## PERL...

- HTML::TagParser - HTMLソースの解析／属性値やinnerTextの取得
  HTML ソースコードの解析を行う Perl モジュールです。
  DOM 風のインターフェースで、各 HTML タグごとに属性値やinnerText値を取得できます。
- Lingua::*::Romanize::* 日中韓／ローマ字変換モジュール
  日本語・中国語(北京語・広東語)・韓国語の読みをローマ字化します。
- WebService::Hatena::BookmarkCount／はてなブックマーク件数取得APIへのインターフェース
  はてなブックマーク件数取得APIにアクセスし、 指定したURLの被ブックマーク件数を取り出すモジュール。
- XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合
  RSS（RSS 2.0）・RDF（RSS 1.0）・Atom（0.3）の3フォーマットの Web フィードの読み書きに対応したモジュール。フォーマット間の変換や、複数のファイルの結合ができるモジュール。
- XML::TreePP - XMLファイル展開モジュール
  XML::TreePP モジュールは、 XML ファイルを解析してツリー構造のハッシュに展開します。 コンパイル不要の Pure Perl 実装なので、 プロバイダのレンタルサーバ環境でも .pm ファイル単体のコピーのみで手軽に利用できます。
- KCatch.pm - Perl CGI エラーメッセージをブラウザに表示
  Perl CGI の Internal Server Error を補足してエラー内容を表示してくれるモジュール。
  エラーのおきた行番号なども表示されるので、サーバ上での開発に最適です。
- phone.pl - 携帯電話キャリア自動判別ライブラリ
  携帯電話向け Perl CGI コンテンツでキャリアを自動判別するためのライブラリ。
- queue-fast.pl - qmail のメールキューの閲覧・削除
  qmail のメールキューを閲覧・削除する Perl プログラムです。
- 日本語処理・携帯絵文字処理関係のモジュール
  日本語を含む多言語処理(主にUTF8、Shift_JIS、ISO-2022-JP。 その他にLatin1、EUC-JP、EUC-KR、Big5、GB2310などにも対応)や、 iモード・ボーダフォン・EZweb 携帯絵文字処理関連のモジュールです。
- DBIwrap.pm - データベース処理関係のモジュール
  DBI/DBD を用いたデータベース処理を補助するモジュールです。 検索系の独自メソッドと、遅延接続用のサブクラスを提供します。
- Shift_JIS に含まれない文字をエスケープするパッチ
  川崎の『﨑』の字や、高梨くんの『髙』の字のような、 Unicode には含まれるが Shift_JIS に存在しない文字を &#xHHHH; 形式にエスケープするためのメモと、Jcode.pm と Unicode::Map モジュール用のパッチプログラムです。

## AJAX...

- ADDRAjax - Ajaxによる住所ドリルダウン検索
  都道府県名→市区町村名→町域とドリルダウンで住所を検索するフォーム作成ライブラリ。
  このライブラリを利用すると、 AlpsCliplet のような地図連携システムも作れたりします。
- AjaxZip2 - Ajax郵便番号→住所自動入力フォーム（CGI不要版）
  郵便番号から該当する都道府県名・住所を自動的に入力するフォーム作成ライブラリ。
  Ajax を利用しており、JavaScript のみで稼動するため、導入もカンタンです。
  Perl CGIを利用する前バージョンは こちら。
- XML.ObjTree - XML～JavaScriptオブジェクト変換クラス
  XML ファイルと JavaScript オブジェクト（連想配列）間の相互変換を行うライブラリ。
  prototype.js または JSAN の HTTP.Request クラスと併用することで、 ↓JKL.ParseXML の後継としても利用できます。
- JKL.ParseXML - XML→JSON展開クラス
  XMLファイルをダウンロードして、JavaScriptオブジェクトに変換するライブラリ。
- 日本語（漢字かな混じり文）にローマ字ルビを振る ajax
  日本語にローマ字でルビを振る ajax なウェブサービスです。
- 中国語にローマ字ルビを振る ajax（ピンイン）
  簡体字・繁体字の中国語にピン音でルビを振る ajax なウェブサービスです。
- 韓国語（ハングル）にローマ字ルビを振る ajax
  韓国語（ハングル）にルビを振る ajax なウェブサービスです。
- AjaxTB／トラックバック機能を静的HTMLページに追加するJavaScript
  静的HTMLページにトラックバック機能を追加します。
- AjaxCom／静的HTMLページに1行コメントを書き込める掲示板
  静的HTMLページに1行コメントを書き込める掲示板機能を追加します。
- Safari の responseText で UTF-8 コード文字化け回避
  クロスブラウザ対応の ajax を書くための TIPS。数行で Safari 対応に！
- Content-Type: 許容判定
  XML ファイルの Content-Type: 制限の判定と、各ブラウザの状況まとめ
- Expanding DOM tree (cross browser DOM inspector)
  DOM の内容を画面に表示する（iCabとOmniWebのDOM展開処理バグの検証用に作成）
- JavaScript版 RSSリーダー (ajax)
  ウェブページ内に設置するタイプの RSS リーダーです。
  設置手順 もまとめておきました。

## JAVASCRIPT...

- マウスオーバーでリンク先サムネイル表示
  Yahoo! UI Library と Simple API のマッシュアップ。
- Safari for Intel Mac専用ブラウザクラッシャー2行
  PowerPC 版と Intel Mac 版の Safari の動作の違いについてメモ。 Intel Mac 専用の2行でブラクラです。
- JSAN Search
  JSAN に登録されている JavaScript ライブラリを検索します。
- ナンバープレイス（数独／ナンバークロス）を解くJavaScript
  9×9マスのナンバープレイスを JavaScript で素早く解きます。 手元の問題集に載っていた上級編の問題は全て解けました。
- Animation.Cube - サイコロ回転エフェクト (rotating cube animation)
  アニメーション処理エフェクト第2段。Mac○S Xのユーザ切替えみたいなやつ。
- Animation.Raster - ラスタースクロールだ！
  JavaScript で擬似ラスタースクロール してみました。うねうねします。
- Date.W3CDTF - ISO-8601日時フォーマット対応JavaScriptクラス
  Date.W3CDTF クラスは、JavaScript ビルドインの Date オブジェクトを継承して、W3CDTF の入出力に対応します。 今回はテストスクリプトも書いて、初めて JSAN に登録してみました。
- Nクイーン問題（ノンプリエンプティブマルチタスク風）
  JavaScript をノンプリエンプティブマルチタスク風に組むことで、 ブラウザの動作をロックせずにNクイーン問題を解いてみる習作です。
- dataスキームURI生成（画像データのBase64変換）
  Greasemonkey のユーザスクリプトなどの JavaScript ソースコード内に画像データを埋め込める、 『`data:image/gif;base64,～～～`』形式のデータ（dataスキーム）を生成します。
- 乱数パスワードを自動生成するJavaScript
  複数アカウントの生パスワードの生成作業に使えるサンプルです。 JavaScript はクライアント PC 上で実行され、 インターネット側に結果は転送されませんから、 手軽な乱数発生器としてご利用いただけます。
- JavaScript ことはじめ
  真偽、型変換、比較演算子などの基本について、自分の確認のためにまとめておきます。
- JKL.Form - フォームクラス（セレクト／チェックボックス）
  選択中の項目を上下に移動、全項目選択・解除、項目追加・削除などの関数。
- JKL.Debug - デバッグクラス
  JavaScript からデバッグ表示。
- JKL.Calener - ポップアップのカレンダー表示クラス
  日付選択フォームを使いやすくする
- jkl-noerror.js - エラー表示の抑止
  JavaScript のエラーメッセージ表示を回避します。
- 自動フリガナ入力フォーム
  携帯電話のアドレス帳みたいに、名前を入力するとフリガナ欄も自動入力されます。
- JKL.Hina - テンプレート展開クラス
  HTMLテンプレート展開処理。
- JKL.Dumper - JSONデータダンプクラス
  変数の内容をJSON形式テキストにダンプ。
- JKL.Resizable - サイズ可変エレメント
  エレメントの右端・下端・右下隅をマウスでドラッグして、縦・横のピクセル数を変更できるようにします。
- JKL.Floating - フローティングエレメント（ドラッグ移動）
  エレメントをマウスでドラッグして移動できます。
- ECMAScript for XML (E4X) を試してみた
  JavaScript のソースコード中に XML コードを埋め込めるようになります。
- Greasemonkey ユーザスクリプト
  試しに作ってみた、簡単な Greasemonkey ユーザスクリプトです。

## ASIAN LANGUAGES...

- Ruby on Chinese (BIG5)
  繁体字(BIG5コード)を入力すると、自動で全部の漢字にルビをふります。
  ルビは広東語読み(Cantonese)と標準語読み(Mandarin Pinyin)が選べます。
  表示には繁体字フォントが必要です。(Windows では MingLiU)
  広東語：　日(yat) 本(boon) 人(yan)
  標準語：　日(ri) 本(ben) 人(ren)
  Internet Explorer 以外では動作確認できていません。
  BIG5コードのWEBページからコピー＆ペーストして使うことを想定しています。 あるいは、例えば日本語 IME で「日本人」と普通に入力しても IE が自動的に BIG5 に変換して送信してくれるようですから、 中国語 IME かは特に必要ありません。
  フリーソフト cxterm 添付の辞書を利用しています。
- CCDICT Search
  こちらもRuby on Chinese 同様ですが、ルビは振らずに結果を一覧表示します。
  広東語読みと標準語読みに加えて、客家読み(Hakka)及び英訳に対応しています。
  文字コードも繁体字、簡体字、Shift_JIS、UTF-8 と多言語で安心(笑)。
  フリーの辞書CCDICTを利用しています。（Thomasさんありがとう）
- Roman-to-Hangul Convertion Service
  アルファベットを入力すると、ハングル表記に変換するプログラム。

## EXTRA...

- アニメーションエフェクトとJSAN
  Shibuya.js テクニカルトーク#1（2006/04/15）のライトニングトークで発表させていただいた資料。
  「パワーポイント禁止令」が出ていたので、HTML＋CSS＋JavaScript で作成しています。
- Content-Encoding: gzipのテスト
  HTTP/1.1 では、コンテンツの圧縮転送ができるそうです。 ブラウザが gzip 圧縮が利用可能かを自動判定して、 HTML 本文を圧縮転送する CGI サンプルプログラムを作成してみました。
- シグマリオンIIIでFOMA接続／SDカードリーダ
  NTTドコモのシグマリオンⅢ用の USB(mini-A)～USB(A) 変換ケーブルを入手したので、 FOMA 接続や PC カードリーダに挑戦してみました。
- Kawa.NeT 2001
  1999年～2001年の旧バージョン（ほとんど更新していなかった）