memo.xight.org

日々のメモ

Vibe Streamer - フリーの MP3 ストリーミングサーバ

Summary

クリックして拡大

動作環境は Windows NT, Windows 2000, Windows XP, Windows 2003.

サポートするブラウザは Windows の Internet Explorer, Firefox, Opera.
Macintosh のブラウザはまだ対応していないとのこと.

ストリーミングサーバの設定画面

クリックして拡大クリックして拡大クリックして拡大
クリックして拡大クリックして拡大クリックして拡大

デフォルトの Skin

クリックして拡大クリックして拡大クリックして拡大

Reference

Vibe Streamer - Free MP3 streaming server
http://www.vibestreamer.com/vibestreamer/

Silva - ZopeによるCMS

Summary

オランダのソフトウェア開発会社 Infrae が開発している,Zopeを使用したCMS.
コンテンツを XML で保存している.

Zope を使用したCMS Plone と比較すると,
Plone はポータルサイト向き,Silva はWebサイト構築向き,らしい.

DocmaServer

Infrae 社は,Silvaのドキュメント (Silva XML) を XML-RPCでリモートからWordファイルとして取り出したり,
逆に,Wordファイルから Silva XMLに変換したりできる,DocmaServer も開発している.
DocmaServer は Windows + ActivePython で動作する.

Reference

Infrae Products: Silva
http://www.infrae.com/products/silva

Download: DocmaServer
http://www.infrae.com/download/DocmaServer

via

Kazuya Fukamachi's home page - Silvaについて
http://www.atransia.co.jp/home/fukamachi/Silva

Debian GNU/Linux に Zope ,Plone のインストール

Zopeのインストール

# aptitude install zope zope2.7


以下のエラーが発生する.

dpkg: zope の読み込みエラーです(--configure):
 サブプロセス post-installation script はエラー終了ステータス 22 を返しました。。

# zopectl pcgi
Creating PCGI resource file for default... done.
# zopectl init
Initializing Zope instance home for default... done.
# zopectl access
Setting up initial user for default...Password: パスワードを入力
Verify password: パスワードを入力
 done.

# aptitude install zope

Ploneのインストール

# aptitude install plone

Zopeを起動

# /etc/init.d/zope start

以下が表示されればOK.
http://localhost:9673/




Zopeの管理画面

Zope管理画面へアクセス
http://localhost:9673/manage

ユーザ名 Admin
パスワード zopectl access を行った際に入力したパスワード

作業用ユーザの作成

1. [Root Folder] - [acl_users] をクリック
2. [Add...] をクリック
3. ユーザ名,パスワードを入力,Domains は空,Rolesはとりあえずすべて選択し,[Add]をクリック.
4. ログアウトして,作成したユーザで再ログイン.

Plone を設定

1. 右ペインの[Add Product]の左のメニューから[Plone Site]を選択し,[Add Product]をクリック.
2. IDに適当な名前を入力し,[Add Plone Site]をクリック.
   http://example.com:9673/入力したID でアクセスできるようになる.
3. 左ペインの[Refresh]をクリックすると,左ペイン内に[plone]が現れる.

Reference

DESKTOP.Good-Day.net - 運営スタッフblog - Debian GNU/Linux SargeにZopeとPloneをインストールする
http://desktop.good-day.net/blog/?software/zope/plone/install.htm

PostgreSQLの基本

ユーザ作成

# groupadd postgres
# useradd -m postgres -g postgres
# passwd postgres


初期設定

$ su - postgres
$ initdb
$ createdb





データベースを作成

$ createdb dbname


エンコードを指定してデータベースを作成

$ createdb -E Unicode dbname


データベースの削除

$ dropdb dbname


データベースに接続する

$ psql dbname


psqlを終了する

dbname=> \q





SQLのヘルプを表示する

dbname=> \h


内部コマンドのヘルプを表示する

dbname=> \?





データベース,テーブル,ユーザ一覧を取得

  - データベース一覧を取得

dbname=> SELECT * FROM pg_database;


  - テーブル一覧を取得

dbname=> SELECT * FROM pg_tables;


  - ユーザ一覧を取得

dbname=> SELECT * FROM pg_user;





バックアップ

  - バックアップ

$ pg_dump dbname > outfile


  - リストア

$ psql dbname < infile


  - データベースクラスタ全体をバックアップ

$ pgdumpall > outfile


  - データベースクラスタ全体をリストア

$ psql -f infile postgres


  - 大規模データベースの圧縮ダンプ

$ pg_dump dbname | gzip > filename.gz


  - 圧縮ダンプからのリストア

$ createdb dbname
$ gunzip -c filename.gz | psql dbname


Reference

PostgreSQL日本語ドキュメント
http://www.postgresql.jp/document/

"送る" (SendTo) のリスト一覧表示を高速化

Summary

ファイルを右クリック -> "送る" のリスト表示が遅い.
3.5 インチ FD (A:) を表示するのに時間がかかっている.

Windows2000 では %USERPROFILE%\SendTo に FDD へのショートカットがあり,
削除することで対応できたが,Windows XP だと行えない.

フロッピー ディスク ドライブを無効にすることで,
"送る" のリスト表示を高速化することができる.

FDDが付いていないPCでも有効.

方法

1. [マイコンピュータ] を右クリックして [管理] をクリックし,[コンピュータの管理]画面 を表示する.
2. [コンピュータの管理] - [システム ツール] - [デバイス マネージャ] をクリック.
3. 右画面の [フロッピー ディスク ドライブ] - [フロッピー ディスク ドライブ]をダブルクリック.
4. [全般]タブ - [デバイスの使用状況] から [このデバイスを使わない (無効)] を選択.
5. OKをクリック.

コンピュータの管理 画面
フロッピー ディスク ドライブのプロパティ

これで,右クリックから "送る" 時にストレスを感じることは無くなった.

JSide - JavaScript 統合開発環境

Summary

Java で開発された,オープンソースの JavaScript 統合開発環境.
ライセンスは GNU LGPL (GNU LESSER GENERAL PUBLIC LICENSE) Version 2.1

o シンタックス色付け
o ブレース対応明示
o JavaScript関数アウトライン
o 文法チェック
o Undo / Redo
o ソースコードの印刷機能

Reference

JSide : JavaScript IDE
https://jside.dev.java.net/

via

JavaScript統合開発環境 JSide 1.0 登場
http://journal.mycom.co.jp/news/2006/06/28/345.html

via ([2006-10-11]追記)

MOONGIFT - JSide
http://oss.moongift.jp/intro/i-2532.html

MOONGIFT - JSide レビュー
http://oss.moongift.jp/review/i-2533.html

Google Desktop Gadget Contest

Summary

Google Desktop SDKに同梱されている Google Desktop Gadget Designer は,
Google Gadget の制作に必要なテンプレートを生成,ツリーでファイル管理などの開発環境を提供する.

Reference

Google Desktop Gadget Contest
http://desktop.google.com/contest.html

Googleデスクトップ - SDK Overview
http://desktop.google.com/developer.html

Inside Google Desktop
http://googledesktop.blogspot.com/

Google デスクトップ - ダウンロード
http://desktop.google.com/

Google デスクトップガジェットスクリプト入門
http://desktop.google.com/ja/script-primer.html

via

窓の杜 - Google、賞金総額8,000ドルの“ガジェット”制作コンテストを開催
http://www.forest.impress.co.jp/article/2006/06/28/googlegadgetscont.html

PHPの開発環境の見直し

Xdebug

Xdebug
http://www.xdebug.org/

PECL :: Package :: Xdebug
http://pecl.php.net/package/Xdebug

phpDocumentor

phpDocumentor: The complete documentation solution for PHP
http://phpdoc.org/

SourceForge.net: PhpDocumentor
http://sourceforge.net/projects/phpdocu/

APD - Advanced PHP Debugger

PECL :: Package :: apd
http://pecl.php.net/package/apd

Advanced PHP debugger
http://php.s3.to/man/ref.apd.html

APC - Alternative PHP Cache

PECL :: Package :: APC
http://pecl.php.net/package/APC

PHP Accelerator

ionCube社が無償で提供しているソフトウェア.
The ionCube PHP Accelerator: Home
http://www.php-accelerator.co.uk/

ionCube PHP Encoding and Acceleration: ionCube PHP Accelerator
http://www.ioncube.jp/accelerator/

Reference

Do You PHP? - Xdebugを導入してみる - JavaのStackTraceが欲しい!
http://www.doyouphp.jp/tips/tips_xdebug.shtml
phpDocumentor - phpspot
http://phpspot.net/php/pgphpDocumentor.html

via

FrOSCon "PHP best practices"資料 (SOLVALOU.NET)
http://solvalou.net/2006/06/froscon_php_best_practices.html

康竜

Summary

とんこつラーメンの店.

麺の固さ,味の濃さ,油の量,ネギの有無,旨味辛だれの量,チャーシューの有無を選択可能.
さらに,自分仕立てラーメンは,8種類のトッピングから4種類を選択可能.

麺がいわゆる「とんこつ」っぽくない.
粉っぽい麺が苦手な人にはオススメの店.

「一蘭」の仕切りがない版.といえば分かりやすい.

Data

住所 東京都千代田区外神田4-14-1 秋葉原UDXビル2F
電話番号 03-5207-8410
最寄駅 秋葉原

Reference

康竜
http://www.kouryu.org/

宝塚記念

予想

1着 8
2着 1,3,4,6
3着 1,3,4,6,10,11
の三連単フォーメーション買い.(20通り)

lm-sensors でハードウェアモニタリング

Summary

lm-sensors でCPU,M/B,電圧,FANの回転数などの情報が取得可能.

Install

# aptitude install lm-sensors


Setting

# /usr/sbin/sensors-detect

This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.

It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

 We can start with probing for (PCI) I2C or SMBus adapters.
 You do not need any special privileges for this.
 Do you want to probe now? (YES/no): yes

長々とメッセージが出ただけだった.

