2008-04-01から1ヶ月間の記事一覧

cvs-checkout-d - CVS の "checkout -d" と module の関係

目的 CVS の checkout コマンドに -d を付けた時の挙動を理解する。 結果 意味のある結果は出なかったが、強いていえば、CVS modules の設定でおかしな(自己参照するような)ことはやらない方が良い、ということだろうか。

compound-literal - コンパウンドリテラル

目的 C99の拡張機能(GCCでも独自に拡張している)である、コンパウンドリテラルについて知る。 結果 コンパウンドリテラルとは、無名変数を記述する方法で、C99での拡張仕様。 文法的にはキャストと中括弧での変数定義を組み合わせて記述する。 gccでは、グロ…

環境変数の設定値とカレントディレクトリの一致をチェックする

目的 build時に、ツリーの位置を環境変数で指定する必要があるとする。 この場合に、環境変数の設定が不適切ならMakeが中止されるようにしたい。 結果 GNU Makeの関数(if, shell, error, call)を組み合わせて、include用のMakefileを作成した。 check-env.mk…

『Rubyクックブック』

Rubyでできること/したいことを、マクロな視点(データベースアクセスやウェブサービス構築)からミクロな視点(メソッドの削除や細かい言語仕様など)まで、一問一答形式で紹介した本。 Rubyの細かい知識を前提に書かれているのでRubyをはじめる人がいきな…

cross-compile - オープンソースソフトウェアのクロスコンパイル

目的 各種ソフトウェアパッケージをクロスコンパイルしたい。 そのときの作業メモを、まとめておく。 結果 現在、以下のパッケージのクロスコンパイルに成功している。

mail-relay - UNIXからメールを送る際に、接続先SMTPサーバを指定したい

目的 以下の条件に合うように、 特定ドメインのアドレス(jp.example.com)宛のメールはサーバ1に送る。 それ以外のメールはサーバ2に送る。 以下のメールサーバ(MTA)で、メール送信時のSMTP接続先を指定したい。 sendmail (RHELのデフォルトメールデーモン) p…

signal-piping - SIGNALをpipe経由でハンドラからメインスレッドに渡す方法

目的 Linux上(UNIX全般)で「安全な」シグナル処理を実装したい。 本来シグナルハンドラでしてもよい処理は非常に限られており、実質は特定の型のグローバル変数操作と、非同期シグナルセーフ関数の呼び出ししか安全ではない(参考:UNIX上でのC++ソフトウェア…

multi-opts - gccの-Oオプションを複数個付けたらどうなるか?

目的 "gcc -O2 -O0" のように複数最適化オプションを付けた場合に、ちゃんと -O0 だけが有効になるかを確認したい。 結果 アセンブル結果を比較して、確かに、最後に付けた -O* だけが有効になっていた。以下、詳細。

make-filter-out - filter-out関数の使い方

目的 GNU make の関数 $(filter-out) の使い方をメモしておく。 結果 filter-outを使うと、変数内の特定の単語を、完全一致/前方一致/後方一致で取り除くことができる。

cvsを認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 社内プロキシの設定では、CVSプロトコルを用いての取得はムリ(80番以外のポートへのCONNECTメソッドを許可していないため)。 ViewCVSなどのWebインターフェースを経由してのアクセスなら可能なはず(CVSGrabを使…

subversionを認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 リポジトリにhttpsでアクセスする場合のみ可能(httpアクセスは、プロキシサーバがPROPFINDメソッドを許可していないため、不可能)。~/.subversion/servers に、以下の設定を記述する: [groups] external = sssvn.…

gem(RubyGems)を認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 ~/.gemrc に、以下の設定を記述する(大文字の箇所は記入例、各自で変えること): http_proxy: http://4000000:PassWord@abcproxy.examlple.com:8080 ※PassWordに英数字以外が含まれる場合はURLエンコードが必要も…

wgetを認証必須のプロキシ経由で使いたい

目的 id:taiyo:20080401#p1 を参照。 結果 セキュリティ面(秘匿性)を考慮すると、~/.wgetrc に、以下の設定を記述するのが良い: use_proxy = on proxy_user = 4000000 proxy_passwd = PassWord http_proxy = http://abcproxy.examlple.com:8080 https_proxy …

tool-proxy - ネットワークアクセスツールでのプロキシ設定方法

目的 社内プロキシを経由して、各種のネットワークアクセスツールを使いたい。 条件は以下: 社内プロキシは認証が必須 SOCKSなどは提供されておらず、proxoyサーバのアカウントも持っていない 外部の中継サーバは使わないものとする 結果 ツール名 状況 概要…