2004-01-01から1年間の記事一覧

rpmのファイル名から,パッケージ名を取り出す.

rpmのファイル名は,パッケージ名-バージョン-バージョンという形式なので,正規表現を使って切り出せる.sedならこんな感じ. sed 's/^\(.*\)-\([^-]*\)-\([^-]*\)$/\1/g'

インストール済みのrpm が作成された日時の一覧を取得する.

あるインストール済みのpackageについては rpm -q --queryformat &#39;%{BUILDTIME}&#39; <package名> rpm -q --queryformat &#39;%{BUILDTIME:date}&#39; <package名>とすると,buildされた日時を調べることができる.これを応用して rpm -qa |\ while read x ; do \ echo `rpm -q</package名></package名>…

delete this しちゃったら… (2)

http://d.hatena.ne.jp/pyopyopyo/20041223 のdelete this しちゃったら… の続き.cppll にてhttp://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.14にずばり「Is it legal (and moral) for a member function to say delete this?」という項…

TeXの数式書くときに便利な分数のマクロ

TeX

\def\dfrac#1#2{{\displaystyle\frac{#1}{#2}}} \def\tfrac#1#2{{\textstyle\frac{#1}{#2}}}今まで一生懸命TeXで数式を書いて来たが,マクロを定義すると楽に書けることに今頃気が付いた.

TeXの数式で,書体を変える

TeX

イタリック\itとかボールド\bfとか,筆記体\calとか {\bf x} {\boldmath x} {\rm x} {\cal x} {\it x}

TeXの数式で括弧

TeX

\bigl( (x) \bigr) \Bigl( \bigl( (x) \bigr) \Bigr)

デストラクタを private にする.

