タグ

2007年4月19日のブックマーク (7件)

  • http://unix-kd.fuga.jp/index.php/archives/23

  • GNU Global

    GNU Global ソースコードタグシステム GNU Global は、ソースコードに索引付けを行うことで、大規模システムのハックやレビューを効率化するソフトウエアです。 ソースファイル中の指定したシンボルを高速に見つけ出し、素早くその場所に移動することができます。多くのサブディレクトリからなり、#ifdef や main() 関数を沢山含んでいるような、いわゆる巨大なプロジェクトをハックするのに役立ちます。 ctags やetags に似た働きをしますが、エディタには依存せず、emacs, vi, less等の様々な環境でご利用になれます。ハイパーテキスト化してブラウザで読む事もできます。 最新の機能については、「新機能の御紹介」をご覧ください。 GNU Globalは GNU GPLv3 にもとづいた 自由なソフトウエア です。 動機 次の二つの条件を満たすソースコードタグシステムを

  • TAKENAKA's Web Page: Perl入門

    コマンドライン引数 これまで,Perl のプログラムを起動するときに後ろにファイル名を書いて, これを読み込んで処理するという例がいくつも出てきました. プログラム名のうしろに書けるのはファイル名だけではありません. 好きなだけ文字列を書き連ねることができます. それらの文字列をコマンドライン引数(ひきすう)と呼びます. コマンドライン引数は,Perlの処理系が用意している特別な配列 @ARGV に しまわれています. コマンドラインに書いたファイルから1行づつ読み込むのに,$line = <>; などと書いていました(>4. ファイルからの入力とsplit). この文は,@ARGV にしまわれている文字列をファイル名として解釈して (複数あってもよい),それらのファイルからデータを読み込む, という機能を持っていたのです. もし @ARGV がからっぽ,すなわち要素数がゼロだったら,フ

  • Perl の数値変換

    Last Updated: 2002/03/26 Perl で、16進文字列、10進整数、2進文字列、バイナリー文字列の相互変換を行うための、スクリプトメモです。 特に断っていない限り、Perl 5.001 以上で動作します。 目次 16進文字列からの変換 10進整数からの変換 2進文字列からの変換 バイナリー文字列からの変換 16進文字列→10進整数への変換 hex() 関数は、16進文字列を整数値に、手軽に変換できます。 $num10 = hex("4A"); # $num10 には 74 が入る $num10 = hex("FFFFFF"); # $num10 には 16777215 が入る 余談ですが、数値リテラル中では 0x に続けて 16 進数で記述することで、数値を表すことができます。 $num10 = 0x4A; # 74 $num10 = 0xFFFFFF; # 1677

  • 2007-03-14

    ちょっとひらめいた。 基的なアイディアは、プライマリノードとセカンダリノードがまったく同じデータを持っていて、プライマリが落ちたときにセカンダリがプライマリに昇格するというごく普通なもの。ただし、プライマリが落ちたとき、プライマリでもセカンダリでもないノード全員が、昇格したプライマリに、「セカンダリいますか?」と聞きに行く。昇格したプライマリは、一番最初に受け取った「セカンダリいますか?」を送ってきたノードに、「セカンダリやれ」と送る。2つ目以降の「セカンダリいますか?」には「もういるよ」と返す。 これで次々にフェイルオーバーができる。それにノードの参加と離脱がないときには、プライマリが単なるファイルサーバーになるだけだから、ロックは特に問題なく処理できる。 あとはFUSEをかぶせれば分散ファイルシステムになる。 これだけでも良いのだけど、これだけだとプライマリノードとセカンダリノードに

    2007-03-14
  • http://www.ese.yamanashi.ac.jp/~itoyo/lecture/network/network02/index02.htm

  • 最小完全ハッシュ関数の作り方

    ■順列型の最小完全ハッシュ関数 0から4までの5個の数字が下のように並んでいる場合を例にして説明します。 5個の数字の並べ方は5!通りありますので5!(=120)通りの並べ方の総てに対して0から119までの数値を一意に割り付けることが目的となります。 34102 ここでは左側から順に数字を見ていくことにします。最初の数字は3で残りの数字の個数は4個ですね。 この残れさた数字の個数分の総順列数は4!ですが、この数量を基数と言います。 つまり左端の数字が何であるかを完全に識別する為に最低限必要な基となる重みのことです。 従って先ず最初の数字3に基数である4!を掛け算してはじき出します。 [3]4102 → 3*4! 次に左から2番目の数字ですが、ここから先はとても注意が必要です。 2番目の数字は4で残りの数字の個数は3個です。残りの数字の個数が3個なので基数は3!になります。つまり基数が変化