Probing for PCI bus adapters...
Use driver `i2c-viapro' for device 00:11.0: VIA Technologies VT8237 South Bridge
Probe succesfully concluded.

As you are not root, we can't load adapter modules. We will only scan
already loaded adapters.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

 To continue, we need module `i2c-dev' to be loaded.
 If it is built-in into your kernel, you can safely skip this.
 i2c-dev is not loaded. As you are not root, we will just hope you edited
 `/etc/modules.conf' for automatic loading of
 this module. If not, you won't be able to open any /dev/i2c-* file.

 We are now going to do the adapter probings. Some adapters may hang halfway
 through; we can't really help that. Also, some chips will be double detected;
 we choose the one with the highest confidence value in that case.
 If you found that the adapter hung after probing a certain address, you can
 specify that address to remain unprobed. That often
 includes address 0x69 (clock chip).

Some chips are also accessible through the ISA bus. ISA probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

As you are not root, we shall skip this step.

Some Super I/O chips may also contain sensors. Super I/O probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

As you are not root, we shall skip this step.

 Sorry, no chips were detected.
 Either your sensors are not supported, or they are
 connected to an I2C bus adapter that we do not support.
 See doc/FAQ, doc/lm_sensors-FAQ.html, or
 http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/lm_sensors-FAQ.html
 (FAQ #4.24.3) for further information.
 If you find out what chips are on your board, see
 http://secure.netroedge.com/~lm78/newdrivers.html for driver status.

実行してみる

$ sensors
Can't access procfs/sysfs file
Unable to find i2c bus information;
For 2.6 kernels, make sure you have mounted sysfs and done
'modprobe i2c_sensor'!
For older kernels, make sure you have done 'modprobe i2c-proc'!

再チャレンジ

# modprobe i2c-viapro
# sensors
No sensors found!

... センサーが見つかりませんでした.

Reference

ずんWiki - lm-sensorsでハードウェアモニタリング
http://www.kawaz.jp/pukiwiki/?lm-sensors%A4%C7%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2%A5%E2%A5%CB%A5%BF%A5%EA%A5%F3%A5%B0

Temperature above threshold

Summary

突然,ターミナルに以下のメッセージが表示された.

Message from syslogd@hostname at Fri Jun 23 21:54:41 2006 ...
hostname kernel: CPU0: Temperature above threshold

Message from syslogd@hostname at Fri Jun 23 21:54:41 2006 ...
hostname kernel: CPU0: Running in modulated clock mode

Message from syslogd@hostname at Fri Jun 23 21:54:47 2006 ...
hostname kernel: CPU0: Temperature above threshold

Message from syslogd@hostname at Fri Jun 23 21:54:47 2006 ...
hostname kernel: CPU0: Running in modulated clock mode

原因はCPU温度が高すぎたため.
CPU温度は64度だった.

Reference

Fedora JP 掲示板 - GNOMEターミナルおかしいです...
http://bbs.fedora.jp/read.php?FID=3&TID=1241

再利用可能なコードを書くための10のコツ

Summary

 1. DRY (Don't Repeat Yourself.)
 2. class/method は1機能のみ.
 3. ユニットテストコードを書き,テストを楽にする.
 4. ビジネスロジック,メインコードはフレームワークに依存しないように書く.
 5. より抽象的に考え,インタフェースとアブストラクトクラスを使用する.
 6. 拡張することを意識したコードを書け.
 7. 必要でないコードを書くな.
 8. 結合度を弱めるようにしろ.
 9. モジュール化.
10. 自分のコードが常に外部APIであるようなコードを書け.

Reference

A Funny Java Flavoured Look at the World: 10 tips on writing reusable code
http://hoskinator.blogspot.com/2006/06/10-tips-on-writing-reusable-code.html

負荷分散でスケールアウトの考え方

Reference

最速配信研究会 - 2006-04-26 - 画像配信の負荷分散も比較的簡単?
http://d.hatena.ne.jp/yamaz/20060426

最速配信研究会 - 2006-05-08 - 画像配信の負荷分散も比較的簡単? (その2)
http://d.hatena.ne.jp/yamaz/20060508

最速配信研究会 - 2006-05-09 - 画像配信の負荷分散も比較的簡単? (その3)
http://d.hatena.ne.jp/yamaz/20060509

最速配信研究会 - 2006-05-10 - 画像配信の負荷分散も比較的簡単? (その4)
http://d.hatena.ne.jp/yamaz/20060510

via

オレンジニュース - 2006-06-21
http://secure.ddo.jp/~kaku/tdiary/20060621.html#p07

JavaScript Library World Cup - JavaScriptライブラリの比較

Summary

Dojo,Prototype.js,Mochikit,Yahoo UI Libraryの基本的な使い方と利点/欠点を紹介.

Reference

The JavaScript Library World Cup [JavaScript & DHTML Tutorials]
http://www.sitepoint.com/article/javascript-library

via

phpspot開発日誌 - 2006-06-21 - Ajaxフレームワークでワールドカップ
http://phpspot.org/blog/archives/2006/06/ajax_15.html

BumpTop 3D Desktop Prototype - 机上の書類をメタファに用いたデスクトップ

Summary

実際の机上の書類をメタファに用いたデスクトップの表現方法.
デスクトップは机,ファイル,ウィンドウは書類のように表現される.
マウスジェスチャーで操作可能.

ファイル,ウィンドウはグループ化して積み重ねることが可能 (Tidy Pile).
積み重ねたファイル,ウィンドウは,以下のようにブラウズ可能.

Grid Widget グリッド整列
Fisheye Widget 注目点を拡大して表示 (Fisheye View)
Compression Browse Widget 本のページをめくるようにブラウジングできる.
Fan-Out Widget トランプを滑らせるように並べる.
Leafer Widget 本のページをめくるようにブラウジングできる.(Compression Browse Widgetと類似)
Messy/Tidy Widget ファイルの積み上げ,散乱をゆっくり行う.

BumpTop 3D Desktop Prototype Demo



Reference

BumpTop
http://www.bumptop.com/

overLIB - マウスオーバーによるツールチップ生成 JavaScriptライブラリ

Reference

overLIB
http://www.bosrup.com/web/overlib/

www.Javable.Jp - Notes:overLib リファレンス
http://www.javable.jp/notes/webscripts/overlibref.html

KANWAKYUDAI::Blog - 2004-01-14 - overLIBでツールチップ表示
http://guitar.jp/MT/archives/000181.php

via

Smarty入門 PHP5+テンプレート・エンジンでつくるMVCアプリケーション pp.200

Unicode Normalizer extension - 文字列を Unicode 正規化する PHP 拡張モジュール

Summary

UTF-8で変換できない機種依存文字を置換する [2006-06-19-13] の PHP拡張モジュールを発見.
IBMによる ICU (International Components for Unicode) を用いて正規化する.

Reference

Page2 - Unicode Normalizer extension
http://page2.xrea.jp/#php_unorm

IBM Globalization - ICU
http://www-306.ibm.com/software/globalization/icu/

Unicode::Normalize で機種依存文字の置換 (Unicodeの正規化)

Summary

UTF-8で変換できない機種依存文字を置換する [2006-06-19-13] の Perl版.
Unicode::Normalize を用いることで簡単に実現できる.

機種依存文字の変換ではなく,正しくは "Unicode の正規化" という作業のようだ.

Reference

daily dayflower - Unicode::Normalize で遊ぶ
http://d.hatena.ne.jp/dayflower/20060605/1149478073

perl5.8のUnicodeサポート
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html#normalization

Unicode正規化
http://homepage1.nifty.com/nomenclator/unicode/normalization.htm

Unicode::Normalize

mew で No first boundary for Multipart/Mixed エラー

Summary

Multipart のメールを開くときにエラーが発生.
Tマークが付いているメールは,"I"で本文全体を取り込めば良い.

Reference

[mew-dist 26489] MIME decoding error
http://www.mew.org/pipermail/mew-dist/2005-July/026177.html

[mew-dist 26490] Re: MIME decoding error
http://www.mew.org/pipermail/mew-dist/2005-July/026178.html

Clean CSS - CSSの最適化,ファイルサイズ削減ツール

Summary

テキストフィールドにCSSを入力するか,CSSが置いてあるURLを指定して,"Process CSS" をクリック.
クリックして拡大

使用前 (196byte)

#example {
	color: rgb(0,0,0);
	background-color: #ffffff;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 5px;
	margin-left: 5px;
	margin-right: 5px;
	padding: 10px 5px 10px 5px;
}


使用後 (Compression: Low)

#example
{
	color:#000;
	background-color:#fff;
	font-weight:700;
	margin:5px;
	padding:10px 5px;
}

入力 196 byte
出力 99 byte
圧縮率 49.5 %
- 97 byte

使用後 (Compression: Standard)

#example {
color:#000;
background-color:#fff;
font-weight:700;
margin:5px;
padding:10px 5px;
}

入力 196 byte
出力 94 byte
圧縮率 52.0 %
-102 byte

使用後 (Compression: High)

#example{color:#000;background-color:#fff;font-weight:700;margin:5px;padding:10px 5px;}

入力 196 byte
出力 87 byte
圧縮率 55.6 %
-109 byte

Reference

Clean CSS - A Resource for Web Designers - Optmize and Format your CSS
http://www.cleancss.com/

きれいな独自フォームの生成方法

Summary

Niceform[2006-04-18-3]のような独自フォームを生成する方法.

Reference

maratz.com - 2006-06-11 - Fancy checkboxes and radio buttons
http://www.maratz.com/blog/archives/2006/06/11/fancy-checkboxes-and-radio-buttons/

via

phpspot開発日誌 - 2006-06-19 - デフォルトのフォームをクールにカスタマイズする方法
http://phpspot.org/blog/archives/2006/06/post_85.html

オープンソースのSNS

open-gorotto

総務省で導入実績があるオープンソースのSNS.

OpenPNE

So-net で導入実績があるオープンソースのSNS.
60サイト以上で運用されている.

ライセンスはGPLと商用ライセンスのデュアルライセンス方式.
PHP + MySQL + (Postfix or sendmail or qmail) で動作.

Affelio

ライセンスはオープンソースライセンス(GPL)とコマーシャルライセンスのデュアルライセンス方式.
Perl + (MySQL or SQLite) で動作.
Affelioアプリと呼ばれるプラグインを追加することで,機能拡張が可能.
SourceForge.jpにプロジェクトが存在.

必要なモジュールは
DBI
URI
LWP
Image::Magick
DBD::mysql or DBD::SQLite

Slashster

http://slashster.com/

Reference

open-gorotto.jp
http://open-gorotto.jp/

OpenPNE
http://docs.openpne.jp/

So-net SNS
http://www.so-net.ne.jp/sns/

Affelio
http://affelio.jp/
Affelio - The Open Social Network
http://open.affelio.jp/
SourceForge.jp: Project Info - Affelio
http://sourceforge.jp/projects/affelio/

Slashster
http://slashster.com/

via

ITpro - 2005-12-16 - 総務省の地域SNSがスタート,オープンソースSNSをベースに
http://itpro.nikkeibp.co.jp/article/NEWS/20051216/226386/

MYCOMジャーナル - Yet Another 仕事のツール 第93回 オープンソースのSNS - OpenPNEを試してみる
http://journal.mycom.co.jp/column/yetanother/093/

UTF-8で変換できない機種依存文字を置換する

Summary

UTF-8 のページから (株) や ローマ数字の I などの文字をメールで送信すると,文字化けする.
文字化けしそうな文字を,ad hoc に機種依存しない文字に変換する.
ローマ数字もカッコで括るか,スペースを挿入したほうが良いかも.

Source

function replaceText($str){
	$arr = array(
		/* --- 0x2100 - 0x2138 (文字種記号) --- */
		// 0x2100 - 0x210F
		'\xE2\x84\x80' => 'a/c',
		'\xE2\x84\x81' => 'a/s',
		'\xE2\x84\x82' => 'C',
		'\xE2\x84\x83' => '?',
		'\xE2\x84\x84' => '?',
		'\xE2\x84\x85' => 'c/o',
		'\xE2\x84\x86' => 'c/u',
		'\xE2\x84\x87' => '?',
		'\xE2\x84\x88' => '?',
		'\xE2\x84\x89' => 'F',
		'\xE2\x84\x8A' => 'g',
		'\xE2\x84\x8B' => '?',
		'\xE2\x84\x8C' => '?',
		'\xE2\x84\x8D' => '?',
		'\xE2\x84\x8E' => '?',
		'\xE2\x84\x8F' => '?',
		// 0x2110 - 0x211F
		'\xE2\x84\x90' => '?',
		'\xE2\x84\x91' => '?',
		'\xE2\x84\x92' => '?',
		'\xE2\x84\x93' => '?',
		'\xE2\x84\x94' => '?',
		'\xE2\x84\x95' => '?',
		'\xE2\x84\x96' => 'No.',
		'\xE2\x84\x97' => '?',
		'\xE2\x84\x98' => '?',
		'\xE2\x84\x99' => '?',
		'\xE2\x84\x9A' => '?',
		'\xE2\x84\x9B' => '?',
		'\xE2\x84\x9C' => '?',
		'\xE2\x84\x9D' => '?',
		'\xE2\x84\x9E' => '?',
		'\xE2\x84\x9F' => '?',
		// 0x2120 - 0x212F
		'\xE2\x84\xA0' => 'SM',
		'\xE2\x84\xA1' => 'TEL',
		'\xE2\x84\xA2' => 'TM',
		'\xE2\x84\xA3' => '?',
		'\xE2\x84\xA4' => '?',
		'\xE2\x84\xA5' => '?',
		'\xE2\x84\xA6' => '?',
		'\xE2\x84\xA7' => '?',
		'\xE2\x84\xA8' => '?',
		'\xE2\x84\xA9' => '?',
		'\xE2\x84\xAA' => '?',
		'\xE2\x84\xAB' => '?',
		'\xE2\x84\xAC' => '?',
		'\xE2\x84\xAD' => '?',
		'\xE2\x84\xAE' => '?',
		'\xE2\x84\xAF' => '?',
		// 0x2130 - 0x2138
		'\xE2\x84\xB0' => 'e',
		'\xE2\x84\xB1' => '?',
		'\xE2\x84\xB2' => '?',
		'\xE2\x84\xB3' => 'M',
		'\xE2\x84\xB4' => 'o',
		'\xE2\x84\xB5' => '?',
		'\xE2\x84\xB6' => '?',
		'\xE2\x84\xB7' => '?',
		'\xE2\x84\xB8' => '?',
		
		/* ref
		* 機種依存文字とUnicode - WebStudio
		* http://www.d-toybox.com/studio/lib/romanNumerals.html
		*/
		/* --- 0x2150 - 0x2183 (数字の形) --- */
		// 0x2153 - 0x215F (分数)
		'\xE2\x85\x93' => '1/3',
		'\xE2\x85\x94' => '2/3',
		'\xE2\x85\x95' => '1/5',
		'\xE2\x85\x96' => '2/5',
		'\xE2\x85\x97' => '3/5',
		'\xE2\x85\x98' => '4/5',
		'\xE2\x85\x99' => '1/6',
		'\xE2\x85\x9A' => '5/6',
		'\xE2\x85\x9B' => '1/8',
		'\xE2\x85\x9C' => '3/8',
		'\xE2\x85\x9D' => '5/8',
		'\xE2\x85\x9E' => '7/8',
		'\xE2\x85\x9F' => '1/ ',
		
		// 0x2160 - 0x216F (ローマ数字 : 大文字)
		'\xE2\x85\xA0' => 'I',
		'\xE2\x85\xA1' => 'II',
		'\xE2\x85\xA2' => 'III',
		'\xE2\x85\xA3' => 'IV',
		'\xE2\x85\xA4' => 'V',
		'\xE2\x85\xA5' => 'VI',
		'\xE2\x85\xA6' => 'VII',
		'\xE2\x85\xA7' => 'VIII',
		'\xE2\x85\xA8' => 'IX',
		'\xE2\x85\xA9' => 'X',
		'\xE2\x85\xAA' => 'XI',
		'\xE2\x85\xAB' => 'XII',
		'\xE2\x85\xAC' => 'L',
		'\xE2\x85\xAD' => 'C',
		'\xE2\x85\xAE' => 'D',
		'\xE2\x85\xAF' => 'M',
		
		// 0x2170 - 0x217F (ローマ数字 : 小文字)
		'\xE2\x85\xB0' => 'i',
		'\xE2\x85\xB1' => 'ii',
		'\xE2\x85\xB2' => 'iii',
		'\xE2\x85\xB3' => 'iv',
		'\xE2\x85\xB4' => 'v',
		'\xE2\x85\xB5' => 'vi',
		'\xE2\x85\xB6' => 'vii',
		'\xE2\x85\xB7' => 'viii',
		'\xE2\x85\xB8' => 'ix',
		'\xE2\x85\xB9' => 'x',
		'\xE2\x85\xBA' => 'xi',
		'\xE2\x85\xBB' => 'xii',
		'\xE2\x85\xBC' => 'l',
		'\xE2\x85\xBD' => 'c',
		'\xE2\x85\xBE' => 'd',
		'\xE2\x85\xBF' => 'm',
		
		// 0x2180 - 0x2182 (ローマ数字: 別表記)
		'\xE2\x86\x80' => 'M',
		'\xE2\x86\x81' => '(5000)',
		'\xE2\x86\x82' => '(10000)',
		
		/* --- 0x2190 - 0x219F (矢印) --- */
		// 0x2190 - 0x219F
		'\xE2\x86\x90' => '->',
		'\xE2\x86\x91' => '(上矢印)',
		'\xE2\x86\x92' => '<-',
		'\xE2\x86\x93' => '(下矢印)',
		'\xE2\x86\x94' => '<->',
		'\xE2\x86\x95' => '(上下矢印)',
		'\xE2\x86\x96' => '(左上矢印)',
		'\xE2\x86\x97' => '(右上矢印)',
		'\xE2\x86\x98' => '(右下矢印)',
		'\xE2\x86\x99' => '(左下矢印)',
		'\xE2\x86\x9A' => '<-/-',
		'\xE2\x86\x9B' => '-/->',
		'\xE2\x86\x9C' => '<~',
		'\xE2\x86\x9D' => '~>',
		'\xE2\x86\x9E' => '<<--',
		'\xE2\x86\x9F' => '-->>',
		
		/* --- 0x2460 - 0x24EF (囲み英数字) --- */
		// 0x2460 - 0x246F
		'\xE2\x91\xA0' => '(1)',
		'\xE2\x91\xA1' => '(2)',
		'\xE2\x91\xA2' => '(3)',
		'\xE2\x91\xA3' => '(4)',
		'\xE2\x91\xA4' => '(5)',
		'\xE2\x91\xA5' => '(6)',
		'\xE2\x91\xA6' => '(7)',
		'\xE2\x91\xA7' => '(8)',
		'\xE2\x91\xA8' => '(9)',
		'\xE2\x91\xA9' => '(10)',
		'\xE2\x91\xAA' => '(11)',
		'\xE2\x91\xAB' => '(12)',
		'\xE2\x91\xAC' => '(13)',
		'\xE2\x91\xAD' => '(14)',
		'\xE2\x91\xAE' => '(15)',
		'\xE2\x91\xAF' => '(16)',
		
		// 0x2470 - 0x247F
		'\xE2\x91\xB0' => '(17)',
		'\xE2\x91\xB1' => '(18)',
		'\xE2\x91\xB2' => '(19)',
		'\xE2\x91\xB3' => '(20)',
		'\xE2\x91\xB4' => '(1)',
		'\xE2\x91\xB5' => '(2)',
		'\xE2\x91\xB6' => '(3)',
		'\xE2\x91\xB7' => '(4)',
		'\xE2\x91\xB8' => '(5)',
		'\xE2\x91\xB9' => '(6)',
		'\xE2\x91\xBA' => '(7)',
		'\xE2\x91\xBB' => '(8)',
		'\xE2\x91\xBC' => '(9)',
		'\xE2\x91\xBD' => '(10)',
		'\xE2\x91\xBE' => '(11)',
		'\xE2\x91\xBF' => '(12)',
		
		// 0x2480 - 0x248F
		'\xE2\x92\x80' => '(13)',
		'\xE2\x92\x81' => '(14)',
		'\xE2\x92\x82' => '(15)',
		'\xE2\x92\x83' => '(16)',
		'\xE2\x92\x84' => '(17)',
		'\xE2\x92\x85' => '(18)',
		'\xE2\x92\x86' => '(19)',
		'\xE2\x92\x87' => '(20)',
		'\xE2\x92\x88' => '1.',
		'\xE2\x92\x89' => '2.',
		'\xE2\x92\x8A' => '3.',
		'\xE2\x92\x8B' => '4.',
		'\xE2\x92\x8C' => '5.',
		'\xE2\x92\x8D' => '6.',
		'\xE2\x92\x8E' => '7.',
		'\xE2\x92\x8F' => '8.',
		
		// 0x2490 - 0x249F
		'\xE2\x92\x90' => '9.',
		'\xE2\x92\x91' => '10.',
		'\xE2\x92\x92' => '11.',
		'\xE2\x92\x93' => '12.',
		'\xE2\x92\x94' => '13.',
		'\xE2\x92\x95' => '14.',
		'\xE2\x92\x96' => '15.',
		'\xE2\x92\x97' => '16.',
		'\xE2\x92\x98' => '17.',
		'\xE2\x92\x99' => '18.',
		'\xE2\x92\x9A' => '19.',
		'\xE2\x92\x9B' => '20.',
		'\xE2\x92\x9C' => '(a)',
		'\xE2\x92\x9D' => '(b)',
		'\xE2\x92\x9E' => '(c)',
		'\xE2\x92\x9F' => '(d)',
		
		// 0x24A0 - 0x24AF
		'\xE2\x92\xA0' => '(e)',
		'\xE2\x92\xA1' => '(f)',
		'\xE2\x92\xA2' => '(g)',
		'\xE2\x92\xA3' => '(h)',
		'\xE2\x92\xA4' => '(i)',
		'\xE2\x92\xA5' => '(j)',
		'\xE2\x92\xA6' => '(k)',
		'\xE2\x92\xA7' => '(l)',
		'\xE2\x92\xA8' => '(m)',
		'\xE2\x92\xA9' => '(n)',
		'\xE2\x92\xAA' => '(o)',
		'\xE2\x92\xAB' => '(p)',
		'\xE2\x92\xAC' => '(q)',
		'\xE2\x92\xAD' => '(r)',
		'\xE2\x92\xAE' => '(s)',
		'\xE2\x92\xAF' => '(t)',
		
		// 0x24B0 - 0x24BF
		'\xE2\x92\xB0' => '(u)',
		'\xE2\x92\xB1' => '(v)',
		'\xE2\x92\xB2' => '(w)',
		'\xE2\x92\xB3' => '(x)',
		'\xE2\x92\xB4' => '(y)',
		'\xE2\x92\xB5' => '(z)',
		'\xE2\x92\xB6' => '(A)',
		'\xE2\x92\xB7' => '(B)',
		'\xE2\x92\xB8' => '(C)',
		'\xE2\x92\xB9' => '(D)',
		'\xE2\x92\xBA' => '(E)',
		'\xE2\x92\xBB' => '(F)',
		'\xE2\x92\xBC' => '(G)',
		'\xE2\x92\xBD' => '(H)',
		'\xE2\x92\xBE' => '(I)',
		'\xE2\x92\xBF' => '(J)',
		
		// 0x24C0 - 0x24CF
		'\xE2\x93\x80' => '(K)',
		'\xE2\x93\x81' => '(L)',
		'\xE2\x93\x82' => '(M)',
		'\xE2\x93\x83' => '(N)',
		'\xE2\x93\x84' => '(O)',
		'\xE2\x93\x85' => '(P)',
		'\xE2\x93\x86' => '(Q)',
		'\xE2\x93\x87' => '(R)',
		'\xE2\x93\x88' => '(S)',
		'\xE2\x93\x89' => '(T)',
		'\xE2\x93\x8A' => '(U)',
		'\xE2\x93\x8B' => '(V)',
		'\xE2\x93\x8C' => '(W)',
		'\xE2\x93\x8D' => '(X)',
		'\xE2\x93\x8E' => '(Y)',
		'\xE2\x93\x8F' => '(Z)',
		
		// 0x24D0 - 0x24DF
		'\xE2\x93\x90' => '(a)',
		'\xE2\x93\x91' => '(b)',
		'\xE2\x93\x92' => '(c)',
		'\xE2\x93\x93' => '(d)',
		'\xE2\x93\x94' => '(e)',
		'\xE2\x93\x95' => '(f)',
		'\xE2\x93\x96' => '(g)',
		'\xE2\x93\x97' => '(h)',
		'\xE2\x93\x98' => '(i)',
		'\xE2\x93\x99' => '(j)',
		'\xE2\x93\x9A' => '(k)',
		'\xE2\x93\x9B' => '(l)',
		'\xE2\x93\x9C' => '(m)',
		'\xE2\x93\x9D' => '(n)',
		'\xE2\x93\x9E' => '(o)',
		'\xE2\x93\x9F' => '(p)',
		
		// 0x24E0 - 0x24EF
		'\xE2\x93\xA0' => '(q)',
		'\xE2\x93\xA1' => '(r)',
		'\xE2\x93\xA2' => '(s)',
		'\xE2\x93\xA3' => '(t)',
		'\xE2\x93\xA4' => '(u)',
		'\xE2\x93\xA5' => '(v)',
		'\xE2\x93\xA6' => '(w)',
		'\xE2\x93\xA7' => '(x)',
		'\xE2\x93\xA8' => '(y)',
		'\xE2\x93\xA9' => '(z)',
		'\xE2\x93\xAA' => '(0)',
		'\xE2\x93\xAB' => '(11)',
		'\xE2\x93\xAC' => '(12)',
		'\xE2\x93\xAD' => '(13)',
		'\xE2\x93\xAE' => '(14)',
		'\xE2\x93\xAF' => '(15)',
		
		/* --- 0x2600 - 0x266F (その他の記号) --- */
		// 0x2600 - 0x260F
		'\xE2\x98\x80' => '(晴)',
		'\xE2\x98\x81' => '(曇)',
		'\xE2\x98\x82' => '(雨)',
		'\xE2\x98\x83' => '(雪)',
		'\xE2\x98\x84' => '?',
		'\xE2\x98\x85' => '(黒星)',
		'\xE2\x98\x86' => '(白星)',
		'\xE2\x98\x87' => '?',
		'\xE2\x98\x88' => '?',
		'\xE2\x98\x89' => '?',
		'\xE2\x98\x8A' => '?',
		'\xE2\x98\x8B' => '?',
		'\xE2\x98\x8C' => '?',
		'\xE2\x98\x8D' => '?',
		'\xE2\x98\x8E' => '(黒電話)',
		'\xE2\x98\x8F' => '(白電話)',
		// 0x2610 - 0x2613
		'\xE2\x98\x90' => '(チェックボックス 空欄)',
		'\xE2\x98\x91' => '(チェックボックス チェック)',
		'\xE2\x98\x92' => '(チェックボックス チェック)',
		'\xE2\x98\x93' => '(チェック)',
		
		// 0x261A - 0x261F
		'\xE2\x98\x9A' => '(左)',
		'\xE2\x98\x9B' => '(右)',
		'\xE2\x98\x9C' => '(左)',
		'\xE2\x98\x9D' => '(上)',
		'\xE2\x98\x9E' => '(右)',
		'\xE2\x98\x9F' => '(下)',
		// 0x2620 - 0x262F
		'\xE2\x98\xA0' => '(ドクロ)',
		'\xE2\x98\xA1' => '?',
		'\xE2\x98\xA2' => '(核)',
		'\xE2\x98\xA3' => '?',
		'\xE2\x98\xA4' => '?',
		'\xE2\x98\xA5' => '?',
		'\xE2\x98\xA6' => '?',
		'\xE2\x98\xA7' => '?',
		'\xE2\x98\xA8' => '?',
		'\xE2\x98\xA9' => '?',
		'\xE2\x98\xAA' => '?',
		'\xE2\x98\xAB' => '?',
		'\xE2\x98\xAC' => '?',
		'\xE2\x98\xAD' => '?',
		'\xE2\x98\xAE' => '?',
		'\xE2\x98\xAF' => '?',
		// 0x2630 - 0x263F
		'\xE2\x98\xB0' => '?',
		'\xE2\x98\xB1' => '?',
		'\xE2\x98\xB2' => '?',
		'\xE2\x98\xB3' => '?',
		'\xE2\x98\xB4' => '?',
		'\xE2\x98\xB5' => '?',
		'\xE2\x98\xB6' => '?',
		'\xE2\x98\xB7' => '?',
		'\xE2\x98\xB8' => '?',
		'\xE2\x98\xB9' => '?',
		'\xE2\x98\xBA' => '?',
		'\xE2\x98\xBB' => '?',
		'\xE2\x98\xBC' => '?',
		'\xE2\x98\xBD' => '?',
		'\xE2\x98\xBE' => '?',
		'\xE2\x98\xBF' => '?',
		// 0x2640 - 0x264F
		'\xE2\x99\x80' => '?',
		'\xE2\x99\x81' => '?',
		'\xE2\x99\x82' => '?',
		'\xE2\x99\x83' => '?',
		'\xE2\x99\x84' => '?',
		'\xE2\x99\x85' => '?',
		'\xE2\x99\x86' => '?',
		'\xE2\x99\x87' => '?',
		'\xE2\x99\x88' => '(おひつじ座)',
		'\xE2\x99\x89' => '(おうし座)',
		'\xE2\x99\x8A' => '(ふたご座)',
		'\xE2\x99\x8B' => '(かに座)',
		'\xE2\x99\x8C' => '(しし座)',
		'\xE2\x99\x8D' => '(おとめ座)',
		'\xE2\x99\x8E' => '(てんびん座)',
		'\xE2\x99\x8F' => '(さそり座)',
		// 0x2650 - 0x265F
		'\xE2\x99\x90' => '(いて座)',
		'\xE2\x99\x91' => '(やぎ座)',
		'\xE2\x99\x92' => '(みずがめ座)',
		'\xE2\x99\x93' => '(うお座)',
		'\xE2\x99\x94' => '(キング 白)',
		'\xE2\x99\x95' => '(クイーン 白)',
		'\xE2\x99\x96' => '(ルーク 白)',
		'\xE2\x99\x97' => '(ビショップ 白)',
		'\xE2\x99\x98' => '(ナイト 白)',
		'\xE2\x99\x99' => '(ポーン 白)',
		'\xE2\x99\x9A' => '(キング 黒)',
		'\xE2\x99\x9B' => '(クイーン 黒)',
		'\xE2\x99\x9C' => '(ルーク 黒)',
		'\xE2\x99\x9D' => '(ビショップ 黒)',
		'\xE2\x99\x9E' => '(ナイト 黒)',
		'\xE2\x99\x9F' => '(ポーン 黒)',
		// 0x2660 - 0x266F
		'\xE2\x99\xA0' => '(スペード)',
		'\xE2\x99\xA1' => '(ハード)',
		'\xE2\x99\xA2' => '(ダイヤ)',
		'\xE2\x99\xA3' => '(クラブ)',
		'\xE2\x99\xA4' => '(スペード)',
		'\xE2\x99\xA5' => '(ハード)',
		'\xE2\x99\xA6' => '(ダイヤ)',
		'\xE2\x99\xA7' => '(クラブ)',
		'\xE2\x99\xA8' => '(温泉)',
		'\xE2\x99\xA9' => '(4分音符)',
		'\xE2\x99\xAA' => '(8分音符)',
		'\xE2\x99\xAB' => '(2つの8分音符)',
		'\xE2\x99\xAC' => '(2つの16分音符)',
		'\xE2\x99\xAD' => '(フラット)',
		'\xE2\x99\xAE' => '(ナチュラル)',
		'\xE2\x99\xAF' => '(シャープ)',
		
		/* --- 0x3220 - 0x324F (囲みCJK文字/月) --- */
		// 0x3220 - 0x322F
		'\xE3\x88\xA0' => '(一)',
		'\xE3\x88\xA1' => '(二)',
		'\xE3\x88\xA2' => '(三)',
		'\xE3\x88\xA3' => '(四)',
		'\xE3\x88\xA4' => '(五)',
		'\xE3\x88\xA5' => '(六)',
		'\xE3\x88\xA6' => '(七)',
		'\xE3\x88\xA7' => '(八)',
		'\xE3\x88\xA8' => '(九)',
		'\xE3\x88\xA9' => '(十)',
		'\xE3\x88\xAA' => '(月)',
		'\xE3\x88\xAB' => '(火)',
		'\xE3\x88\xAC' => '(水)',
		'\xE3\x88\xAD' => '(木)',
		'\xE3\x88\xAE' => '(金)',
		'\xE3\x88\xAF' => '(土)',
		
		// 0x3230 - 0x323F
		'\xE3\x88\xB0' => '(日)',
		'\xE3\x88\xB1' => '(株)',
		'\xE3\x88\xB2' => '(有)',
		'\xE3\x88\xB3' => '(社)',
		'\xE3\x88\xB4' => '(名)',
		'\xE3\x88\xB5' => '(特)',
		'\xE3\x88\xB6' => '(財)',
		'\xE3\x88\xB7' => '(祝)',
		'\xE3\x88\xB8' => '(労)',
		'\xE3\x88\xB9' => '(代)',
		'\xE3\x88\xBA' => '(呼)',
		'\xE3\x88\xBB' => '(学)',
		'\xE3\x88\xBC' => '(監)',
		'\xE3\x88\xBD' => '(企)',
		'\xE3\x88\xBE' => '(資)',
		'\xE3\x88\xBF' => '(協)',
		
		// 0x3240 - 0x3243
		'\xE3\x89\x80' => '(祭)',
		'\xE3\x89\x81' => '(休)',
		'\xE3\x89\x82' => '(自)',
		'\xE3\x89\x83' => '(至)',
		
		/* --- 0x3280 - 0x33FF --- */
		// 0x3280 - 0x328F
		'\xE3\x8A\x80' => '(一)',
		'\xE3\x8A\x81' => '(二)',
		'\xE3\x8A\x82' => '(三)',
		'\xE3\x8A\x83' => '(四)',
		'\xE3\x8A\x84' => '(五)',
		'\xE3\x8A\x85' => '(六)',
		'\xE3\x8A\x86' => '(七)',
		'\xE3\x8A\x87' => '(八)',
		'\xE3\x8A\x88' => '(九)',
		'\xE3\x8A\x89' => '(十)',
		'\xE3\x8A\x8A' => '(月)',
		'\xE3\x8A\x8B' => '(火)',
		'\xE3\x8A\x8C' => '(水)',
		'\xE3\x8A\x8D' => '(木)',
		'\xE3\x8A\x8E' => '(金)',
		'\xE3\x8A\x8F' => '(土)',
		// 0x3290 - 0x329F
		'\xE3\x8A\x90' => '(日)',
		'\xE3\x8A\x91' => '(株)',
		'\xE3\x8A\x92' => '(有)',
		'\xE3\x8A\x93' => '(社)',
		'\xE3\x8A\x94' => '(名)',
		'\xE3\x8A\x95' => '(特)',
		'\xE3\x8A\x96' => '(財)',
		'\xE3\x8A\x97' => '(祝)',
		'\xE3\x8A\x98' => '(労)',
		'\xE3\x8A\x99' => '(秘)',
		'\xE3\x8A\x9A' => '(男)',
		'\xE3\x8A\x9B' => '(女)',
		'\xE3\x8A\x9C' => '(適)',
		'\xE3\x8A\x9D' => '(優)',
		'\xE3\x8A\x9E' => '(印)',
		'\xE3\x8A\x9F' => '(注)',
		// 0x32A0 - 0x32AF
		'\xE3\x8A\xA0' => '(項)',
		'\xE3\x8A\xA1' => '(休)',
		'\xE3\x8A\xA2' => '(写)',
		'\xE3\x8A\xA3' => '(正)',
		'\xE3\x8A\xA4' => '(上)',
		'\xE3\x8A\xA5' => '(中)',
		'\xE3\x8A\xA6' => '(下)',
		'\xE3\x8A\xA7' => '(左)',
		'\xE3\x8A\xA8' => '(右)',
		'\xE3\x8A\xA9' => '(医)',
		'\xE3\x8A\xAA' => '(宗)',
		'\xE3\x8A\xAB' => '(学)',
		'\xE3\x8A\xAC' => '(監)',
		'\xE3\x8A\xAD' => '(企)',
		'\xE3\x8A\xAE' => '(資)',
		'\xE3\x8A\xAF' => '(協)',
		// 0x32B0 - 0x32BF
		'\xE3\x8A\xB0' => '(夜)',
		'\xE3\x8A\xB1' => '(36)',
		'\xE3\x8A\xB2' => '(37)',
		'\xE3\x8A\xB3' => '(38)',
		'\xE3\x8A\xB4' => '(39)',
		'\xE3\x8A\xB5' => '(40)',
		'\xE3\x8A\xB6' => '(41)',
		'\xE3\x8A\xB7' => '(42)',
		'\xE3\x8A\xB8' => '(43)',
		'\xE3\x8A\xB9' => '(44)',
		'\xE3\x8A\xBA' => '(45)',
		'\xE3\x8A\xBB' => '(46)',
		'\xE3\x8A\xBC' => '(47)',
		'\xE3\x8A\xBD' => '(48)',
		'\xE3\x8A\xBE' => '(49)',
		'\xE3\x8A\xBF' => '(50)',
		// 0x32C0 - 0x32CB
		'\xE3\x8B\x80' => '1月',
		'\xE3\x8B\x81' => '2月',
		'\xE3\x8B\x82' => '3月',
		'\xE3\x8B\x83' => '4月',
		'\xE3\x8B\x84' => '5月',
		'\xE3\x8B\x85' => '6月',
		'\xE3\x8B\x86' => '7月',
		'\xE3\x8B\x87' => '8月',
		'\xE3\x8B\x88' => '9月',
		'\xE3\x8B\x89' => '10月',
		'\xE3\x8B\x8A' => '11月',
		'\xE3\x8B\x8B' => '12月',
		
		// 0x32D0 - 0x32DF
		'\xE3\x8B\x90' => '(ア)',
		'\xE3\x8B\x91' => '(イ)',
		'\xE3\x8B\x92' => '(ウ)',
		'\xE3\x8B\x93' => '(エ)',
		'\xE3\x8B\x94' => '(オ)',
		'\xE3\x8B\x95' => '(カ)',
		'\xE3\x8B\x96' => '(キ)',
		'\xE3\x8B\x97' => '(ク)',
		'\xE3\x8B\x98' => '(ケ)',
		'\xE3\x8B\x99' => '(コ)',
		'\xE3\x8B\x9A' => '(サ)',
		'\xE3\x8B\x9B' => '(シ)',
		'\xE3\x8B\x9C' => '(ス)',
		'\xE3\x8B\x9D' => '(セ)',
		'\xE3\x8B\x9E' => '(ソ)',
		'\xE3\x8B\x9F' => '(タ)',
		// 0x32E0 - 0x32EF
		'\xE3\x8B\xA0' => '(チ)',
		'\xE3\x8B\xA1' => '(ツ)',
		'\xE3\x8B\xA2' => '(テ)',
		'\xE3\x8B\xA3' => '(ト)',
		'\xE3\x8B\xA4' => '(ナ)',
		'\xE3\x8B\xA5' => '(ニ)',
		'\xE3\x8B\xA6' => '(ヌ)',
		'\xE3\x8B\xA7' => '(ネ)',
		'\xE3\x8B\xA8' => '(ノ)',
		'\xE3\x8B\xA9' => '(ハ)',
		'\xE3\x8B\xAA' => '(ヒ)',
		'\xE3\x8B\xAB' => '(フ)',
		'\xE3\x8B\xAC' => '(ヘ)',
		'\xE3\x8B\xAD' => '(ホ)',
		'\xE3\x8B\xAE' => '(マ)',
		'\xE3\x8B\xAF' => '(ミ)',
		// 0x32F0 - 0x32FE
		'\xE3\x8B\xB0' => '(ム)',
		'\xE3\x8B\xB1' => '(メ)',
		'\xE3\x8B\xB2' => '(モ)',
		'\xE3\x8B\xB3' => '(ヤ)',
		'\xE3\x8B\xB4' => '(ユ)',
		'\xE3\x8B\xB5' => '(ヨ)',
		'\xE3\x8B\xB6' => '(ラ)',
		'\xE3\x8B\xB7' => '(リ)',
		'\xE3\x8B\xB8' => '(ル)',
		'\xE3\x8B\xB9' => '(レ)',
		'\xE3\x8B\xBA' => '(ロ)',
		'\xE3\x8B\xBB' => '(ワ)',
		'\xE3\x8B\xBC' => '(ヰ)',
		'\xE3\x8B\xBD' => '(ヱ)',
		'\xE3\x8B\xBE' => '(ヲ)',
		
		/* --- 0x3300 - 0x33F0 (CJK互換文字) --- */
		// 0x3300 - 0x330F
		'\xE3\x8C\x80' => 'アパート',
		'\xE3\x8C\x81' => 'アルファ',
		'\xE3\x8C\x82' => 'アンペア',
		'\xE3\x8C\x83' => 'アール',
		'\xE3\x8C\x84' => 'イニング',
		'\xE3\x8C\x85' => 'インチ',
		'\xE3\x8C\x86' => 'ウォン',
		'\xE3\x8C\x87' => 'エスクード',
		'\xE3\x8C\x88' => 'エーカー',
		'\xE3\x8C\x89' => 'オンス',
		'\xE3\x8C\x8A' => 'オーム',
		'\xE3\x8C\x8B' => 'カイリ',
		'\xE3\x8C\x8C' => 'カラット',
		'\xE3\x8C\x8D' => 'カロリー',
		'\xE3\x8C\x8E' => 'ガロン',
		'\xE3\x8C\x8F' => 'ガンマ',
		// 0x3310 - 0x331F
		'\xE3\x8C\x90' => 'ギガ',
		'\xE3\x8C\x91' => 'ギニー',
		'\xE3\x8C\x92' => 'キュリー',
		'\xE3\x8C\x93' => 'ギルダー',
		'\xE3\x8C\x94' => 'キロ',
		'\xE3\x8C\x95' => 'キログラム',
		'\xE3\x8C\x96' => 'キロメートル',
		'\xE3\x8C\x97' => 'キロワット',
		'\xE3\x8C\x98' => 'グラム',
		'\xE3\x8C\x99' => 'グラムトン',
		'\xE3\x8C\x9A' => 'クルゼイロ',
		'\xE3\x8C\x9B' => 'クローネ',
		'\xE3\x8C\x9C' => 'ケース',
		'\xE3\x8C\x9D' => 'コルナ',
		'\xE3\x8C\x9E' => 'コーポ',
		'\xE3\x8C\x9F' => 'サイクル',
		// 0x3320 - 0x332F
		'\xE3\x8C\xA0' => 'サンチーム',
		'\xE3\x8C\xA1' => 'シリング',
		'\xE3\x8C\xA2' => 'センチ',
		'\xE3\x8C\xA3' => 'セント',
		'\xE3\x8C\xA4' => 'ダース',
		'\xE3\x8C\xA5' => 'デシ',
		'\xE3\x8C\xA6' => 'ドル',
		'\xE3\x8C\xA7' => 'トン',
		'\xE3\x8C\xA8' => 'ナノ',
		'\xE3\x8C\xA9' => 'ノット',
		'\xE3\x8C\xAA' => 'ハイツ',
		'\xE3\x8C\xAB' => 'パーセント',
		'\xE3\x8C\xAC' => 'パーツ',
		'\xE3\x8C\xAD' => 'バーレル',
		'\xE3\x8C\xAE' => 'ピアストル',
		'\xE3\x8C\xAF' => 'ピクル',
		// 0x3330 - 0x333F
		'\xE3\x8C\xB0' => 'ピコ',
		'\xE3\x8C\xB1' => 'ビル',
		'\xE3\x8C\xB2' => 'ファラッド',
		'\xE3\x8C\xB3' => 'フィート',
		'\xE3\x8C\xB4' => 'ブッシェル',
		'\xE3\x8C\xB5' => 'フラン',
		'\xE3\x8C\xB6' => 'ヘクタール',
		'\xE3\x8C\xB7' => 'ペソ',
		'\xE3\x8C\xB8' => 'ペニヒ',
		'\xE3\x8C\xB9' => 'ヘルツ',
		'\xE3\x8C\xBA' => 'ペンス',
		'\xE3\x8C\xBB' => 'ページ',
		'\xE3\x8C\xBC' => 'ベータ',
		'\xE3\x8C\xBD' => 'ポイント',
		'\xE3\x8C\xBE' => 'ボルト',
		'\xE3\x8C\xBF' => 'ホン',
		// 0x3340 - 0x334F
		'\xE3\x8D\x80' => 'ポンド',
		'\xE3\x8D\x81' => 'ホール',
		'\xE3\x8D\x82' => 'ホーン',
		'\xE3\x8D\x83' => 'マイクロ',
		'\xE3\x8D\x84' => 'マイル',
		'\xE3\x8D\x85' => 'マッハ',
		'\xE3\x8D\x86' => 'マルク',
		'\xE3\x8D\x87' => 'マンション',
		'\xE3\x8D\x88' => 'ミクロン',
		'\xE3\x8D\x89' => 'ミリ',
		'\xE3\x8D\x8A' => 'ミリバール',
		'\xE3\x8D\x8B' => 'メガ',
		'\xE3\x8D\x8C' => 'メガトン',
		'\xE3\x8D\x8D' => 'メートル',
		'\xE3\x8D\x8E' => 'ヤード',
		'\xE3\x8D\x8F' => 'ヤール',
		// 0x3350 - 0x335F
		'\xE3\x8D\x90' => 'ユアン',
		'\xE3\x8D\x91' => 'リットル',
		'\xE3\x8D\x92' => 'リラ',
		'\xE3\x8D\x93' => 'ルピー',
		'\xE3\x8D\x94' => 'ルーブル',
		'\xE3\x8D\x95' => 'レム',
		'\xE3\x8D\x96' => 'レントゲン',
		'\xE3\x8D\x97' => 'ワット',
		'\xE3\x8D\x98' => '0点',
		'\xE3\x8D\x99' => '1点',
		'\xE3\x8D\x9A' => '2点',
		'\xE3\x8D\x9B' => '3点',
		'\xE3\x8D\x9C' => '4点',
		'\xE3\x8D\x9D' => '5点',
		'\xE3\x8D\x9E' => '6点',
		'\xE3\x8D\x9F' => '7点',
		// 0x3360 - 0x336F
		'\xE3\x8D\xA0' => '8点',
		'\xE3\x8D\xA1' => '9点',
		'\xE3\x8D\xA2' => '10点',
		'\xE3\x8D\xA3' => '11点',
		'\xE3\x8D\xA4' => '12点',
		'\xE3\x8D\xA5' => '13点',
		'\xE3\x8D\xA6' => '14点',
		'\xE3\x8D\xA7' => '15点',
		'\xE3\x8D\xA8' => '16点',
		'\xE3\x8D\xA9' => '17点',
		'\xE3\x8D\xAA' => '18点',
		'\xE3\x8D\xAB' => '19点',
		'\xE3\x8D\xAC' => '20点',
		'\xE3\x8D\xAD' => '21点',
		'\xE3\x8D\xAE' => '22点',
		'\xE3\x8D\xAF' => '23点',
		// 0x3370 - 0x3376
		'\xE3\x8D\xB0' => '24点',
		'\xE3\x8D\xB1' => 'hPa',
		'\xE3\x8D\xB2' => 'da',
		'\xE3\x8D\xB3' => 'AU',
		'\xE3\x8D\xB4' => 'bar',
		'\xE3\x8D\xB5' => 'oV',
		'\xE3\x8D\xB6' => 'pc',
		// 0x337B - 0x337F
		'\xE3\x8D\xBB' => '平成',
		'\xE3\x8D\xBC' => '昭和',
		'\xE3\x8D\xBD' => '大正',
		'\xE3\x8D\xBE' => '明治',
		'\xE3\x8D\xBF' => '株式会社',
		
		// 0x3380 - 0x338F
		'\xE3\x8E\x80' => 'pA',
		'\xE3\x8E\x81' => 'nA',
		'\xE3\x8E\x82' => 'マイクロA',
		'\xE3\x8E\x83' => 'mA',
		'\xE3\x8E\x84' => 'kA',
		'\xE3\x8E\x85' => 'KB',
		'\xE3\x8E\x86' => 'MB',
		'\xE3\x8E\x87' => 'GB',
		'\xE3\x8E\x88' => 'cal',
		'\xE3\x8E\x89' => 'kcal',
		'\xE3\x8E\x8A' => 'pF',
		'\xE3\x8E\x8B' => 'nF',
		'\xE3\x8E\x8C' => 'マイクロF',
		'\xE3\x8E\x8D' => 'マイクロg',
		'\xE3\x8E\x8E' => 'mg',
		'\xE3\x8E\x8F' => 'kg',
		// 0x3390 - 0x339F
		'\xE3\x8E\x90' => 'Hz',
		'\xE3\x8E\x91' => 'kHz',
		'\xE3\x8E\x92' => 'MHz',
		'\xE3\x8E\x93' => 'GHz',
		'\xE3\x8E\x94' => 'THz',
		'\xE3\x8E\x95' => 'マイクロl',
		'\xE3\x8E\x96' => 'Ml',
		'\xE3\x8E\x97' => 'dl',
		'\xE3\x8E\x98' => 'kl',
		'\xE3\x8E\x99' => 'fm',
		'\xE3\x8E\x9A' => 'nm',
		'\xE3\x8E\x9B' => 'マイクロm',
		'\xE3\x8E\x9C' => 'mm',
		'\xE3\x8E\x9D' => 'cm',
		'\xE3\x8E\x9E' => 'km',
		'\xE3\x8E\x9F' => 'mm2',
		// 0x33A0 - 0x33AF
		'\xE3\x8E\xA0' => 'cm2',
		'\xE3\x8E\xA1' => 'm2',
		'\xE3\x8E\xA2' => 'km2',
		'\xE3\x8E\xA3' => 'mm3',
		'\xE3\x8E\xA4' => 'cm3',
		'\xE3\x8E\xA5' => 'm3',
		'\xE3\x8E\xA6' => 'km3',
		'\xE3\x8E\xA7' => 'm/s',
		'\xE3\x8E\xA8' => 'm/s2',
		'\xE3\x8E\xA9' => 'Pa',
		'\xE3\x8E\xAA' => 'kPa',
		'\xE3\x8E\xAB' => 'MPa',
		'\xE3\x8E\xAC' => 'GPa',
		'\xE3\x8E\xAD' => 'rad',
		'\xE3\x8E\xAE' => 'rad/s',
		'\xE3\x8E\xAF' => 'rad/s2',
		// 0x33B0 - 0x33BF
		'\xE3\x8E\xB0' => 'ps',
		'\xE3\x8E\xB1' => 'ns',
		'\xE3\x8E\xB2' => 'マイクロs',
		'\xE3\x8E\xB3' => 'ms',
		'\xE3\x8E\xB4' => 'pV',
		'\xE3\x8E\xB5' => 'nV',
		'\xE3\x8E\xB6' => 'マイクロV',
		'\xE3\x8E\xB7' => 'mV',
		'\xE3\x8E\xB8' => 'kV',
		'\xE3\x8E\xB9' => 'MV',
		'\xE3\x8E\xBA' => 'pW',
		'\xE3\x8E\xBB' => 'nW',
		'\xE3\x8E\xBC' => 'マイクロW',
		'\xE3\x8E\xBD' => 'mW',
		'\xE3\x8E\xBE' => 'kW',
		'\xE3\x8E\xBF' => 'MW',
		// 0x33C0 - 0x33CF
		'\xE3\x8F\x80' => 'kオーム',
		'\xE3\x8F\x81' => 'Mオーム',
		'\xE3\x8F\x82' => 'a.m.',
		'\xE3\x8F\x83' => 'Bq',
		'\xE3\x8F\x84' => 'cc',
		'\xE3\x8F\x85' => 'cd',
		'\xE3\x8F\x86' => 'C/kg',
		'\xE3\x8F\x87' => 'Co.',
		'\xE3\x8F\x88' => 'dB',
		'\xE3\x8F\x89' => 'Gy',
		'\xE3\x8F\x8A' => 'ha',
		'\xE3\x8F\x8B' => '?',
		'\xE3\x8F\x8C' => 'in',
		'\xE3\x8F\x8D' => 'K.K.',
		'\xE3\x8F\x8E' => 'KM',
		'\xE3\x8F\x8F' => 'kt',
		// 0x33D0 - 0x33DF
		'\xE3\x8F\x90' => 'lm',
		'\xE3\x8F\x91' => 'ln',
		'\xE3\x8F\x92' => 'log',
		'\xE3\x8F\x93' => 'lx',
		'\xE3\x8F\x94' => 'mb',
		'\xE3\x8F\x95' => 'mil',
		'\xE3\x8F\x96' => 'mol',
		'\xE3\x8F\x97' => 'pH',
		'\xE3\x8F\x98' => 'p.m.',
		'\xE3\x8F\x99' => 'PPM',
		'\xE3\x8F\x9A' => 'PR',
		'\xE3\x8F\x9B' => 'sr',
		'\xE3\x8F\x9C' => 'Sv',
		'\xE3\x8F\x9D' => 'Wb',
		
		// 0x33E0 - 0x33EF
		'\xE3\x8F\xA0' => '1日',
		'\xE3\x8F\xA1' => '2日',
		'\xE3\x8F\xA2' => '3日',
		'\xE3\x8F\xA3' => '4日',
		'\xE3\x8F\xA4' => '5日',
		'\xE3\x8F\xA5' => '6日',
		'\xE3\x8F\xA6' => '7日',
		'\xE3\x8F\xA7' => '8日',
		'\xE3\x8F\xA8' => '9日',
		'\xE3\x8F\xA9' => '10日',
		'\xE3\x8F\xAA' => '11日',
		'\xE3\x8F\xAB' => '12日',
		'\xE3\x8F\xAC' => '13日',
		'\xE3\x8F\xAD' => '14日',
		'\xE3\x8F\xAE' => '15日',
		'\xE3\x8F\xAF' => '16日',
		// 0x33F0 - 0x33FF
		'\xE3\x8F\xB0' => '17日',
		'\xE3\x8F\xB1' => '18日',
		'\xE3\x8F\xB2' => '19日',
		'\xE3\x8F\xB3' => '20日',
		'\xE3\x8F\xB4' => '21日',
		'\xE3\x8F\xB5' => '22日',
		'\xE3\x8F\xB6' => '23日',
		'\xE3\x8F\xB7' => '24日',
		'\xE3\x8F\xB8' => '25日',
		'\xE3\x8F\xB9' => '26日',
		'\xE3\x8F\xBA' => '27日',
		'\xE3\x8F\xBB' => '28日',
		'\xE3\x8F\xBC' => '29日',
		'\xE3\x8F\xBD' => '30日',
		'\xE3\x8F\xBE' => '31日',
	);
	return str_replace( array_keys( $arr), array_values( $arr), $str);
}


2006-06-23 変更

以下を参考に変更.
よくきたblog - 2006-06 - それってもっと簡単に置換できますよね
http://blog.poyo.jp/archives.php/categ-1/year-2006/month-6/id-1150817399

Reference

機種依存文字とUnicode - WebStudio
http://www.d-toybox.com/studio/lib/romanNumerals.html

ZIPファイルにパスワードを付ける

Summary

特殊なソフトウェアを使用せずに,ZIPファイルにパスワードを付ける方法.

1. ZIPファイルをエクスプローラーで開く.
2. [ファイル] - [パスワードの追加...] をクリック
3. パスワードを入力する

[表示] - [詳細] をクリックすることで,パスワードの有無を確認できる.

Reference

@IT - ZIPファイルにパスワードを付ける
http://www.atmarkit.co.jp/fwin2k/win2ktips/642zippwd/zippwd.html#ope

Wordで保存時に「録音された音声認識入力や、修正候補のようなデータなしで文書が保存されました。」の警告メッセージが表示される

Summary

保存時に,言語データを埋め込む設定になっていることが原因.

解決策

1. [ツール]メニュー - [オプション] をクリック
2. [保存]タブをクリックし
3. [言語データを埋め込む]のチェックボックスをオフにして[OK]ボタンをクリック.

根本的な解決策

上記の解決策は,編集中のファイルのみに有効.
テンプレートファイルの初期値を変更することで,
新規文書作成時にデフォルトで「言語データを埋め込まない」設定が行える.

1. Wordが起動している場合は終了する.
2. キーを押したまま,Wordを起動する.
3. セーフモードで起動するかどうかを質問されるので,セーフモードで起動する.
4. [ファイル] - [開く]をクリック
5. [ファイルの種類]から「文書テンプレート」を選択
6. %APPDATA%Microsoft\Templates\Normal.dot ファイルを開く
7. [ツール] - [オプション]をクリック
8. [保存]タブをクリックし,[言語データを埋め込む]のチェックボックスをオフにして[OK]ボタンをクリック.
9. [ファイル] - [上書き保存]をクリック

Reference

[WD2003] 作業時に "録音された..." や "文書は保存..." メッセージが表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;417842

百禍繚乱 - 新興宗教退治サイト

Summary

今時の新興宗教は以下らしい.

・カリスマ的人間を仕立て上げる
・人間真理の弱点を脅(おど)す
・弱者の論理にあくまでも迎合し,なぐさめる
・現世利益をうたう
・超能力現象を見せる (手品でよい)

- Reference
新興宗教等,邪宗退治の「百禍繚乱」
http://www13.ocn.ne.jp/~ryouran/

量子力学とシュレディンガーの猫

Reference

白のカピバラの逆極限 S144-3 - 2006-06-08 - シュレディンガーの猫
http://d.hatena.ne.jp/nuc/20060608/p4
分裂勘違い君劇場 - 2006-06-18 「シュレディンガーの猫の核心」が核心をついていない理由
http://d.hatena.ne.jp/fromdusktildawn/20060618/1150590590
シュレーディンガーの猫の核心
http://hp.vector.co.jp/authors/VA011700/physics/catwjs.htm
Wikipedia - 二重スリット実験

MovableTypeのコメント投稿をAjax形式にする

Reference

Example Blog - AJAX Comments: AJAX-Comments
http://www.brettdewoody.com/examples/ajax-comments/2006/05/ajaxcomments.html
MT AJAX Comments
http://www.brettdewoody.com/projects/movable_type/mt_ajax_comments/

via

phpspot開発日誌 - 2006-06-18 - MovableTypeのコメント投稿をAjax形式にする
http://phpspot.org/blog/archives/2006/06/movabletypeajax.html

PHPにmysql.soをコンパイルして追加

Summary

# rpm -ivh php-5.0.4-10.src.rpm
# cp /usr/src/redhat/SOURCES/php-5.0.4.tar.gz .
# tar xzvf php-5.0.4.tar.gz
# cd php-5.0.4
# ./configure --with-mysql=shared
# make build-modules
# cp modules/mysql.so /usr/lib/php/modules/

# cp mysql.ini /etc/php.d/

Reference

XooNIps Official Site - B-Wiki - fedoracore4
http://xoonips.sourceforge.jp/modules/bwiki/?fedoracore4

データベース上の位置情報を効率的に検索する方法 (PostgreSQL編)

Summary

「ある点から半径何m以内の地点を検索」など,位置情報検索で良く使われる検索を,
PostgreSQLの幾何データ型,幾何関数,幾何演算子を用いて行う方法.

本来ならインデックスを作成できない,point型をcircle型に変換することで,
検索速度を向上させる.

Reference

データベース上の位置情報を効率的に検索する方法(PostgreSQL編)
http://neta.ywcafe.net/000597.html

Regexp::Optimizer, Regexp::Assemble を用いた正規表現の最適化

Reference

404 Blog Not Found:perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら...
http://blog.livedoor.jp/dankogai/archives/50533165.html

qootas.org/blog - perl regex performance
http://qootas.org/blog/archives/2006/06/perl_regex_perf.html

Regexp::Optimizer
Regexp::Assemble

via

www.textfile.org - 2006-06-16 - 正規表現の最適化
http://d.hatena.ne.jp/textfile/20060616/regex

Google Web Toolkit - JavaをJavaScriptに変換するGoogleの開発ツール

Reference

Google Web Toolkit - Build AJAX apps in the Java language
http://code.google.com/webtoolkit/
Google Web Toolkit Terms and Conditions (和訳)
http://www.littlesoft.jp/techlib/gwt/terms.html

via

@IT - JavaをJavaScriptに変換するグーグルのツールを使ってみよう
http://www.atmarkit.co.jp/fwcr/rensai/googlewebtoolkit01/01.html

設定ファイルをまとめて管理する

Reference

設定ファイルをまとめて管理する
http://playrecord.org/archive/config-files-on-Unix/myconf.html
uyota 匠の一手 - 2006-03-19 - Single System, Multiple Machines
http://uyota.asablo.jp/blog/2006/03/19/294745
uyota 匠の一手 - 2006-03-20 - Single System, Multiple Machines #2
http://uyota.asablo.jp/blog/2006/03/20/296243

via

void GraphicWizardsLair( void ); // /etcや/usr/local/etcなどを一カ所で管理するテクニック
http://www.otsune.com/diary/2006/06/12/3.html#200606123

switch ,case文を読みやすくする

Summary

case文には関数が使用可能.
switch 文の引数が0の時にswitch文を抜けてしまうので,switch(true)を利用することで回避.

悪い例

$var = 0;

// switch 文が falseと評価されてしまう
switch($var) {
	case ($var == 0):
		echo "0!";
		break;
	default:
		break;
}


良い例

$var = 0;

// switch 文を強制的にtrueで評価
switch(true) {
	case ($var == 0):
		echo "0!";
		break;
	default:
		break;
}


Sample

$test = 'aaa';
switch (true) {
	case ($test > 10):
		echo "10!";
		break;
	case is_numeric($test):
		echo "digit!";
		break;
	case is_float($test):
		echo "float!";
		break;
	case is_aaa($test):
		echo "aaa!";
		break;
	default:
		break;
}

function is_aaa($str)
{
	return ($str == 'aaa');
}


Reference

zuzara.com - 2006-06-14 - PHPのswitchのcase文には関数が使える
http://blog.zuzara.com/2006/06/14/85/

via

phpspot開発日誌 - 2006-06-15 - あまり知られていないPHPの構文について
http://phpspot.org/blog/archives/2006/06/php_47.html

Google Maps API による Geocoding

Summary

Google Maps API で住所から緯度,経度が引けるようになった.
XML,JSONでの出力が可能.

Demo

GoogleMapsAPIによるジオコーディングのサンプル
http://tatamilab.jp/~funami/gmap/geocoder.html

Reference

たたみラボ: Where2.0:Google Maps APIがバージョンアップ。ジオコーディングが可能に
http://www.tatamilab.jp/rnd/archives/000218.html

via

オレンジニュース - 2006-06-14
http://secure.ddo.jp/~kaku/tdiary/20060614.html#p02

Multiple Explorers - インストール不要のInternet Explorer

Summary

ダウンロード後,アイコンをダブルクリックで動作.
Amazon - Ppk on Javascript: 洋書

Reference

QuirksMode.org - Browsers - Multiple Explorers
http://www.quirksmode.org/browsers/multipleie.html
Ppk on Javascript: 洋書

via

MOONGIFT - Multiple Explorers
http://fw.moongift.jp/intro/i-1904.html
MOONGIFT - Multiple Explorers レビュー
http://fw.moongift.jp/review/i-1908.html

自家焙煎珈琲豆処 あおい珈琲店

Summary

アイスコーヒーを飲んだ.
いやな苦味が無く,とってもおいしい!
オススメの店.

Data

住所 東京都板橋区大山金井町38-13
営業時間 09:00 - 20:00
定休日 日曜日・祝日
電話番号 03-3955-7855
最寄り駅 大山


Reference

Yahoo!電話帳
http://phonebook.yahoo.co.jp/bin/search?p=03-3955-7855

Internet Explorer の「ページの有効期限切れ」対策

Summary

Internet Explorer で「ページの有効期限切れ」が表示される.

再読み込みを強制

session_cache_limiter('private, must-revalidate');


入力内容が消えてしまう場合

session_cache_limiter('private_no_expire');


URLをユニークにする

http://example.com/?t=<?php echo time();?>


cache_limiter = none に設定する

/etc/php4/apache/php.ini

session.cache_limiter = none

Reference

PHP Tips
http://www.workspot.jp/tech/php_tips.html
PHP: session_cache_limiter - Manual
http://jp.php.net/manual/ja/function.session-cache-limiter.php

[PHP-users 23498]cookieを使用する場合のセッションの有効期間について
http://ns1.php.gr.jp/pipermail/php-users/2004-October/024018.html
[PHP-users 23502]Re: cookieを使用する場合のセッションの有効期間について
http://ns1.php.gr.jp/pipermail/php-users/2004-October/024022.html
[PHP-users 23504]Re: cookieを使用する場合のセッションの有効期間について
http://ns1.php.gr.jp/pipermail/php-users/2004-October/024024.html

想 (IMAGINE) - GETAを利用した連想検索システム

Summary

国立情報学研究所による連想検索システム.
エキスパートによって作られたホワイトリストから検索.
検索結果の一部から連想検索が可能.

Reference

ITmedia News:Googleの限界は「人の手」で破る——国産の新検索「想」
http://www.itmedia.co.jp/news/articles/0606/08/news115.html

SiteDev - PukiWikiベースのCMS

Summary

o 論理的に綺麗なHMTLを出力
o フルCSSによるデザイン
o ページのUTF-8化による国際化
o Smartyによるテンプレート採用
o 検索エンジンフレンドリーなURLを採用
  http://example.com/index.php?XXX から
  http://example.com/index.php/XXX になった.
o PHP5に対応

dp.SyntaxHighlighter[2006-06-12-7] を利用した,ソースハイライトプラグインも利用可能.

Reference

siteDev
http://phpspot.net/php/sd/?%A5%C8%A5%C3%A5%D7%A5%DA%A1%BC%A5%B8

via

phpspot開発日誌 - 2006-06-12 - フリーのCMS、siteDev2をリリース
http://phpspot.org/blog/archives/2006/06/cmssitedev2.html

dp.SyntaxHighlighter - ソースのハイライトができるJavaScriptライブラリ

Summary

クライアントでソースコードをハイライトできる、JavaScriptライブラリ。

対応言語

  ActionScript3
  Bash/shell
  C#
  C++
  CSS
  Delphi
  Diff
  Groovy
  JavaScript
  Java
  JavaFX
  Perl
  PHP
  PlainText
  PowerShell
  Python
  Ruby
  Scala
  SQL
  VisualBasic
  XML

Reference

Google Code - syntaxhighlighter
http://code.google.com/p/syntaxhighlighter/

Alex Gorbatchev - SyntaxHighlighter
http://alexgorbatchev.com/wiki/SyntaxHighlighter

via

phpspot開発日誌 - 2006-01-17 - Javascriptだけで各種プログラム言語コードを色分け表示する方法
http://phpspot.org/blog/archives/2006/01/javascript_2.html

CSS だけでタブ UI を実現

Summary

CSS3だけでタブを実現.
Behaviour.js を利用している.

Reference

我的春秋 - Tabs using :target pseudo-class in CSS 3
http://my-chunqiu.cocolog-nifty.com/html/test.html

via

我的春秋 - 2006-01-05 - JavaScript ソースが HTML から消える日
http://my-chunqiu.cocolog-nifty.com/blog/2006/01/javascript_html_bc22.html
我的春秋 - 2006-06-10 - 続 JavaScript ソースが HTML から消える日
http://my-chunqiu.cocolog-nifty.com/blog/2006/06/_javascript_htm_d49c.html

振る舞い分離 JavaScript ライブラリ

behaviour.js

http://bennolan.com/behaviour/

Modified Behavior

behaviour.jsの改良版.
http://www.firelord.net/modifiedbehavior

document.getElementsBySelector

http://simon.incutio.com/js/getElementsBySelector.html

cssQuery

http://dean.edwards.name/my/cssQuery/

jQuery

http://jquery.com/

prototype.js

http://prototype.conio.net/

Reference

我的春秋: 振る舞い分離 JavaScript ライブラリ一覧
http://my-chunqiu.cocolog-nifty.com/html/javascript-behaviour.html
TECHMemo - 2005-12-31 - CSSのselectorとイベントハンドラの関連付け
http://d.hatena.ne.jp/dann/20051231/p5
fladdict.net blog - 2006-06-02 - jsがメッサ楽しくなるフレームワークjQuery(1)
http://fladdict.net/blog/2006/06/jsjquery1.html
JavaScript++かも日記 - 2006-06-02 - jQuery
http://jsgt.org/mt/archives/01/001088.html

via

我的春秋 - 2006-01-05 - JavaScript ソースが HTML から消える日
http://my-chunqiu.cocolog-nifty.com/blog/2006/01/javascript_html_bc22.html
我的春秋 - 2006-06-10 - 続 JavaScript ソースが HTML から消える日
http://my-chunqiu.cocolog-nifty.com/blog/2006/06/_javascript_htm_d49c.html

CutePDF Writer - 仮想プリンタとして動作するフリーのPDF文書作成ソフト

Reference

CutePDF - Create PDF for free, Free PDF Utilities, Save PDF Forms, Edit PDF easily.
http://www.cutepdf.com/

via

窓の杜 - 2006-06-09 - 仮想プリンターとして動作するフリーのPDF文書作成ソフト「CutePDF Writer」
http://www.forest.impress.co.jp/article/2006/06/09/cutepdfwriter.html

JavaScriptでラスタスクロール,サイコロ回転エフェクト

Reference

Kawa.net - Animation.Raster - ラスタスクロールだ!
http://www.kawa.net/works/js/animation/raster.html
Kawa.net - Animation.Cube - サイコロ回転エフェクト (rotating cube animation)
http://www.kawa.net/works/js/animation/cube.html

via

@IT - Ajax うきうき Watch 第8回 “CGUI” 消費者が作り出すユーザーインターフェイスの時代
http://www.atmarkit.co.jp/fwcr/rensai/ajaxwatch08/01.html

LiteSpeed - 自称Apacheの後継Webサーバ

特徴

o 静的コンテンツの速度は Apache の 6〜9倍
o PHP は Apache(+ mod_php) の 1.5倍以上の速度
o Apache の設定ファイルが解釈可能.移行が容易.
o アプリ(CGI)接続用の独自のプロトコル(LSAPI) [PHP, Ruby/Rails]
o CGI も FastCGI も JSP(AJP1.3) など大概の外部アプリが動く
o SSL,GZIP圧縮,静的ロードバランサ,VirtualHostが使用可能
o .htaccess に互換性有り.
o SambaのSWATのように,ブラウザからWebサーバの設定が可能.

Reference

LiteSpeed Technologies
http://litespeedtech.com/

via

くまくまー - 2006-06-05
http://wota.jp/ac/?date=20060605#p01

よく使われるパスワード Top10

Summary

イギリス人が良く使うパスワードTop10.
1位は `123'

