2007-06-01から1ヶ月間の記事一覧

SEQUITUR

だいぶ放置していたけれども、ふと思い立ってSEQUITURを実装しました。SEQUITURアルゴリズムというのは文字列などを文法構造に変換するアルゴリズムで、データの圧縮などに利用されたりするものです。->コード SEQUITURについてはhttp://sequitur.info/がと…

なぜ自分は一つの事が長続きしないのか

今週始めたCの構文上でオブジェクト指向しようという話だけれど、なんかもうやる気がなくなってしまいました。 というのは今度はガベージコレクションそのものに興味が向いて、Cの構文上でやるとかどうでもよくなってしまいました。 どうも自分はプログラミ…

マーク&スイープを実装した

Rubyのgc.cを参考にしながら(とうか途中からほぼ写経状態orz)マーク&スイープによるガベージコレクタを実装しました。 >リポジトリ でも写経状態でもめちゃくちゃ勉強になるもんです。 setjmpしてレジスタ値などを保存するとか、ヒープを確保した後オブジェ…

ガベージコレクタ

非常に単純なガベージコレクタが出来た。 > リポジトリ gc_mallocを呼び出す度にアドレスをリストに保存して、リストが一杯になったらスタックを走査するという仕組み。 まだヒープ内からの間接参照などの走査をしていません。あとレジスタも覗いていません…

C言語でオブジェクト指向

C言語でオブジェクト指向っぽくプログラミングする為の方法論とかライブラリとかは既にいろいろありますが、効率とか実装の綺麗さとかを無視してとことんやったらどこまでできるかとふと思い、書き始めました。型の解決などは当然実行時にします。 C++やRuby…

自作HTTPサーバーが動いた。

自作のHTTPサーバーをブラウザから呼び出せるところまでできた。 まだ、GETメソッドのみです。こっから機能を増やしていこう。 デーモン化 PostgreSQLのコードを参考にしました。 static void pmdaemonize(void) { int i; pid_t pid; pid = fork_process(); …

HTS Realistic Missions 8

Hack this siteのRealistic Missions 8をクリアした。 United Banks Of America 初めて複数のミッションが与えられた。 Gary Hunterという人物のログインアカウントを見つけろ この人の講座から10000000ドルを別の講座に移せ ログファイルを削除しろ といっ…

HTTPサーバーを作る

大学の課題でHTTPサーバーを2週間で作れという課題がでた。BASIC認証もついでに。 ただ動くだけのサーバーを作るなら簡単だけれど、課題の要件の できるだけセキュリティホールを作るな がかなり難しい。バッファオーバーフローを防げばOKなどと思っちゃだめ…