MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

桁数の取得

2005年07月13日 09時08分28秒 | perl
変数の値が何桁なのかを取得する方法

$w=int(log($num)/log(10));

$numは10の$w乗として計算される
例えば$num=100なら$w=2、$num=10000なら$w=4

グラフの範囲を指定するときに最大値を$num1、最小値を$num2とすると
$w=int(log($num1)/log(10));
$max=(int($num1/(10**$w))+1)*(10**$w);
$w=int(log($num2)/log(10));
$min=int($num2/(10**$w))*(10**$w);
グラフの有効範囲は$minから$maxまででよい

ちなみに「**$w」はべき乗

対数logなんて日常生活ではほとんど使わないなあ
プログラミングでもグラフ関連以外では使ったことない


SQLサーバにアクセス

2005年07月05日 14時48分04秒 | perl
perlでSQLサーバにアクセスできてしまった。
ちょっと感動・・・

use OLE;
$conn=CreateObject OLE "ADODB.Connection";
$conn->open("dsn=pubs;uid=su;PWD=**");
$rs=$conn->Execute('SELECT * FROM jobs;');
for(;!$rs->EOF();$rs->MoveNext){
$id=$rs->Fields('job_id')->Value;
$job=$rs->Fields('job_desc')->Value;
print "$id:$job\n";
}
$rs->Close();
$conn->Close();

やればできるもんだなあ(感涙)
WEBサーバ上にAccessのmdbを置いてアクセスできるのかなあ?
できたら便利になるけどなあ。
今度試してみようっと♪


チェック場所

2005年07月02日 18時21分12秒 | Weblog
一般的なことだが、プログラムの中で扱うデータのチェックはどこで行なえばよいか。
答えは入力時である。
入り口でしっかりチェックすれば、中で気にする必要はない。
入力のミスが無いようなシステムが最良と言える。

でも実際には例外の入力を認めたり、入り口がふたつあったりするシステムが多い。
これに関する意見は、また別の場所で具体的に書きたいと思う。

#会社のシステム障害対応で土日出勤になったので愚痴ってるのだろう(T-T)