Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
[VS] Fragen zur Vorlesung
Hallo,
da die relevanten Videos für Kapitel 8 (Verteilte Algorithmen) leider nicht vollständig sind bzw. ganz fehlen (10.07.2012), hätte ich zu diesem Thema zwei Fragen:
-
Wie genau müssen wir die Algorithmen (z.B. Pseudo-Code und Eigenschaften) können?
-
Gab es zu diesem Kapitel noch weitere Informationen, die nicht in den Folien zu finden sind (z.B. der asynchrone Job Handler)?
Vielen Dank!
Also ich hatte noch nicht Pruefung, aber beim 4er ist es meist so, dass du die Algorithmen verstanden haben solltest und an Beispielen skizzieren koennen sollst. Pseudocode auswendig lernen ist vermutlich ueberfluessig.
Blick in die Pruefungsprotokolle scheint diese Vermutung auch fuer VS zu bestaetigen
Da ich gern von meinem eBook-Reader lern und die Vorlesungsfolien nur im unhandlichen 2x2 Format vorhanden sind, hab ich ein (hoffentlich universal[er] verwendbares) Skript geschrieben, dass mehrzeilige und -spaltige PDFs wieder in einzelne, vollseitige Folien aufsplittet, vielleicht hilfts ja irgendjemanden.
pdfsplit.sh
#!/bin/bash
if [[ $# <4 ]]; then
echo "Verwendung: $0 [Quelldatei] [Zeilen] [Spalten] [Ausgabedatei] [[Rand]]"
elif [[ ! -f $1 ]]; then
echo "Quelldatei $1 existiert nicht."
elif [[ -f $4 ]]; then
echo "Ausgabedatei $4 existiert bereits."
else
if [[ $# > 4 ]]; then
MARGIN=$5
else
MARGIN=10
fi
TMPDIR=$(mktemp -d)
PDFSIZE=$(pdfinfo $1 | grep "Page size:" | sed -e "s/Page.* \([0-9.]* x [0-9.]*\) pts.*/\1/")
PDFHEIGHT=${PDFSIZE#* x *}
PDFWIDTH=${PDFSIZE%* x *}
CATFILES=""
pdftk $1 burst output $TMPDIR/page_%04d.pdf
for f in $(find $TMPDIR/page*); do
echo "Bearbeite Seite $(basename $f .pdf | sed -e 's/page_//'):"
for (( height=$2; height>0; height-- )); do
echo -ne "\t"
for (( width=0 ; width<$3; width++ )); do
TMPFILE="$TMPDIR/part.$height.$width.$(basename $f .pdf)"
perl -pe "s/(Crop|Media)Box\s*\[(.+?)\]/\$1Box\[$(echo "scale=3;$PDFWIDTH / $3 * $width" | bc ) $(echo "scale=3;$PDFHEIGHT / $2 * ($height - 1)" | bc ) $(echo "scale=3;$PDFWIDTH / $3 * ($width + 1)" | bc ) $(echo "scale=3;$PDFHEIGHT / $2 * $height" | bc )\]/g;" $f | pdftk - output $TMPFILE.pdf
pdfcrop --margins $MARGIN $TMPFILE.pdf -clip $TMPFILE.crop.pdf > /dev/null
if [[ $(pdftotext $TMPFILE.crop.pdf - | wc -m) > 1 ]]; then
CATFILES="$CATFILES $TMPFILE.crop.pdf"
echo -ne "."
else
echo -ne " "
fi;
done
echo ""
done
done
pdftk $CATFILES cat output $TMPFILE.cat.pdf
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$4 $TMPFILE.cat.pdf
fi
Wer die Folien noch komfortabel geladen haben will, hier bitte, die vsfetch.sh:
#!/bin/bash
TMPFILE=$(mktemp)
for u in {1..9}; do
wget -O $TMPFILE "http://www4.cs.fau.de/Lehre/SS12/V_VS/Vorlesung/VS0$u.pdf"
./pdfsplit.sh $TMPFILE 2 2 VS0$u.pdf
done
pdftk $(find VS0[1-9].pdf) cat output VS.pdf
Und das nachfragen waer eh zu einfach
Edit: wer nur die PDF will - sie ist hier zu finden.
Vielen Dank