Coding Battle #1

  • [tabmenu]
    [tab='Info','http://www.woltlab.com/forum/wcf/icon/infoS.png']
    Wie von euch gewünscht gibt es jetzt das erste Coding Battle!
    Ihr dürft alleine oder in einem 2er Team programmieren.



    Starten wird das Battle am 15.9 um 14 Uhr und läuft bis zum 16.9 24:00.


    Thema wird in Richtung Socketprogrammierung gehen. (Man beachte den Tipps Tab!)


    Viel Spaß wünscht die
    Special Force :)


    [tab='Bewertung', 'http://www.stagetwo.eu/icon/postReportS.png']
    Bewertet wird das Endergebnis wie immer nach den vorhanden Funktionen eures Programms und den Code ( Sauberes OOP!, Kommentare, etc. ).
    Da es bei einem Team natürlich viel mehr Funktionen geben wird ( bzw. sollte ) werden wir bei der Bewertung natürlich auch darauf achten.


    [tab='Preise','http://www.stagetwo.eu/icon/boardNewL.png']
    1. Platz: 4 Monate Supporter
    [tab='Tipps/Hinweise',''http://www.stagetwo.eu/wcf/icon/helpS.png']
    Allgemeines Hinweise zur Socketprogrammierung:


    - Die Socketmethoden und das Verarbeiten der Daten voneinander trennen. Die Verarbeitung der Daten sollte unbedingt in einem eigenen Thread stattfinden. (Sonst überlastet der Server schneller )


    - Strukturiert und gezielt Klassen für die Packete, Clients, usw. entwickeln und nicht einfach alles i-wie zusammenklatschen. (Sollte IMMER so sein, ich weise nur nochmal gerne daraufhin, sonst habt ihr nachher keinen Überblick mehr)


    - Auf Fehlerbehandlung achten! Wenn ihr nicht in Java programmiert, werdet ihr auch nicht gezwungen Exception abzufangen (jaja ich weiß auch das man in Java die RuntimeExceptions nicht abfangen muss ). Schade eigentlich, aber noch ein kleiner Tipp in jeder Dokumentation steht drin, welche Exceptions die Funktion werfen kann, diese solltet ihr auch gezielt abfangen. Es seit denn ihr wollt das euer Programm öfter mal abstürtzt (.Net Tipp: Auf die SocketExceptions UND ObjectDisposedExceptions achten!)


    - Wenn ihr mit Listen oder Arrays arbeitet die von mehreren Threads bearbeitet werden (und das werdet ihr) auf die Threadsicherheit achten. Java Tipp: Es gibt Vorimplementierte Threadsichere Listen und das Schlüsselwort synchronized. .Net Tipp: Das Schlüsselwort lock und dazu das SyncRoot Attribut des ICollection Interfaces (Ich glaub jede Collection implementiert dieses Interface).


    - Tipp: Wenn ihr in Gruppen arbeitet, kann es hilfreich sein, dem Partner zuerst ein Interface eurer Klasse, das die Schnittstellen definiert, zu geben, damit dieser eure Klasse schon benutzen und damit weiterarbeiten kann.
    [/tabmenu]



    Noch Fragen? Immer her damit!


    Falls ihr einen Partner sucht könnt ihr gerne diesen Thread dazu benutzen.


    Livestreams:
    andrehaehnel: Meeting-ID: m47-000-074

  • Aufgabenstellung:
    Kurz und knapp, programmiert einen Chat ;)
    Wie dieser Chat aussieht, bzw. welche Features er hat, bleibt euch überlassen. Wichtig ist nur dass ihr sauber und strukturiert programmiert (und natürlich dass das Programm auch funktioniert :P)


    Ihr dürft dabei keine fertige Server oder Client Api benutzen (und natürlich auch nicht i-wo rauskopieren). Programmiersprachen sind wie immer alle zugelassen.


    Falls jemand Livestreamen möchte könnt ihr euren Link/ Teamviewer Id - wie auch immer - in diesen Thread hier schreiben. Ich trag euch dann in die Liste hier im Thread ein.


    Livestreams: (1. Post)



    In diesem Sinne, lasst die Spiele beginnen!

  • Wollte nur für die anderen fragen, da ich jetzt gleich besuch bekomme bis morgen abend.
    Daher kann ich leider nicht mitmachen, den anderen viel Spaß.
    Hätte da sonst was kleines mit au3 und ftp (php) sachen gebastelt :/


    Viel Glück den anderen !!