subversionのapache認証ファイル(書き込み権限の注意)
以下のようにsvnのapache認証ファイルを設定すると、一見 mitjrepos:/ 以下にtamaruユーザーは書き込みできるように思える。
[groups]
admin = tamaru[/]
* = r[mitjrepos:/]
@admin = rw
しかし、実際には、例えば"http://fedora/mitjrepos/trac-project/"には書き込みできない。
"http://fedora/mitjrepos/trac-project/"以下にtamaruが書き込みできるようにする為には、以下のように設定する必要がある。
[groups]
admin = tamaru[/]
* = rw[mitjrepos:/]
@admin = rw
ちょいと調べ物
データウェアハウス(DWH)
データの倉庫、要するにDBであったり、その他のツールであるわけ。各社からいくつか出てるみたい。
データマート
データウェアハウスの巨大なデータ郡から、目的にあった形で集約して、閲覧、編集しやすくしたもの。
よって、これにもDBが主に使用される。
apcoordinator
Interstage Apcoordinator ユーザーズガイド http://software.fujitsu.com/jp/manual/fm/b293c34h0/fm5020m01/01/index.html
C言語 記憶指定子について
- extern指定子を付けて宣言した変数は、別の部分に定義があることを示す。
- staticグローバルな変数、関数は、そのスコープは同じソースコード内に留まる。
C言語 コマンドライン引数の出力
#includeint main(int argc, char *argv[], char **envp){
int i;
printf("argc:%d\n", argc);for(i = 0; i < argc; ++i){
printf("argv[%d]:%s\n", i, argv[i]);
}puts("envp:");
while(*envp){
printf("\t%s\n", *envp++);
}
return 0;
}
SchemeとJavaScriptで最大公約数を求める
■Scheme版
(define (GCD a b)
(define (GCD-temp a b n p)
(define (smaller x y)
(if (< x y) x y))
(if (< (smaller a b) n)
p
(if (and (= (remainder a n) 0) (= (remainder b n) 0))
(GCD-temp a b (+ n 1) n)
(GCD-temp a b (+ n 1) p))))
(GCD-temp a b 1 1))
JavaScript版は、末尾再帰が最適化されていないので、再帰数が大きいと計算できない。
var gcd = function(a, b){
var gcd_temp = function(a, b, n, p){
var smaller = function(a, b){
return a < b ? a : b;
}
if(0 == a % n && 0 == b % n){
return gcd_temp(a, b, (n + 1), n);
}else{
if(n > smaller(a, b)){
return p;
}else{
return gcd_temp(a, b, (n + 1), p);
}
}
}
return gcd_temp(a, b, 1, 1);
}
一方Scheme版は、末尾再帰の最適化がなされており、消費する資源の量が一定の為、大きな値でも計算できる。