hns - 日記自動生成システム - Version 2.19.6

先月 2006年02月 来月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28
HNS logo

2006年02月01日(水) [n年日記]

[天気:雨]

#1 source code coverage test

昨日は休んで寝てました。どうも調子がよくありません。
それはともかく、今日はソースコードの実行カバー率を調べる方法を みていました。gccの場合、標準でgcovという解析ツールがついていました。 しかしこれは単独で動作するものではなく、gccに "-fprofile-arcs -ftest-coverage"という2つのオプションをあたえた バイナリの実行が必要です。autotool化したソースなら、通常
% CFLAGS="-fprofile-arcs -ftest-coverage" ./configure
というようにすれば使えるはずです。

バイナリを実行させると、.bb, .bbg, .daという拡張子の付いたファイルが 生成されます。これらはオブジェクトファイルと対応付けられており、 gcov test.cなどとすればtest.cに対する実行カバー率が表示されます。
% gcov string_1.c
100.00% of 123 lines executed in file string_1.c
Creating string_1.c.gcov.
上記はtest suiteであるテストの例ですが、testなので100%が出て当然といえば 当然です。実際にはライブラリ化した別のソースがあるので、それを みないと意味がありません。
今回試したコードの場合src以下にライブラリを置いているのですが、 それを確認するには例えば以下のようにします。
$ cd ../src
$ % gcov -o .libs nmz_string.c
77.08% of 192 lines executed in file nmz_string.c
Creating nmz_string.c.gcov.
.libs以下に共有ライブラリの実体と.daファイルが生成されるので、 そこを参照するようにしないといけません。

ともかく、これでソースコードのカバー率を調べられるようになりました。 きっと他の言語でも同様のものはあるでしょう。
permlink
このエントリーを含むはてなブックマーク

2006年02月02日(木) [n年日記]

[天気:晴]

#1 meet with Warren Togami

先日はFedora Projectの創始者であるWarren Togami氏にあいました。 主に日本語入力ソフトウェアに関連する人達とのミーティングという感じで、 いろいろな議論がなされていたようです。
いかんせん私は6時ごろから参加したので、既にかなりの議論がなされた 状態でした。ホワイトボードを用いていたので、ざっとその内容をみた 感じではフォントの問題、日本語入力の複雑さなどについて議論があった ようです。

Warren氏自信はわずかながら日本語ができるそうで、ちょっとした会話の 中に日本語が出てくることがありました。今後もメールベースで議論を続けて いくことになりそうです。
permlink
このエントリーを含むはてなブックマーク

2006年02月03日(金) [n年日記]

[天気:晴]

#1 msys-1.0.dll and cmigemo

Meadowに付属のcmigemoはcygwinでbuildされていて、あえてcygwinを 避けている会社の環境では動かなかったのですが、MSYSを入れたら 動くようになりました。
ちょっと調べてみると、MSYSが提供するdllはもともとcygwinのdllに 由来しているそうです。それで必要な関数群がそろってしまって 動くようになったと思われます。 はたしていいことなのか悪いことなのか。
permlink
このエントリーを含むはてなブックマーク

2006年02月06日(月) [n年日記]

[天気:晴]

#1 prototyping with LL

あいかわらず不調にあえいでいる状況ですが、そんな中 Namazuのインデクサ、より正確にはpl/nmzidx.plをCで書き直そうという 構想をずいぶん前からやっています。
しかしながらその進みは牛歩のごとくちっとも進みません。 一度、より高級な言語でプロトタイプを書いたほうがよいような気が してきました。何度も初期コードを書き捨てしているので、 それなら別言語で書いてもいいかな、という感じです。
permlink
このエントリーを含むはてなブックマーク

2006年02月07日(火) [n年日記]

[天気:雨]

#1 mathematician and engineer

仕事に関連して、とあるアルゴリズムをいろいろと考えていたのですが、 とりあえず計算量を減らせそうな手法を思い付くことができました。
しかしながらいかにも数学的な問題にみえるので、きっと確立された 手法があるに違いないと調べていたら、やっぱりありました。

やはり数学者は偉いと思った次第です。計算機を使うと、ある程度 現実的な速度で動作すればそれで済むことも多いので、そこまで突き詰める ことがあまりないのですが、真理を探求する姿勢の数学者には かないません。
permlink
このエントリーを含むはてなブックマーク

2006年02月08日(水) [n年日記]

[天気:晴]

#1 portable I/O library

libnmzの再実装が進まない理由のひとつに、I/Oまわりの問題があります。 できれば抽象化して、ローカルファイルシステム以外も扱えるように したいという野望があるのですが、その設計をしては捨て、しては 捨てという状態です。

そもそも自分で作るなどという話もあるのですが、どうもよさそうな ものが見当たりません。glibにないかな、と思ったのですが GIOはイベントループと組み合わせるためのもののようなので、 これはちょっと目的にあいません。
QtでいえばQFileみたいなものがあるとわりとよさそうなのですが、 独立性が高くていいライブラリはありませんかね。

GnomeVFS:

一番近いのはこれなんですが、やはりGNOMEに依存するのは ちょっとどうかなという感じです。

need to read:

とにかくコードをみてみました。まさにやりたいことが実現されています。 対象がseekできない場合にはそのエミュレーションまで行う 徹底ぶり。こういうのはやはり下手に素人が手を出して劣化したものを 作ってもしょうがないということを痛感しました。
permlink
このエントリーを含むはてなブックマーク

2006年02月09日(木) [n年日記]

[天気:晴]

#1 file 4.15 license

NetBSD hackerであるところのChristos Zoulasさんが主にメンテナンスしている 現在のfile(1)コマンドなんですが、昔は4-clauses BSD Licenseだった気がしたのに 今みると2-clausesになっています。うれしい発見です。
以前は古いfileのコードを使ってたような気がしたのですが(記憶おぼろげ)、 今はまるまる書き直されたファイルもあるようです。

File-LibMagic:

すでにperl bindingもありました。これでわざわざ自分で作らなくても よくなりました。
permlink
このエントリーを含むはてなブックマーク

#2 gzip --rsyncable

gzipにはrsyncにやさしい圧縮をする--rsyncableというオプションがあります。 何度かdebian-develメーリングリストで、debの圧縮をこれにしようという 議論がでるので、その存在を覚えていました。
仕事で、定期的に一部の変更がある大きなファイルを細い回線経由で コピーする羽目になったので、例にこれを使ってみました。当然ながら 元データとの差がどれくらいあるかにもよるのですが、大半はせいぜい 1.1倍程度、調子がいいと2倍くらいの速度でsyncできるようです。

debian-develで採用されない理由がわかった気がします。それでもまあ 今はしないよりマシなのでこれを使っています。

sometimes effective:

と思ったら、圧縮前でも差分がちいさいであろうファイルを処理させて みたらかなり効果的面でした。128kbps回線で、下手をするとMB/secぐらいの 表示がでてきたりします。最初に試したのは差分が大きすぎた のかもしれません。
permlink
このエントリーを含むはてなブックマーク

#3 rewrite RSS URL

この日記の古いRSS(index.rss)をみにきたらrss.cgiに差し替えるように しました。以下のような感じで設定しています。
RewriteEngine on
RewriteBase /~knok/diary/
RewriteRule ^index.rss rss.cgi
permlink
このエントリーを含むはてなブックマーク
以上、7 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.6, HyperNikkiSystem Project