uploaded slides and exercises
This commit is contained in:
parent
6b7d5c45f6
commit
1ababdd1aa
BIN
Folien/vorlesung7.pdf
Normal file
BIN
Folien/vorlesung7.pdf
Normal file
Binary file not shown.
46
Übungen/Blatt5.md
Normal file
46
Übungen/Blatt5.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Übungsblatt 5
|
||||
|
||||
## Vorwort
|
||||
|
||||
Dieses mal wollen wir ausgehend von unserem Parser (selbstgeschrieben oder von der Tutoren zur Verfügung gestellt) eine Visualisierung schreiben.
|
||||
|
||||
## Set-Up
|
||||
|
||||
Wir legen zunächst wieder ein `stack`-Projekt an und tragen dort die benötigten Dependencies ein:
|
||||
|
||||
* `attoparsec`, falls wir den Parser selbst schreiben wollen
|
||||
* `text`, weil aus den Parsern nur "Text" und nicht "String" herausfällt
|
||||
* `gloss` zur Visualisierung.
|
||||
|
||||
Sie können zunächst einmal den in der Vorlesung besprochenen Code ausführen und so nachvollziehen, ob alles richtig installiert ist:
|
||||
|
||||
```haskell
|
||||
import Graphics.Gloss
|
||||
import Graphics.Gloss.Data.Color (makeColor, red)
|
||||
main :: IO ()
|
||||
main = display (InWindow "Hello World" (500,500) (100,100))
|
||||
(makeColor 0.9 0.9 0.9 1)
|
||||
(Pictures [ Color red (Circle 1000)
|
||||
, Text "Hello World Text"
|
||||
])
|
||||
```
|
||||
|
||||
## Aufgabe 1
|
||||
|
||||
Parsen sie die mitgegebene Datei "data.csv" in einen geeigneten Datentypen, den sie definieren. Der CSV-Parser liefert meist nur `[[Text]]`, sie sollen aber so etwas wie `[DataRow]` daraus erstellen (für ein passend Definiertes `DataRow`).
|
||||
Geben sie dies mittels `print` auf der Konsole aus
|
||||
|
||||
## Aufgabe 2
|
||||
|
||||
Wir möchten wissen, wie viele Zugriffe in welcher Stunde auf unserer Website es gab. Sortieren sie die Daten in 24 Buckets ein und stellen sie dies mittels `display` als einfaches Balkendiagramm dar.
|
||||
|
||||
## Aufgabe 3
|
||||
|
||||
Wir möchten gerne eine Animation der Zugriffe über Zeit haben. Teilen sie hierzu den Datensatz in 5-Minuten-Buckets ein und erzeugen sie für jeden Bucket ein Bild aus 16x16 Kacheln, deren Farbe von Weiss nach Rot geht - je nachdem, wie viele Zugriffe in einer "Kachel" waren.
|
||||
Ein Zugriff auf eine Kachel ist definiert über die erste Zahl in der angegebenen IP (0-255). Die Kachel oben links entspricht der 0, oben rechts der 15, unten links der 240, unten rechts der 255. `ip ``div`` 16` gibt ihnen also die Zeile und `ip ``mod`` 16` die entsprechende Spalte.
|
||||
|
||||
Skalieren sie die Zeit so, dass 1h aus dem Log 10 Sekunden in der Animation entspricht.
|
||||
|
||||
## Aufgabe 4
|
||||
|
||||
Denken sie sich weitere Visualisierungen des Datensatzes aus. Evtl. können sie z.b. mittels `play` den Datensatz interaktiv erkundbar machen.
|
BIN
Übungen/Blatt5.pdf
Normal file
BIN
Übungen/Blatt5.pdf
Normal file
Binary file not shown.
10000
Übungen/Blatt5_data/time_ip.csv
Normal file
10000
Übungen/Blatt5_data/time_ip.csv
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user