Entries from 2009-01-01 to 1 year
kosaki さんと naruse さんに Linux & Ruby の git log と ChangeLog の運用を教えていただいた。 Linux: git log に完全移行。昔の ChangeLog が見たかったら Web で探してね Ruby: git log と ChangeLog は手動でプログラマが同期。細かい git log は Chan…
ひげ太は、まだハイハイが出来ないのだが数日中にできるようになりそう。 今日は前に進もうとして後に進んでた。すごい進化してるなあ。
分割統治法 分散プログラム コンピュータの言葉 乗算 ubiquitous language クラスの品質 挿入ソート factories
time パラメータがなくなってる。
やっと Jit コンパイラを VM から呼び出してみるなど。
git config core.filemode false
gdb 7.0 をダウンロードする。 ./gdb/m68k-stub.c ./gdb/m32r-stub.c ./gdb/i386-stub.c ./gdb/sparc-stub.c 前回の調査で sparc-stub.c が良くまとまっている事が分かっているので見ていこう。 さっそく GDB コマンドなる物があるらしく説明がある。レジス…
SIGSEGV がうまくハンドルできない は代替スタックを指定すべきだったことを id:kazuhooku に教えてもらった。 こうしておけばスタックオーバーフローでも正しくシグナルハンドラが呼ばれる。 man sigaltstack にある例の通り。 stack_t ss; ss.ss_sp = GC_m…
メモリクリア比較。ポインタ vs 配列
naive な suffix array を実装して重複文字列を検索するコードを書くときに srfi 13 string library を使ってみた。 string-prefix-length 手続きがまさに欲しかったもので感心した。
Erlang の memecached クライアント作った。まだ複数サーバーに対応してなかったり、あまり使わないコマンドはサポートしていない。 既存クライアントの merle は色々と使いづらかったので自作。github に置いてあるので気軽に fork してもらえるとうれしい。
上流工程要求 Java のメモリモデル ヒープ
Erlang Common Test ではテスト SUITE の開始と終了時に hook を指定する事が出来る。 これは xUnit にはよくある機能で、例えば開始時にリソースを取得し、テスト中は使い回す、終了時に解放みたいなことに使う。 ところが Erlang Common Test では init_pe…
そろそろ Mona のデバッグ環境を整えないと色々大変なので GDB スタブを書く事にする。全く分かっていないので調べるところから。 正月休みくらいに動くようになると良いな。 目的 達成したいのは Mona 中のユーザープロセスのデバッグ。ユーザープロセスが…
N個の整数から重複しないm個選ぶ。 コンセプトの輪郭 stand alone classes TDD コピペして良いの? マージソート repositories マージソート
数学的基礎とデータ構造 (アルゴリズムイントロダクション)の 4章 再帰木と分類定理を理解できれば良いのかな。とりあえず練習問題は省略。完全な理解が必要である事が分かった場合は戻ってこよう。
JIT コンパイルされたコードの VM インストラクション毎にスタックトレース用に情報を push しておいて、SIGSEGV が起きたら直近のスタックトレースを出す機能を作っている。 SIGSEGV をハンドルするように sigaction でセットして試しに直後に uintptr_t* p…
数学的基礎とデータ構造 (アルゴリズムイントロダクション)の 2章 2.1-1 ( 41 59 26 41 58) ( 59 26 41 58) ( 26 41 58) ( 41 58) ( 58) () 2.1-2 不等号を逆に。 2.1-3 LINEAR-SEARCH(A, v) 1. for i <- 1 to length[A] 2. do val <- A[i] 3. if val = v th…
条件変数など実装完了。せっかくがっつりテストを書いたので Mutex をリファクタリングしようとしたら、テスト突入以前に Mutex 使っているところがありすぎて挙動不審になり涙目。
数学的基礎とデータ構造 (アルゴリズムイントロダクション)の 3章 何だか高校の数学の復習のような。練習問題は省略。
高校生の勉強方法 速読大特訓 ヘネパタ 外部接続 上流工程 intention revealing interface
月の日数 updating distributed data supple design プロセス間通信 ああそうかアルゴリズム associations
Erlang ライブラリ関数の戻り値を必ずドキュメントでチェックして、以下のようにマッチさせておく事。 ok = hoge(), 少しでもさぼると痛い目にあう。
Erlang でコードカバレッジでを取得する方法は大きく分けて 2 つある。どちらの場合も cover モジュールを利用している。 方法1 Common Test を使う Erlang Common Test を利用してテストを書き、カバレッジをオプションを有効にしてテストを実行すれば良い…
Erlang アプリケーションを配布する際には run_test スクリプトを同梱するのは難しい。開発者の環境の絶対パスがうめこまれてしまうから。 そのため ct モジュールを利用して直接テストを実行する必要がある。 ドキュメントを読みあさり、方法が分かったので…
あとはドキュメント。
ヒープ 隠れたコンセプトを探し出す Aggregates concurrency control w/o locking 再利用性へのアプローチ
ひげ太に歯が生えた。下の歯が2本うっすらと。最近やたらとおもちゃをカミカミしていたのは歯が生えてきて、かゆかったのかもしれない。 先月から離乳食もはじまりイモが好きみたい。そういえばイモと言えばゴンスケだよね。