Top10

1 123 0.3784%
2 password 0.3780%
3 liverpool 0.182%
4 letmein 0.176%
5 123456 0.163%
6 qwerty 0.141%
7 charlie 0.139%
8 monkey 0.133%
9 arsenal 0.111%
10 thomas 0.099%
- Reference
Top 10 Most Common Passwords - Modern Life Is Rubbish
http://www.modernlifeisrubbish.co.uk/top-10-most-common-passwords.asp

via

オレンジニュース - 2006-06-08
http://secure.ddo.jp/~kaku/tdiary/20060608.html#p13

ワンクリック料金請求spam の効率

Summary

容疑者の供述によると,「メールを100万通送ると1000人がサイトを訪れ、10〜20人が金を払った」という.

spamメールがサイトアクセスに繋がる割合は 0.1%程度.

Reference

警視庁 - ワンクリック料金請求にご用心
http://www.keishicho.metro.tokyo.jp/haiteku/haiteku/haiteku35.htm

via

スラッシュドット ジャパン | 摘発で明らかになったワンクリック料金請求spamの効率
http://slashdot.jp/article.pl?sid=06/06/07/083232

irqbalance - マルチCPU環境で複数CPU割り込みを行うためのツール

Summary

Linux Kernelは本来,CPU0のみがハードウエアからの割り込みを処理するが,
irqbalanceを導入することで,マルチCPU環境で2nd CPU以降も割り込み処理を行えるようになる.
1CPUのマシンでは使用する意味は無い.

