Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann.

Neue Programmieraufgaben/Ideen

Diskussion: Neue Programmieraufgaben/Ideen im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Anzeige Vorschlag nach: [HaBo] - Smileys (+- 20 Einträge) 1. Challenge (einfach) Apache Logs generieren. Mit echten Useragenten, validen IPs ...

Antwort
Alt 23.07.11, 01:20   #1 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard Neue Programmieraufgaben/Ideen

Anzeige

Vorschlag nach: [HaBo] - Smileys (+- 20 Einträge)

1. Challenge (einfach)
Apache Logs generieren.
Mit echten Useragenten, validen IPs (sowohl v4 als auch v6)
Ausgabe in das übliche Apachelogformat: Log Files - Apache HTTP Server

Code:
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
2. Challenge (mittel)
Apache Logs auswerten.
Dabei sollen folgende Statistiken und Angaben erstellt werden:
(n, m sind dabei ein Laufzeitparameter)
-Liste der n häufigsten Useragenten
-Liste der n häufigsten Besucher
-Liste der n häufigsten URLs und Hosts
-Liste der n Stoßzeiten der Größe m (Zeitraum) (Stoßzeit: Zeitraum in dem 25 % mehr Anfragen pro Sekunde bedient wurden, als im Durchschnitt)

3. Challenge (schwer) - evtl. weglassen?
Graphen rendern.
-Pie-Charts für die Listen aus 2.
-Zugriffsstatistikgraph.
Die Graphen können entweder als SVG oder in einem anderen verbreiteten Format (PNG, GIF, JPG, BMP, TGA) ausgegeben werden. Eine Graphenbibliothek darf dabei nicht verwendet werden.

Ich würde dann vorschlagen, dass unter einheitlichen Bedingungen von einer neutralen Person (nicht-Teilnehmer) die Geschwindigkeit aller Programme getestet wird. Der Teilnehmer mit den meisten schnellen Programmen gewinnt. (Wer in allen Kategorien schnellster ist gewinnt, wer in zwei Kategorien schnellster ist=>zweiter Platz usw. usf.)
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++

Geändert von enkore (23.07.11 um 01:32 Uhr)
enkore ist offline   Mit Zitat antworten
Alt 23.07.11, 01:49   #2 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

wo nimmt man so viele echte User-Agenten ? Und Random-ips werden sich im generierten Log kaum wiederholen, wogegen real diese deutlich anders verteilt auftreten.
Das Gleiche für URL/Hosts (immer zufällige Strings?).
Das wird sich auch auf die Geschwindigketismessung auswirken - ein langsameres Programm generiert "bessere" Logs. Eins mit "schlechten" Logs ist dafür schnell. Welches ist nun besser?

Teil 2 und Teil 3 wäre aber ok so. Nur bräuchte man eben "realistische" Logs.

Zudem ist das Benchmarken nicht ganz so einfach (Compilerversion, Flags, eingesetzten Maschine + Betriebssystem - das dürfte viel Rumgemeckere geben. Z.B "unter Linux xyz und GCC zyx und 64 Bit ist das viel schneller, als unter ..." ).
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 23.07.11, 07:33   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Okay lassen wir 1 weg. Ich besorge entsprechende Logs
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 23.07.11, 16:42   #4 (permalink)
 
Registriert seit: 05.10.05
Inliferty Leistung: 8086
Inliferty eine Nachricht über ICQ schicken
Likes: 5
Standard

CDW seit wann geht es in den Programmieraufgaben um Benchmarks?
Vermischt du vielleicht meinen "Java ist langsamer als C" Flame mit der Challange?

MfG
Inliferty
Inliferty ist offline   Mit Zitat antworten
Alt 23.07.11, 17:07   #5 (permalink)
 
Registriert seit: 03.04.11
Tsjuder Leistung: 8086
Likes: 10
Standard

Weiß gar nicht ob du gestern da warst: Aber schau einfach mal ins Shoutbox Archiv dann siehst du wie die Idee entstanden ist ;-).
Tsjuder ist offline   Mit Zitat antworten
Alt 23.07.11, 17:08   #6 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Ja, die Leute wollen eben unbedingt zeigen, dass ihr Compiler der _schnellste_ ist .
Ich würde allerdings dazu tendieren, dass jeder für sich selbst benchmarken kann - eigenes Programm und die "Konkurenz".
Für Streitigkeiten gibt es dann PMs. Und wenn man unbeding beim "benchen" mitmachen möchte, so soll man auch die Compilerflags/usw. mitposten, für die der eigene Code am schnellsten sein soll.

Den größten Unterschied macht sowieso der Algorithmus aus - und der ist nunmal in modernen Sprachen deutlich schneller und einfacher umgesetzt, als in C .

PS: andere Ideen sind auch willkommen. Ziel ist es, eine realistische Aufgabe (keine Primzahl/100200 PI-Stellen Rechnung oder Numbercrunching - viele eher Datenverarbeitung und andere typische Tätigkeiten), die man in ein paar Stunden programmieren kann und die sich dann (wenn es unbeding sein muss) auch ohne viel Aufwand (wie es z.B beim HTTP-Server der Fall wäre ) benchmarken lassen.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 23.07.11, 17:08   #7 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Die von mir geposteten Challenges sind aus genau dem Flame entstanden
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 23.07.11, 17:45   #8 (permalink)
 
Registriert seit: 05.10.05
Inliferty Leistung: 8086
Inliferty eine Nachricht über ICQ schicken
Likes: 5
Standard

Die Aufgabe mit dem Graphen finde ich intressant.
Jedoch mit Graphenbibliothek?
Ich hätte keine Lust meine fertige Bit-Map in die verschiedenen Formate umzurechnen, bzw. kenne ich den Aufbau von vielen Datei-Formaten garnicht (z.B. TIFF, GIF, PNG)
Oder meinst du mit Graphenbibliothek eher etwas in die Richtung:
CreatePieChart(<Wert1>, <Wert2>, <Wert3>, ...);

OffTopic:
Also um meinen Flame zu widerlegen/beweisen würde ich eine eher unrealistische Aufgabe wählen (Mandelbrot-Menge, Primzahlen, PI, ...)

MfG
Inliferty
Inliferty ist offline   Mit Zitat antworten
Alt 24.07.11, 00:24   #9 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

*Ohne* Graphenbibliothek.
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Programmieraufgaben » Neue Programmieraufgaben/Ideen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61