cppll の [cppll:11457] delete this しちゃったら… のスレッドより.C++で,デストラクタを private にすると,クラスのインスタンスを生成する際にnew を強制できる. class Hoge { private: virtual ~Hoge() {} public: void suicide() { delete this; } …

gcc の最適化オプション

Using the GNU Compiler Collection (GCC): Top Using the GNU Compiler Collection (GCC): Optimize Options

gcov - coverage testing tool

gcc と合わせて使うことで,プログラムを解析するツール.より良いコードを生成するための情報を集めたり,未テストのコードを探すことができる. $ gcc -fprofile-arcs -ftest-coverage hoge.c $ ./a.out $ gcov hoge.c hoge.da hoge.bb hoge.bbg ってファ…

STL uppper_bound(), lower_bound()

upper_bound(k) k lower_bound(k) k equal_range(k) k == ite を満たす範囲を返す.つまり pair(lower_bound(k), upper_bound(k))を返す. ただしコンテナは事前に整列されている必要がある.

VMware 5 beta 2 に乗り換える.

VMware workstation 5 の beta 2 が公開された.普段からノートPCでWindowsXPをホストOS,linuxをゲストOSとしてVMware workstation 4.5を使っている. VMware以外に選択肢が無いこともあるが,パフォーマンスもそれなりなので基本的には満足している.でも,…

gdb メモ

手元のメモより. print print 変数名 /o 8進 /d 符号付き10進 /x 16進 /u 符号なし10進 /t 2進 /c 文字 /f 浮動小数点 /a アドレス break ブレークポイントを設定する. delete [ブレークポイント番号] ブレークポイントを削除する. tbreak 一回だけ停止す…

LANケーブル の自作.

手元のメモより.ストレートケーブルの場合は,両方のコネクタともに次のように結線します. _____ ____| |____ | | | | |_|_|_|_|_|_| ↓ 橙橙緑青青緑茶茶 白 白 白 白 クロスケーブルの場合は,片方のコネクタは次のように結線します. もう一方のコネクタ…

トラブルがいやならコンピュータ自体を使わないことだ.

http://japan.internet.com/linuxtutorial/20041214/4.htmlより> 一言で言えば、完璧でトラブルの発生しないコンピューティング環境を望むのならば Fedora は使わないことだ(トラブルがいやならコンピュータ自体を使わないことだ)。最先端技術で優れたパフ…

rpmbuild を途中で停める

rpmbuild でうまくrpm が作れない場合など, rpmbuild の処理を途中で停めて原因を調査したくなることがごく稀にある.そんなときは,たとえば,specの内容にしたがってパッチを当てたあとのソースを確認したい場合は rpmbuild -bp hoge.specとすればよい.…

pthread を使ったプログラムが gdb でdebugできない.

pthreadを使ったプログラムをgdbでデバッグしようとすると,見慣れないエラーが出る. Program terminated with signal SIGTRAP, Trace/breakpoint trap.どうも /lib/tls/libpthread-2.3.3.so が strip されていると, gdb でデバッグできなくなるらしい.gl…

TeXで場合分けを記述.

TeX

array環境をつかって記述する. \[ |x| = \left\{ begin{array}{cc} x & x \ge 0 \\ -x & otherwise \end{array} \right} \]\cases を使う方法もある. \[ |x| = \cases{ x & $x \ge 0$ \cr -x & otherwise \cr } \]

TeXで行列

TeX

array環境をつかって記述する. \[ A = \left[ \begin{array}{ccc} 1 & 2 \\ 3 & 4 \end{array} \right] \]\pmatrix を使う方法もある. \[ \pmatrix{ 1 & 2 \cr 3 & 4 \cr } ]\

TeXで数式

TeX

TeXの数式. \begin{eqnarray} a+b & = & 3 \\ a-b & = & 1 \end{eqnarray} 数式番号を付加したくない場合は \nonumber を用いる. \begin{eqnarray} a+b & = & 3 \nonumber \\ a-b & = & 1 \end{eqnarray}

g4u (ghost for unix)

http://www.feyrer.de/g4u/Symantecのghostもどきみたい.ghostは便利なんだけど値段高いよ〓って思っていたけど,なんだオープンソース版があったのか(笑). 結構昔から存在しているらしいが今日初めてその存在を知りました.

OpenCVS

http://www.opencvs.org/OpenCVSというものが開発されているらしい.近々リリース予定とのこと.現行のcvsは,広く使われているツールの割に出来が悪かったりする.たとえば ソースコードがばっちい(セキュリティホールがいっぱいある) EUC⇔SJIS⇔JISのような…

むアンテナ より幾つか気になったURLをピックアップ.

C言語使いのための ruby活用大辞典?

rubyは便利.でも普段C/C++を使っている自分にとって,たまにしか使わないrubyは外国語そのもの. いつも google で構文や記法を検索している.そこでruby の構文とか書き方をメモしておけば,最終的にC言語使いのための ruby活用大辞典のようなドキュメント…

checkershadow illusion

http://web.mit.edu/persci/people/adelson/checkershadow_illusion.html白黒のチェックボードの上に影がある画像.でも,実はAとBは同じ色だという有名な画像.久しぶりに見たので,URLをメモ.AとBが同じ色であることは,proofを見ると判りやすい.http://…

メールサーバでウイルスチェック.

SMTPサーバ上で,無料で使えそうなウイルスチェックを探してみた. ClamAV (Clam AntiVirus) http://www.clamav.net/ http://clamav-jp.sourceforge.jp/オープンソースでGPLライセンスらしい.2004年12月現在でも,頻繁にパターンファイルは更新されている.…

valgrind

Valgrind 2.2.0: Memory Debugging and Profiling | Linux Journalメモリ関連の profiler.gtkベースのGUIを提供しており, メモリ利用率 範囲外アクセスの検出 メモリリークの検出 malloc/new/new と free/delete/delete の対応の確認 など必要そうな機能は…

Doxymacs

http://doxymacs.sourceforge.net/doxymacs を使うと emacs で doxygen 用のコメントを楽に書くことができる. 使い方 ~/.emacs などに以下のように記述. ;;; -- for doxymacs ;; sumomo-emacs, w3-emacs のRPMと ;; doxymacs.el などが必要 (require &#39;…

phpでメール送信に失敗する

phpのmail関数でメールが送れない場合の対処方法のメモ.まずmail関数(またはmb_send_mail関数)の戻り値を確認を確認する 戻り値がtrueならSMTPサーバ*1にメールを渡しているので,SMTPサーバ側の問題. 戻り値がfalseならPHP側の問題. 以下,PHP側が問題の…

hw tcp v4 csum failed

redhat 9 で動いている あるサーバのdmesg に hw tcp v4 csum failed というログが大量に出力されている.どうも ECN が有効になっていると出る場合があるらしい*1 試しに echo 0 > /proc/sys/net/ipv4/tcp_ecnとECNを無効にしようと思ったが,そもそも はじ…

crontab で MySQLのデータベースを定期的にバックアップする方法.

mysqldump コマンドにデータベースのパスワードを渡す方法としては,~/.my.conf ファイルを使う方法が最善のようだ.具体的には,crontab を設置したユーザのホームディレクトリに .my.conf というファイルを作成し,以下の記述を行う [mysqldump] password=…