以下を実行し,複数のCPUが表示されればOK.

% cat /proc/interrupts


2CPUの場合の例

CPU0       CPU1
  0:    8470386    8463949    IO-APIC-edge  timer
  1:          3          3    IO-APIC-edge  keyboard
  2:          0          0          XT-PIC  cascade
  8:          1          0    IO-APIC-edge  rtc
 11:          0          0   IO-APIC-level  usb-ohci
 12:         93         47    IO-APIC-edge  PS/2 Mouse
 14:         64          0    IO-APIC-edge  ide2
 17:      70903      15277   IO-APIC-level  ide0
 19:    1944132          0   IO-APIC-level  eth0
NMI:          0          0
LOC:   16934242   16934259
ERR:          0
MIS:          1

1CPUの場合の例

CPU0
  0: 2609483773    IO-APIC-edge  timer
  1:          9    IO-APIC-edge  i8042
  9:          0   IO-APIC-level  acpi
 14:    3287084    IO-APIC-edge  ide0
 15:          1    IO-APIC-edge  ide1
201:    5996744   IO-APIC-level  eth0
NMI:          0
LOC: 2609834207
ERR:          0
MIS:          0

Reference

技術情報ツリー
http://h50221.www5.hp.com/cgi/service/knavi/production/doc_disp.cgi?category=722&doc=jnav004182

