Quiz #1 - Aufgabe #1 - Datenverwaltung

Dieses Thema im Forum "Kontest" wurde erstellt von Alex², 4. Dezember 2012 .

  1. 4. Dezember 2012
    Zuletzt von einem Moderator bearbeitet: 15. Dezember 2012
    Vorwort

    Wir möchten jeden ermutigen sich mit den Aufgaben zu beschäftigen und auch unfertige Lösungen zu den Teilaufgaben 2 bzw. 3 einzusenden. Das Ziel besteht darin möglichst viele Ansätze zu haben über die wir uns im Anschluss austauschen können.

    terraNova und ich haben uns Mühe gegeben die Aufgabenstellung für jeden interessant und lösbar zu gestalten. Aus diesem Grund ist die Aufgabe in 3 Teile aufgeteilt worden, welche sich in ihrer Schwierigkeit steigern. "Vorausgesetzt" wird die Lösung der ersten Teilaufgabe.

    Konstruktive Kritik, Anmerkungen und Fragen sind erwünscht, besonders da dies die erste Aufgabe ist.

    Diese Aufgabenstellung ist, wie aus den Regeln ersichtlich, bis zum 25.12.2012 18:00 gültig. Danach sollten keine Lösungen mehr eingereicht werden.

    Aufgabenstellung

    Es geht im Grunde um die Verwaltung von Daten. Im Verlauf der verschiedenen Teilaufgaben wird versucht sich einem Datenbanksystem zu nähern.

    Teil 1

    Dieser Teil der Aufgabenstellung ist elementar und sollte erfüllt werden.

    Das Verwalten der vorgegebenen Daten. Dies umfasst Anlegen, Entfernen und Bearbeiten von Datensätzen. Genannte Funktionalitäten sollten mindestens über eine textbasierte Oberfläche abrufbar sein.

    Diese Datensätze könnten sich in einer Tabelle, welche sich wiederum in einer Datenbank befindet, befinden (Datenbankname/Tabellenname.txt) im CSV-Format vorliegen, was jedoch euch vorbehalten ist. Gefordert sind in dieser Aufgabe nur Zeicheketten.

    Die Demodaten mit denen das Programm auf jeden Fall laufen sollte:

    RR-User.csv
    Code:
    User;Posts;Titel;Power
    terraNova;1.240;Ehrenmitglied;23
    Alex²;2.881;The Madness;49
    Die Daten müssen NICHT in diesem Format gespeichert werden.

    Ihr könnt beliebige Datensätze hinzufügen.


    Teil 2

    Nun geht es darum, den bestehenden Code so zu erweitern, dass er mit allen beliebigen Daten funktioniert. Die Daten sollen wie in einem Datenbanksystem verwaltet werden können. Also in Datenbanken und Tabellen organisiert werden. Der Einfachheit halber sind alle Daten als Zeichenketten (Strings) zu betrachten.

    Teil 3

    Wer noch nicht genug hat, kann sein Datenbanksystem im Bereich der folgenden Teilaufgaben erweitern:


    • Einen eigenen SQL-Dialekt schreiben (Parser)
    • Geschwindigkeitsoptimierung (Indexing, Suchalgorythem etc.)
    • Datentypen implementieren
    • Externer Zugriff auf das Datenbanksystem (TCP z.B.)

    Wir wünschen euch viel Erfolg!
     
    1 Person gefällt das.
  2. 14. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Wie siehts aus?
    Kommt ihr mit der Frist zurecht oder gibt es sonst irgendwelche Probleme?
     
  3. 14. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Wird sehr knapp, lieber wäre mir noch eine Woche extra.
     
  4. 15. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Mir ehrlich gesagt auch. Hatte die Woche viel zu tun. Vielleicht sollten wir darüber abstimmen?
     
  5. 15. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Ich wäre auch für eine extra Woche. Ich hatte leider sehr viel anderes zu tun.
     
  6. 15. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Ok. Die Frist wird für diese Aufgabe um eine Woche verlängert.
     
  7. 16. Dezember 2012
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Aufgabe #1 - Datenverwaltung

    Sehr gut.. Die ersten beiden Teile sind soweit fertig (ein paar kleine Fehler sind glaube ich noch drin) aber bin noch an einem SQL-Parser dran.

    Der braucht noch ein wenig Zeit

    Update:
    Bild

    Bearbeiten fehlt noch, sonst siehts gut aus
     
  8. 20. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Ich habe fertig

    Leider werd ich wohl bis zum Jahresende kaum noch hier online sein, deswegen hab ich jetzt schon "abgegeben".

    Ich bin gespannt wer noch so alles Lösungen einreicht und wie die aussehen
     
  9. 28. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    hat xolox also gewonnen? hat ja sonst niemand abgegeben oder sehe ich das falsch?
     
  10. 29. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Ich wusste gar nicht, dass man da gewinnen oder verlieren kann
    Aber trotzdem interessiert es mich, ob xolox der einzige war.
     
  11. 30. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Es hat per Thread tatsächlich nur einer abgegeben, nämlich xolox.

    Nachdem die erste Aufgabe quasi die Grundaufgabe ist, wird noch entschieden, wie wir jetzt weiter machen.
     
  12. 30. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Ich würde schon noch bei anderen Aufgaben mitmachen (nicht, dass man jetzt die eine Abgabe mit fehlendem Interesse interpretiert), hatte bei der ersten Aufgabe nur nicht genügend Zeit, um es zufriedenstellend zu machen
     
  13. 30. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    gut, dass du mich hast =)

     
  14. 30. Dezember 2012
    Zuletzt bearbeitet: 30. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Es ist so, dass es keinen Gewinner geben wird. Der Fokus liegt darauf, die einzelnen Lösungen zu diskutieren und voneinander zu lernen. Es gibt ausschließlich Punkte für die Teilnahme bzw. das reine erfüllen der verschiedenen Unteraufgaben.

    Der von dir zitierte Ausschnitt bezieht sich auf die Gesamtpunktzahl. Nicht auf die Bewertung der einzelnen Aufgaben, sondern die Aufrechnung aller Aufgaben. Das hier ist ja nur die Aufgabe #1

    Die Abgabe ist ein wenig ungünstig in die Feiertage gefallen. Wir werden die nächsten Tage mal schauen, wer noch was abzugeben hat und die ganze Sache bezüglich der Frist etwas lockerer sehen.
     
  15. 30. Dezember 2012
    Zuletzt bearbeitet: 30. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    oh, na dann walte deines amtes und editier mal fleißig danke für die aufklärung!

    viel zu diskutieren gibts ja nicht bei den ganzen abgaben. lag aber vermutlich auch an der aufgabe, dass nicht so viele mitgemacht haben. wie auch immer... bin gespannt was in den nächsten tagen noch so alles eintrudelt.

    ist ja nicht so, dass die genannten feiertage jedes jahr am selben datum sind und das nicht absehbar gewesen wäre

    edit:


    achso, dann ist das system ja noch beschis*ener als ich dachte^^ sorry
     
  16. 30. Dezember 2012
    Zuletzt bearbeitet: 30. Dezember 2012
    AW: Aufgabe #1 - Datenverwaltung

    Da muss nichts editiert werden. Für eine Aufgabe allein wird es keinen Gewinner geben. Der Gewinner ist im Endeffekt derjenige mit der höchsten Aktivität nach 10 Aufgaben. Die Qualität der einzelnen Lösungen wird hierbei nicht beachtet, solange die Aufgabenstellung erfüllt wurde.

    Behauptet auch keiner. Ich sehe trotzdem keinen Grund, warum sich hier irgendjemand Stress machen sollte.


    Und ein besseres System würde wie aussehen? Es ist einfach unglaublich schwer Lösungen in verschiedenen Sprachen gegeneinander zu bewerten. Dazu kommt, dass man sonst zu schnell Neulinge bzw. weniger starker Programmierer ausschließt.

    Wenn man sich keine Gedanken über diese Punkte gemacht hat, könnte man natürlich zu deinem Schluss kommen.
     
  17. 1. Januar 2013
    Zuletzt bearbeitet: 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Ich wurde leider nicht fertig, da ich es mit C programmieren wollte und den Aufwand unterschätzt hatte.
    Mit PHP hätte ich vielleicht ne Woche gebraucht gebraucht, aber das ist ja nicht Sinn der Sache

    Beim nächsten mal dann

    Ich lade die Tage mein unfertiges Projekt bei Github hoch wenn jemand Interesse hat.

    Folgendes habe ich fertig:
    - JSON Parser (encode/decode) + dazugehörige Hashmap/LinkedList Kombination
    - SQL Scanner/Parser (AST Generator mit Unterstützung gängiger Ausdrücke/Arithmetik)

    Hört sich nach wenig an, doch alleine die beiden Komponenten haben zusammen ~3000 Zeilen Code xD - alles per Hand geschrieben versteht sich.

    Die Idee war eine JSON-Datenbank Engine.
     
  18. 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung



    Sei doch bitte so freundlich und poste es auch hier. Dann haben wir schon mal mindestens 2 Projekte
     
  19. 1. Januar 2013
    Zuletzt bearbeitet: 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Ja, was soll man dazu sagen? Es ist schon wirklich mager ausgefallen. Ich hätte gedacht, dass sich mehrere Leute daran beteiligen, da die Umfrage ja recht positiv ausfiel. Woran lag es? Unpassender Zeitraum oder lag es an der Aufgabe an sich?

    Nächste Woche wird eine kleinere Aufgabe gestellt, die man relativ einfach lösen kann. Ich hoffe dort fällt die Beteiligung größer aus. Punktemäßig müsste man natürlich bei 0 anfangen, auch wenn mir xolox da ein bisschen leid tut, weil er sich die Mühe gemacht hat die Aufgabe ordentlich zu lösen.

    Blackdeamon: Da Du ein Meister der Fäkalsprache zu sein scheinst, kannst Du doch auch gerne mal ein besseres System herausposaunen. Wir sind gerne bereit das System zu verbessern, sollte jemand konkrete Vorschläge machen. Soetwas brauchen wir jedoch nicht und sei dir gewiss, soetwas werden wir auch nicht dulden.
     
  20. 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Also ich habe nicht mitgemacht weil die Aufgabe mich gar nicht an spricht. Zudem würde ich mit C/C++ Arbeiten und wenn man dort keine weiteren Libs benutzen darf ist es gegen anderen Sprachen unfair.
     
  21. 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Danke für die Rückmeldung. Das Problem an Bibliotheken ist, dass es für viele einfach sehr schwer nachvollziehbar ist, wie etwas funktioniert, vorallem, wenn jeder andere Bibliotheken für alles benutzt. Etwas, was man hier machen könnte, wäre, alle großen und gängigen Bibliotheken (Für C/C++ wäre das z.B. boost) zu erlauben. Kleinere und unbekannte Bibliotheken müsste man absprechen. Die Aufgaben, die hier gestellt werden, sollen ja auch durch den Teilnehmer und nicht durch eine Bibliothek gelöst werden.
     
  22. 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Die Aufgabe war einfach viel zu schlecht gestellt. Die Aufgabe sollte viel klarer gestellt sein mit einem genauen Ziel. Für diese Aufgabe 1 kann man 10 oder 1000 Stunden investieren und das darf natürlich nicht sein.

    Als weiterer Tipp: Macht Aufgaben die wenigstens ein bisschen sinnvoll sind. Außerdem sollte es natürlich einen Gewinner bei jeder Aufgabe geben.

    Stichwort RR Loader.... Vielleicht könnt ihr die Entwicklung in Kontest-Aufgaben stückeln... z. B. Warum lässt ihr nicht ein neues Containerformat mit so einem Kontest entwickeln?
     
  23. 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Die Aufgabe an sich war eventuell nicht die beste, die man hätte stellen können, doch war sie im 1. Aufgabenbereich (Die Hauptaufgabe an sich) genau genug gestellt. Es wurde alles wichtige genannt, damit der Teilnehmer die Aufgabe lösen kann. Die weiteren Zusatzaufgaben hätte man noch ausschmücken können, ja.

    Den Loader in einem Contest zu entwickeln halte ich für keine gute Idee. Das ist etwas, was man abspricht und die Aufgaben entsprechend verteilt mit strikten Vorgaben, das ist nicht Sinn und Zweck dieses Contests. Du kannst das natürlich gerne so veranstalten, es muss ja nicht zwingend nur ein Contest laufen.
     
  24. 1. Januar 2013
    Zuletzt bearbeitet: 1. Januar 2013
    AW: Aufgabe #1 - Datenverwaltung

    Das mit den Libraries hatten wir doch schon vor geraumer Zeit richtig gestellt. Es können durchaus Libraries genutzt werden, allerdings sollten diese keine Hauptfunktionalitäten übernehmen. Eine SQLite-Library zu nehmen und irgendetwas drum herum zu bauen würde bei dieser Aufgabe beispielsweise keinen Sinn machen.

    Eigentlich war das genau einer der Hauptaspekte. Wir wollten damit erreichen, dass niemand Unter- bzw. Überfordert ist. Die Leute sollten sich hinsetzen und etwas entwickeln, das dann am Ende vorgestellt bzw. besprochen werden kann. Es geht nach wie vor nicht um einen direkten Vergleich.

    Das mit dem Gewinner ist bei der breiten Fächerung der Fähigkeiten hier im Forum nicht möglich.
    Es wäre schon schwierig genug die verschiedenen Sprachen zu berücksichtigen. Wir hatten uns ja bewusst versucht davon zu lösen.

    Man müsste dann schon wieder eine Sprache vorschreiben. Ich sehe keinen Weg wie man sonst die entsprechenden Teile zusammen bekommt. Das mit dem Containerformat ist prinzipiell keine schlechte Aufgabe. Du bist immer noch (wie alle anderen auch) herzlich eingeladen Aufgaben zu formulieren, welche dann bearbeitet werden können.

    Ansonsten, wäre ich dir dankbar, wenn du mal konkrete Lösungsvorschläge präsentierst, anstatt ständig die selben Probleme anzusprechen.
     
  25. 1. Januar 2013
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: Aufgabe #1 - Datenverwaltung

    Hallo,

    ich bin aus dem Weihnachtsurlaub zurück und muss schon sagen, dass ich überrascht bin, dass kein anderer eine Lösung eingereicht hat. :shock:

    Ich meine, bei poll: der Umfrage haben immerhin 21 Leute gesagt, dass sie Interesse daran haben. Dazu kommen noch 16 (u.a. ich) die gesagt haben "Vielleicht. Je nach Aufgabe.."

    Der Zeitpunkt war sicherlicht nicht der Beste, da man im Dezember eigentlich immer wenig Zeit hat, aber 3-4 Wochen sollten für eine solche Aufgabe (insbesondere für die Grundversion) schon reichen. Man könnte auch halbfertige Aufgaben (z.B. die von Murdoc) einreichen. Die Lösung würde mich auch interessieren

    Zur neuen Aufgabe:
    Ich bin gespannt, ob sich das nächste Mal mehr beteiligen. Eventuell könnte man die "Ja-Sager" aus der Umfrage nochmal ins Boot holen, bzw. direkt bei der Aufgabe eine Umfrage machen, wer die Aufgabe lösen wird / lösen will. Wenn sich da schon keiner für meldet, kann man es gleich sein lassen.

    Ansonsten ist es wirklich schade, dass meine Arbeit "für die Katz" war, da es 1. nichts als Vergleich gibt und 2. scheinbar im Allgemeinen wenig interesse daran besteht.

    Schöne Grüße und noch frohes Neues
    xolox
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.