pondělí 8. března 2010

Trocha historie - dxhttpd

Tak tohle byl můj první velký programátorský projekt - plán byl vytvořit malý webserver, který bude sloužit jako základ pro další projekty. Rozšířená funkcionalita měla být realizována pomocí přilinkovaných modulů. Nakonec se použití omezilo na maturitní práci, která byla jednou z motivací tohohle řešení.
Kód zde nechávám k dispozici jako ukázku toho jak webový server nepsat. V první řadě je pěkně blbý nápad využívat na síťovou komunikaci služeb fread a fwrite (unixové systémy mají krásné volání open, read a write, které nemají takovou režiji). Další věc, kterou je opravdu lepší nepoužívat je provoz ve více vláknech - syscally typu select a poll jsou v tomhle případě nádherně použitelné a mnohem efektivnější (tohle si mnohdy lidé neuvědomují ani u komerčních projektů, kde by se mohla ušetřit hromada problémů).
A nakonec samotný kód, doufám, že se budete bavit při jeho čtení (je to celkem sranda). Ve verzi 2 už to dokonce tolik nepadá. Verze 1 pak segfaultovala celkem běžně :)

Blog...

Tak už na mne taky došlo, mám svůj blog. Rád bych sem naházel nějaké své starší prográmky (především ty, které jsem nikde nepublikoval), případně komentoval dění kolem mne (jak se znám, tak to bude především kritika všeho a všech :) ).
Ale to všechno ukáže čas...