2009年3月30日月曜日

perlで良く使うモジュールNet::HTTP

ここでメモっておく
use Net::HTTP;
my $s = Net::HTTP->new(Host => "www.perl.com") || die $@;
$s->write_request(GET => "/", 'User-Agent' => "Mozilla/5.0");
my($code, $mess, %h) = $s->read_response_headers;

while (1) {
my $buf;
my $n = $s->read_entity_body($buf, 1024);
die "read failed: $!" unless defined $n;
last unless $n;
print $buf;
}

CPANリンク
http://search.cpan.org/~gaas/libwww-perl-5.825/lib/Net/HTTP.pm

2009年3月24日火曜日

Cookieを編集できるFirefoxアドオン

https://addons.mozilla.org/ja/firefox/addon/573

2009年3月22日日曜日

flvをサーバー側で再生する

JW FLV MEDIA PLAYERというのがおすすめ


↓みたいなウィザード形式でコードも出してくれる親切設計
http://www.longtailvideo.com/support/jw-player-setup-wizard?example=1

コンソールの設定をする setterm

前回も話したけどその続き、
前回までの課題はログインしないとsettermを実行できないこと
実行前にsettermするにはDebianだと"/etc/console-tools/config"を修正する

BALNK_TIME=N (N:0-60: 放置してから画面を暗転させるまでの分数)
BLANK_DPMS=on (画面の省電力モードをサスペンドモードにセット *1)
POWERDOWN_TIME=N (N:0-60: 暗転してからモニタの電源を切るまでの分数)
(*1 BLANK_DPMS=powerdown とした場合サスペンドモードを経由せずBLANK_TIMEで設定した時間でモニタの電源断)

だそうです。





参考リンク
http://blogs.yahoo.co.jp/debilman01/860916.html

smbmountの話

Debianだとそのものずばりのコマンド名のパッケージはないので
smbfsをインストールする
http://www.millionwaves.com/200604140613.html

そんで適当にマウント
smbmount //192.168.0.2/ボリューム\ \(D\)/bakup /mnt/ -o guest

guestを指定してやればパスワードのプロンプトが出ない


http://www9.samba.gr.jp/project/translation/3.0/htmldocs/smbmount.8.html

パスワードがあってプロンプトを出さない方法は↓
ユーザー名が smb
パスワードが hoge
なら
smb%hoge
あるいは
username=smb,password=hoge

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21439&forum=10&2

perlのモジュール・・・名前空間の話

ちょっとウヤムヤにしておいたけどここで理解しておこう
まあつまり
use Module::hoge (LIST)
ってやってLISTにインポートしたい関数を書いておきなさいというわけですな


参考リンク
http://adiary.blog.abk.nu/0148
http://d.hatena.ne.jp/perlcodesample/20090205/1232879205
http://perldoc.jp/docs/perl/5.10.0/perlmod.pod

Windowsの共有ファイルにperlでアクセスするには

普通にopen,opendirが使えるみたい

open (FH,"//192.168.0.11/share/hoge.txt");
opendir (DIR,"192.168.0.11/share");


まあ目的はローカルにあるファイルを共有フォルダへコピーだったので
こんな感じで

use File::Copy;

$dir='//192.168.0.11/share/';
copy $backup_filename,$dir;

WebDAVの設定をDebian lennyでやってみる

前回とちょっと違う部分があったので補足を含め書きます。
1.a2enmodで必要なモジュール読み込む
a2enmod dav
a2enmod dav_fs

2.httpd.confに↓みたいに書いとけばok
そんでまあcalってディレクトリ作ってパーミッションとか777にしとけば
まあ間違いないだろう

Dav On
Options Indexes
AuthType Basic
AuthName "input webdav password!"
AuthUserFile "/etc/apache2/passwd"
Require valid-user
Order allow,deny
allow from all


3.ロックファイルやらうんちゃらは
/etc/apache2/mods-enabled
にある
dav_fs.conf
で定義してあるから別に書かなくてもおk

3.5.Windowsのネットワークプレースでの確認方法は
ネットワークプレースの追加→ウィザード開く→基本次へで進む→アドレスに↓を記述してOK

http://hogehoge.com:8000/cal/
↑アドレス   ↑WebDAVが有効なディレクトリ


4.thunderbirdにlightningって拡張いれて
新しいカレンダーでも作ってごにょごにょすれば良いですよ

参考リンク
休日カレンダーICS
http://www.mozilla-japan.org/projects/calendar/holidays.html

vimのtips2

"自動整形の実行方法を決める
"改行後もコメントとするかとか
"set formatoptions?

"コマンド結果をリダイレクト
":h :redir

"キーコード(特殊文字) Ctrl+k 押してからキー押すと
"名前を挿入できる
":h key-codes

