2009年3月21日土曜日

[html] リダイレクトの方法

こんなかんじ。
<<meta equiv="Refresh" content="0; URL=/index.php">>

詳しくはこちら。
http://likealunatic.jp/2007/10/21_redirect.php

2009年3月19日木曜日

[perl] CGI.pmでクッキー設定

やりたかったのはこれ。
ーーー
my $cookie1 = $query->cookie( -name =>'id',
-value =>'test',
-expires=>'+1d');
my $cookie2 = $query->cookie( -name =>'pw',
-value =>'test',
-expires=>'+1d');
print "Set-Cookie: $cookie1;\n";
print "Set-Cookie: $cookie2;\n";
print "Location: main.cgi\n\n";
ーーー


以下参考。
http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/free?page=CGI.pm
ーーー

まずクッキーのセットから。以下のコードでCookieヘッダを出力します。

my $cookie = $cgi->cookie(-name   =>'hoge',
-value =>'fuga',
-expires=>'+1h');
print $cgi->header(-cookie=>$cookie);

cookieメソッドは他にも以下のようなオプションを与えることができます。

  • -path(このクッキーが有効になるパスの一部)
  • -dommain(このクッキーが有効になるドメインの一部)
  • -secure(1を指定するとSSLでのみクッキーが使用されます)

また、-valueにはスカラだけでなく配列リファレンス、ハッシュリファレンスをセットすることもできます。

my $cookie=$query->cookie(-name =>'list',
-value=>\@list);

expiresにはクッキーの有効期間を設定します。+10s、+10m、+10h、+10dでそれぞれ10秒後、10分後、10時間後、10日後になります。省略するとセッション限りのクッキーとなります。また、マイナスを指定するとクッキーは削除されます。

クッキーの取得はとても簡単です。

my $cookie = $cgi->cookie(-name=>'hoge');
print $cookie;

2009年1月14日水曜日

[centos] 初期設定

VirtualPC2007ではそのままセットアップを進めると
画面が乱れたりマウスが操作できないので次のように入力して押下します。

linux vesa i8042.noloop psmouse.proto=imps clock=pit

http://www.wind.sannet.ne.jp/m_matsu/developer/VirtualPC2007/centos52/index.html

2008年12月10日水曜日

[html] チェックボックスのdisable



いちご

--------
http://w-d-l.net/html/tags/body/form/input/checkbox/

2008年12月8日月曜日

[Linux] find

findコマンドはファイルやディレクトリを再帰的に検索してくれます。


[主なオプション]
-name ファイル名及びディレクトリ名にマッチするものを表示
-iname -nameと同じだが、大文字小文字を区別しない
-regex ファイル名が正規表現にマッチするものを表示
-iregex regexと同じだが、大文字小文字を区別しない
-type ファイルタイプを指定。タイプにはd(ディレクトリ)、f(ファイル)、l(シンボリックリンク)を指定
-emtpy ファイルが0byteもしくは中身のないディレクトリを表示
-size ファイルのサイズで検索。通常kオプションをつけてキロバイトにて指定


[使用例]

#空のファイルを削除
find . -empty -exec rm {}\; #ユーザ確認を求めない
find . -empty -ok rm {}\; #ユーザ確認を求める


※{}にはfindで引っかかったファイル名が引数として渡ります


#ファイルの数を調べる
find . -type f |wc -l


#findで見つかったファイルの中身をgrepする
find ./ -type f -exec grep https://www.ksknet.net {} \;


#ディレクトリ以下を再帰的に置換
sudo find . -type f -exec sed -i 's/置換前/置換後/g' {} \;


#1000kを越えるファイルを検索
find ./ -size +1000k


#ファイル所有者がtomのユーザを検索
find ./ -user tom


#ファイル名がhtmlもしくはcgiで終わるファイルを表示
find ./ -type f -iregex ".*\.html$" -or -iregex ".*\.cgi$"


#ファイル属性による検索(アクセス権限による検索)
find ./ -perm 755


#日付による検索
find ./ -daystart -ctime +2


補足 +2 と -2 では動作が異なります。+2では2日前より古いファイル、-2では2日前より新しいファイルを返します。
-ctime の他に -mtime -atime などがあります。


#日付による検索その2 (30日前より以前に作成されたファイルを削除)
find ./ -ctime +30 -type f -exec rm -f {} \;


[補足]
findは基本的にand検索をします。OR検索の場合は-oオプションを使用すること。
-------------------
http://www.ksknet.net/linuxai/find.html

2008年12月7日日曜日

[ruby] trans_sid

セッションIDの付与(Transit SID)
Cookie非対応携帯だけに付与する

class MyController
trans_sid
end

PCにも付与する

class MyController
trans_sid :always
end
--------------
http://jpmobile.rubyforge.org/rdoc/files/README.html

[ruby] mobile_filter

文字コード変換機能/絵文字のキャリア間相互変換

JpmobileではControllerにmobile_filterを指定することで,
DoCoMo、Au、SoftBankの絵文字を透過的に扱うことができる。

class MyController
mobile_filter
end

また、半角・全角の自動変換を用いる場合は

class MyController
mobile_filter :hankaku=>true
end

と指定する。

Jpmobile内では、各キャリアの絵文字はUnicode私的領域上にマッピングされ、管理される。このとき、DoCoMo、Auは公式サイト記載のマッピングが使用される。ただしSoftBankはAuとの重複を避けるため、公式のマッピングに0x1000加算しU+F001以降に割り当てる。テンプレート内ではUTF-8でエンコードするか、数値文字参照の&xHHHH;形式で指定する。

絵文字は送出時に内蔵の変換表に基づいて変換され、携帯電話のエンコーディングにあわせて送出される。携帯電話から受信した絵文字は上記マッピングに基づいてUTF-8でparamsに渡される。

mobile_filterを有効にすると以下の処理が自動で行われる。

* DoCoMo、Auとの通信時にはShift_JIS、SoftBankとの通信時にはUTF-8が使用される。
* :hankaku=>true指定時は、カタカナは半角カナに変換されて送出される。携帯電話から送られた半角カナは全角カナに変換される。
* 絵文字はキャリアにあわせて変換されて送出される。
* 携帯電話からの絵文字はUnicode私的領域にマップされ、UTF-8でparamsに格納される。
--------------
http://jpmobile.rubyforge.org/rdoc/