Lösen Sie eine Programmieraufgabe und gewinnen Sie ein gedrucktes Exemplar des neuen IT-Handbuchs für Fachinformatiker!
Update, 17.11.2015: Da bis zum 15.11. keine Einsendungen eingegangen sind, wird der Einsendeschluss hiermit bis zum 15.12.2015 verlängert.
In der neu erschienenen 7. Auflage des IT-Handbuchs für Fachinformatiker sind erstmals zahlreiche Übungsaufgaben und Prüfungsfragen enthalten. Die Lösungen zu den meisten dieser Aufgaben sind bereits online verfügbar, sowohl auf der Website des Verlags als auch auf meiner eigenen, noch im Aufbau befindlichen neuen Website. Im Einzelnen können Sie folgende Dateien mit Lösungen herunterladen:
- Lösungen zu den Multiple-Choice-Fragen (PDF)
- Lösungen zu den Textaufgaben (PDF)
- Lösungen zu den Programmieraufgaben (ZIP)
Zusätzlich gibt es noch eine ZIP-Datei mit allen Listings aus dem Buch, damit Sie diese nicht abzutippen brauchen – obwohl das Abtippen, so bekloppt das klingen mag, durchaus einen positiven Lerneffekt haben kann ;).
Die Lösungen für einige ausgewählte Programmieraufgaben wurden noch nicht veröffentlicht, denn sie werden im Rahmen größerer Artikel mit ausführlichen Erläuterungen auf meiner Website erscheinen (und natürlich auch hier im Blog verlinkt).
Genau hier kommen Sie ins Spiel: Suchen Sie sich eine der drei nachfolgenden etwas größeren Programmieraufgaben aus und implementieren Sie eine lauffähige und ausführlich kommentierte Lösung. Unter allen Einsendern korrekter Lösungen verlose ich zwei Exemplare des IT-Handbuchs. Zusätzlich werde ich alle richtigen Lösungen im entsprechenden Artikel mit Verweis auf Sie (und zum Beispiel Ihre Website, wenn Sie eine haben) veröffentlichen, falls Sie dies wünschen – teilen Sie mir in der Mail mit Ihrer Lösung einfach mit, ob Sie das gegebenenfalls möchten, und schreiben Sie die URL Ihrer Website dazu.
Hier die möglichen Aufgaben:
- Kapitel 10, Aufgabe 10 (Python):
Schreiben Sie einen kleinen Python-Webserver. Beim Start sollen auf der Kommandozeile ein TCP-Port und ein Wurzelverzeichnis angegeben werden (Standardwerte: Port 8000 und Wurzelverzeichnis “.”, also das aktuelle Verzeichnis). Der Server soll für jede Anfrage einen neuen Prozess starten. Wenn der gewünschte Dateipfad verfügbar ist, soll diese Datei zurückgegeben werden; für den Content-type können Sie ein einfaches Dateiendung-zu-Typ-Schema verwenden: .htm oder .html ergibt text/html, .txt wird zu text/plain, alles andere ist application/octet-stream (Binärdatei zum Download). Wenn Sie möchten, können Sie weitere Typen definieren. Beachten Sie, dass Sie nach dem Einlesen der Datei deren Größe für die Content-length bestimmen müssen, und Sie sollten die Verbindung mit dem Header Connection: close schließen, um nicht zahlreiche Prozesse offen zu halten. Wenn die Datei nicht gefunden wird, geben Sie den Status “404 Not Found” zurück. - Kapitel 13, Aufgabe 3 (Java):
Implementieren Sie eine Java-Anwendung, die die Informationen aus der Musikdatenbank auf der Konsole anzeigt, sortiert nach Interpretennamen und anschließend nach Albentiteln. Über Kommandozeilenargumente soll ein optionaler Suchbegriff übergeben werden können, nach dem in den Alben- und Track-Titeln sowie Interpretennamen gefiltert wird. Dabei soll der Suchbegriff automatisch mit %-Zeichen umgeben werden, falls noch keine vorhanden sind, und die jeweilige Suche soll mit LIKE erfolgen, um auch Teiltreffer zu finden. [Die zugehörige Datenbank finden Sie in den Lösungsdateien] - Kapitel 19, Aufgabe 5 (PHP):
Ergänzen Sie die Beispieldatenbank mit den Programmiersprachen um eine Tabelle authors mit den Feldern author_id, author_firstname und author_lastname sowie eine Tabelle languages_authors, mit der die m:n-Beziehung zwischen den Programmiersprachen und ihren Erfindern hergestellt wird (Felder la_author_id und la_language_id). Finden Sie (zum Beispiel aus der Wikipedia) heraus, wer die verschiedenen Sprachen erfunden hat, und fügen Sie diese Informationen in die Datenbank ein. Schreiben Sie anschließend ein PHP-Skript, das eine JOIN-Abfrage auf die Tabellen ausführt und die Sprachen sowie ihre Autoren in einer HTML-Tabelle ausgibt. [Kapitel 19, das Sie zum Verständnis dieser Aufgabe brauchen, ist vollständig in der ausführlichen PDF-Leseprobe zum Buch enthalten].
Senden Sie die Lösung Ihrer Wahl als ZIP-Archiv an
it-handbuch [at] sascha-kersken [punkt] de
Einsendeschluss ist der 15. Dezember 2015, der Rechtsweg ist wie üblich ausgeschlossen. Sollten Sie die neueste Auflage des IT-Handbuchs bereits besitzen, können Sie stattdessen auch ein Exemplar meines Buches “Apache 2.4” (Bonn 2012, Rheinwerk Verlag, vormals Galileo Press) erhalten.
Viel Spaß und Erfolg beim Teilnehmen!