"タブをスペースに変更
"set expandtab
"retab

" テキストファイルに固有の設定を
" 残す
"h modeline

"プラグイン、固有の設定ファイル
"boxes
"diff.exe
"all colors pack
"txt.vim -> $VIMRUNTIME/syntax/txt.vim
"MRU.vim
"skeleton.html

"テキストに対し固有の設定を書く
"マッピングなどはmodeline使えないため
"autocmd BufRead ~/デスクトップ/kara.txt set nonu |
" \nnoremap j gj| nnoremap k gk


"ステータスラインを長さによって表示項目変更
":function STline()
"if winwidth(0) >= 120
" set statusline=%<%f\ %m%r%h%w%=%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}\ \ %2*%y%0*%6l,%c%V%1*%8P
"else
" set stl&
"endif
":endfunction
"
"autocmd VimResized * call STline()

2009年3月21日土曜日

TMTOWTDIの話

there's more than one way to do it
略して
TMTOWTDI
perlのスローガン
意味は「やり方はいくらでもある」みたいな

うーんためになる
よくアドレスを忘れるからメモ

努力、忍耐、謙遜 (Larry Wall)
http://www.oreilly.co.jp/BOOK/osp/OpenSource_Web_Version/chapter10/chapter10.html

2009年3月20日金曜日

gvim (vim)で半透明にしたり、常に前面ウィンドウにしたり

っていうのはVimTweakっていうDLLを使えばいいらしい

透明度の調整
:call libcallnr("vimtweak.dll", "SetAlpha", 200)
:call libcallnr("vimtweak.dll", "SetAlpha", 255)


常に前面ウィンドウ
:call libcallnr("vimtweak.dll", "EnableTopMost", 1)
常に前面ウィンドウの解除
:call libcallnr("vimtweak.dll", "EnableTopMost", 0)

参考リンク
http://liosk.blog103.fc2.com/blog-entry-148.html

2009年3月8日日曜日

squidを設定する時に気をつけること・・・

なんか色々みたけど難しくてよー分からん。

↓くらい気にしとけばいいんでないの

・メモリ領域 (cache_mem)
・メモリに置くオブジェクトサイズ (maximum_object_size_in_memory)
・HDDに置くサイズ (cache_dir)
・HDDに置くオブジェクトサイズ(maximum_object_size)
・オブジェクトサイズの平均値(store_avg_object_size)
・速いDNSサーバー( dns_nameservers )

あとはcachemgr.cgiとか参照してください(debianだとsquid-cgiパッケージに同梱)

perlでリターンキーを待たずにキーのデータを一つ読み取るには?

Term::ReadKeyを使えばいいらしい

使い方:

ReadModeで読み方を指定 引数は0~5のどれか
0・・・元々の設定に戻す
1・・・普通のモード
2・・・1と同じだがechoされない(自分が入力したものが見れないからパスワード入力などに使える)
3・・・cbreakモード Ctrl+Cで止めるとかできる
4・・・rowモード Ctrl+Cで止めるとか無理。改行コード変換はしてくれる。
5・・・4と同じだが改行コード変換はしてくれない。(Windows環境では4と5は同じ)

ReadKeyで読み込む 引数は0、-1、0より大きい値のどれか
0・・・getc見たいに1文字よみます(引数省略時のデフォルト)
-1・・・ノンブロッキングリード
引数>0・・・引数秒だけwaitし、時間になったらundefを返す


#!/usr/bin/perl

use Term::ReadKey;
print $Term::ReadKey::VERSION;
print "\n";
ReadMode 3;
while (1){
$char = ReadKey(5);
last if not defined $char;
printf ("%1s is %X ",$char,ord $char);
print "\n";
}




参考サイト
http://search.cpan.org/~stsi/TermReadKey/ReadKey.pm
http://perldoc.jp/docs/perl/5.10.0/perlfaq8.pod
http://www.jp-z.jp/perlmemo/IF_Term-ReadKey.html

2009年3月7日土曜日

2009年3月2日月曜日

squidをweb経由で設定する

squid-cgiをaptかなんかでインストールしてください
そんでsquid.confにある
cachemgr_passwd
あたりを参照して適当に設定してください
あとは
http://自分の鯖/cgi-bin/cachemgr.cgi

あと/etc/squid/のなかにあるcachemgr.confのポート番号も直すこと
あとアクセスリストとか・・・↓参照で・・・

でおk

参考リンク
http://swkoji.blog63.fc2.com/blog-category-8.html
http://perltips.twinkle.cc/server/squid_cachemgr.php

2009年3月1日日曜日

sambaの設定でmaskがうまくいかない

create mask = 777
ってしても実行権限が外れてしまう・・・

でも、そういう仕様らしい
↓参考
http://roserogue.blogspot.com/2007/08/create-mask775.html