キャラクターコードがUnicodeの場合、○や×などの記号が小さく表示される

○や×を普通の文字と同等の大きさとして表示したい場合、ちょっとした裏技があります。
Windows環境において、
Firefox3.6, IE8, Opera10.10, Google Chrome 4.0, Safari4.0.4で期待する動作を確認しました。

 *{
	font-family:'MS UI Gothic', Meiryo, Osaka, 'Hiragino Kaku Gothic Pro', sans-serif;
}

ハッシュの配列を処理する

$array{'aaa'}[0]

のような変数定義については偉大な先人の方々が詳細を公開されておりますが、
私の探し方が悪いのか、

$array[0]{'aaa'}

の変数定義について解説されているサイトが少ないため、知識を共有します。


あと、すごく細かい事なんですが、

下の変数定義は「ハッシュの配列」でピンと来るんですが、

$array{'aaa'}[0]

下の変数定義は「配列のハッシュ」なんですかね。

$array[0]{'aaa'}

ただ、下の場合もハッシュの配列と解釈できるわけで・・・

$array{'aaa'}{'bbb'}


意味定義としての議論は尽きないと思いますが、まあ細かな事は置いておいて・・・
とりあえず、「ハッシュの配列」という名称はらくだ本の名称に従っています。

my @array = ();
$array[0]{'aaa'} = "000";
$array[0]{'bbb'} = "111";
$array[1]{'aaa'} = "222";
$array[3]{'aaa'} = "333";

print "全ての値を得る\n";
for(my $i = 0; $i <= $#array; $i++){
	foreach my $key (keys %{$array[$i]}){
		print $key, " = ", $array[$i]{$key}."\n";
	}
}

print "値を指定して得る\n";
for(my $i = 0; $i <= $#array; $i++){

	if(defined $array[$i]{'aaa'}){
		print "aaa = ", $array[$i]{'aaa'}."\n";
	}

	if(defined $array[$i]{'bbb'}){
		print "bbb = ", $array[$i]{'bbb'}."\n";
	}

}

そう簡単に重複しないユニークIDを得る

ランダムな数字、現在のマイクロエポック秒PerlのプロセスIDを元に、そう簡単には重複しないユニークIDを得るPerlScriptです。
ちなみに先頭の"0_"は、2036年問題で万が一エポック秒の巻き戻しが発生した場合の識別子として追加しています。

use Time::HiRes;

print &get_uid();

###########################
# Get Uniqu ID
sub get_uid{
       if(sprintf("%.3f",$]) <= 5.004){
               srand(time());
       }
       my $uniqueid = sprintf("0_%s_%.6f_%s", int(rand 100000), Time::HiRes::time(), $$);
       $uniqueid =~ s/\./_/g;
       return($uniqueid);
}

ActivePerlのGUI版PPMでProxy越えをする

以下の内容を記述したバッチファイルを作成し、ppm.batが置かれているフォルダに入れておくと便利です。
名前はppmrun.batとかで。
ppm.batが置かれているフォルダは、標準では[Perlインストールフォルダ]\bin になります。


set HTTP_PROXY=http://[proxy_server]:[port]
rem (例) http://proxysv:8080
ppm

認証が必要なProxyの場合


set HTTP_PROXY=http://[id]:[password]@[proxy_server]:[port]
rem (例) http://user:12345@proxysv:8080
ppm

SQLiteをWindows XP環境にインストールする

1.SQLite Home Pageのダウンロードページに移動

http://www.sqlite.org/download.html

2.Precompiled Binaries For Windows項目から以下をダウンロード

sqlite-3_6_xx.zip
sqlitedll-3_6_xx.zip
※xxは任意の数字

3.ダウンロードしたZIPファイルを展開

4.中に入っているファイルをSQLiteをインストールしたい、適当なフォルダへ移動

※自分の環境では以下のファイルが展開されました
sqlite3.exe
sqlite3.dll
sqlite3.def

5.システム環境変数でPATHを通す

[コントロールパネル]-[システム]
環境設定タブを選択
環境変数」ボタンをクリック
「システム環境変数」から変数名"Path"を選択し「編集」ボタンをクリック
「変数値」の末尾に;[先ほどSQLiteをインストールしたフォルダのフルパス]を追加

※仮にD:\sqliteにインストールした場合は ";D:\sqlite"

6.確認

sqlite3 と入力


SQLite version 3.6.xx
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
と表示されれば成功

7. .quitと入力し、SQLiteコマンドラインを抜け、コマンドプロンプトを閉じる

ブラウザのフォーム履歴を手軽に削除する

フォームの入力履歴一覧から「これだけを消したい!」を手軽に実現する方法です。


1.テキストボックスをダブルクリックするなどして、フォームの入力履歴を表示
2.消したい履歴にマウスをフォーカス
3.DELキーを押す


すると、該当の入力履歴が消えます。
DELキー押しっぱなしで次々と消えて行きます。


IE8とFirefox3.5で確認しました。
その他のブラウザでもできるのかな?