Code Competition 02/2016: Paralleler Webserver
Code Competition 02/2016: Paralleler Webserver
Erstelle Deinen eigenen parallelisierten Webserver!
{ABOUT}
In dieser Code Competition wollen wir gemeinsam einen Webserver entwickeln, der mit Hilfe von Threads paralles Arbeiten Abarbeiten ermöglicht.
Wieso parallel?
Ein Server stellt einen Service bereit, den ein Client anfordern kann. Ein nicht-paralleler Server, also ohne Threadunterstützung, kann Anfragen innerhalb eines Prozesses nur seriell abarbeiten. Das heißt, wenn ein Client mit dem Server verbunden ist, ist er beschäftigt und kann keine weiteren Anfragen annehmen.
Man könnte einen Server nun mit vielen Prozessen starten – oder man konzipiert den Server direkt so, dass er eine parallele Bearbeitung von Anfragen durch Threads ermöglicht.
{INPUT}
Als Abgabe benötigen wir den Quellcode deines Servers sowie eine kompilierte, ausführbare Datei.
Du kannst Deine Lösung in C, C++, C#, Java, JavaScript, Haskell oder Python abgeben.
{REQUIREMENTS}
- Dein Webserver muss alle Dateien in einem eingestellten “home directory” auflisten können (Directory Listing).
- Dein Webserver muss Anfragen auf Port 80 (localhost) bedienen (Stichwort: Sockets)
- Dein Webserver muss parallelisiert und threadbasiert laufen. Das heißt, weitere Anfragen, während bereits eine Anfrage bearbeitet wird, müssen in einem neuen Thread bearbeitet werden (weitere Infos z.B. apache multi-threaded)
- Dein Webserver muss thread-safe arbeiten Infos: Thread-Safety
{REVIEW}
Worauf achten wir bei der Bewertung Deines Programms?
- Funktionalität: Lässt sich das Programm ausführen? Tut es, was es soll?
- Code-Qualität: Ist der Code sinnvoll strukturiert und effizient?
- Code-Lesbarkeit: Lässt sich der Quellcode nachvollziehen?
- Dokumentation: Verstehen wir die Bedienung des Programms? Ist der Code kommentiert?
- Zusätzliche Features: Auch besonders nützliche GUIs oder sinnvolle Zusatzfeatures fließen etwas mit in die Wertung ein 😉
Additional Details
Weiterleitungsevent - No
Partnerunternehmen -
Sponsor der Förderung -
Top-Event (Bezahlevent) - No
Talentpool-ID -