Red Hat Linux での rc.d 操作

Summary

/sbin/chkconfig を用いる

現在のデーモン起動の設定一覧を見る

# chkconfig --list


デーモンを自動起動するように設定する

# chkconfig inetd on


ランレベルを指定して,デーモンを自動起動するように設定する

# chkconfig --level=2345 inetd on


デーモンを自動起動しないように設定する

# chkconfig inetd off


ランレベルを指定して,デーモンを自動起動しないように設定する

# chkconfig --level=2345 inetd off


デーモンを手動で起動/停止する

# /etc/rc.d/init.d/inetd start
# /etc/rc.d/init.d/inetd stop


起動スクリプトを chkconfig 対応にする

以下をスクリプトに記述

# chkconfig: ランレベル 起動する順番 停止する順番

例1) ランレベル 3,4,5 で S99, K01

# chkconfig: 345 99 1

例2) ランレベル 2,3,4,5 で S99, K01

# chkconfig: - 99 1

補足

Debian の場合はupdate-rc.dを利用.[2003-09-28-3]

Reference

Red Hat Enterprise Linux 4: リファレンスガイド - SysV Init ランレベル
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/ref-guide/s1-boot-init-shutdown-sysv.html

Tips Collection - Red Hat Linux - デーモン制御
http://quox.org/tips/linux/redhat.html#daemon

