2007-06-01から1ヶ月間の記事一覧
だいぶ放置していたけれども、ふと思い立ってSEQUITURを実装しました。SEQUITURアルゴリズムというのは文字列などを文法構造に変換するアルゴリズムで、データの圧縮などに利用されたりするものです。->コード SEQUITURについてはhttp://sequitur.info/がと…
今週始めたCの構文上でオブジェクト指向しようという話だけれど、なんかもうやる気がなくなってしまいました。 というのは今度はガベージコレクションそのものに興味が向いて、Cの構文上でやるとかどうでもよくなってしまいました。 どうも自分はプログラミ…
Rubyのgc.cを参考にしながら(とうか途中からほぼ写経状態orz)マーク&スイープによるガベージコレクタを実装しました。 >リポジトリ でも写経状態でもめちゃくちゃ勉強になるもんです。 setjmpしてレジスタ値などを保存するとか、ヒープを確保した後オブジェ…
非常に単純なガベージコレクタが出来た。 > リポジトリ gc_mallocを呼び出す度にアドレスをリストに保存して、リストが一杯になったらスタックを走査するという仕組み。 まだヒープ内からの間接参照などの走査をしていません。あとレジスタも覗いていません…
C言語でオブジェクト指向っぽくプログラミングする為の方法論とかライブラリとかは既にいろいろありますが、効率とか実装の綺麗さとかを無視してとことんやったらどこまでできるかとふと思い、書き始めました。型の解決などは当然実行時にします。 C++やRuby…
自作のHTTPサーバーをブラウザから呼び出せるところまでできた。 まだ、GETメソッドのみです。こっから機能を増やしていこう。 デーモン化 PostgreSQLのコードを参考にしました。 static void pmdaemonize(void) { int i; pid_t pid; pid = fork_process(); …
Hack this siteのRealistic Missions 8をクリアした。 United Banks Of America 初めて複数のミッションが与えられた。 Gary Hunterという人物のログインアカウントを見つけろ この人の講座から10000000ドルを別の講座に移せ ログファイルを削除しろ といっ…
大学の課題でHTTPサーバーを2週間で作れという課題がでた。BASIC認証もついでに。 ただ動くだけのサーバーを作るなら簡単だけれど、課題の要件の できるだけセキュリティホールを作るな がかなり難しい。バッファオーバーフローを防げばOKなどと思っちゃだめ…