redhatコマンド便利技
http://gapo.zive.net/commandredhat/right.html

Taskbar Shuffle - タスクバーを並び替え

Summary

タスクバーの並び替えを可能にするソフトウェア.
一度使うと手放せない.

Reference

home of the nerd cave - computer stuff. - Taskbar Shuffle
http://www.freewebs.com/nerdcave/taskbarshuffle.htm

via

窓の杜 - 2006-06-05 - タスクバー上にあるタスクボタンの並び順を自由に変更「
Taskbar Shuffle」
http://www.forest.impress.co.jp/article/2006/06/05/taskbarshuffle.html

CentOS

Summary

「Red Hat Enterprise Linux 4 Update 3」のソース・コードを,GNU GPLに沿って修正・改変したクローンOS.
基本的に,RHEL4のソース・コードからRed Hat社のロゴやデザインなど,
商標等にかかわる部分を取り除き,コンパイルしてインストールCDにまとめている.
こうすることで,RHEL4との互換性を維持しながら,GNU GPLの規定により自由に配布できる.

- Reference
ITpro - 2006-06-05 - 無償だけど安定稼働するLinux OSを知ってますか
http://itpro.nikkeibp.co.jp/article/OPINION/20060605/239983/

携帯電話の取扱説明書

DoCoMo - 取扱説明書ダウンロード
http://www.nttdocomo.co.jp/support/manual/download/
au - 取扱説明書ダウンロード
http://au-pro.kddi.com/phone/torisetu/list.html

Reference

ITmediaモバイル:ドコモ、携帯取扱説明書のWebダウンロード開始
http://plusd.itmedia.co.jp/mobile/articles/0503/14/news023.html
Mobile:取扱説明書もダウンロード〜情報開示進むケータイ
http://plusd.itmedia.co.jp/mobile/0308/07/n_info.html