aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authoraxtloss <axtlos@getcryst.al>2024-03-03 18:07:09 +0100
committeraxtloss <axtlos@getcryst.al>2024-03-03 18:07:09 +0100
commitdd3b67c4b2a3a9ad83e1bf5ae7bbb4d32d250438 (patch)
tree8ce4863bb719d1bd2afa11932e78d0680d80d175 /doc
parent5032249cfba8039fe7a518870a8ce42278a3bf6a (diff)
downloadfsverify-dd3b67c4b2a3a9ad83e1bf5ae7bbb4d32d250438.tar.gz
fsverify-dd3b67c4b2a3a9ad83e1bf5ae7bbb4d32d250438.tar.bz2
Finish reflexion
Diffstat (limited to 'doc')
-rw-r--r--doc/class-assignment/Title.tex6
-rw-r--r--doc/class-assignment/by-sa.pdfbin0 -> 4470 bytes
-rw-r--r--doc/class-assignment/fsverify.pdfbin299526 -> 316726 bytes
-rw-r--r--doc/class-assignment/fsverify.tex8
-rw-r--r--doc/class-assignment/logo.pngbin0 -> 3388 bytes
-rw-r--r--doc/class-assignment/reflexion/reflexion.tex16
6 files changed, 29 insertions, 1 deletions
diff --git a/doc/class-assignment/Title.tex b/doc/class-assignment/Title.tex
index e2394c0..c09d92a 100644
--- a/doc/class-assignment/Title.tex
+++ b/doc/class-assignment/Title.tex
@@ -13,7 +13,11 @@
Reflexion zum\\
AP Informatik
-
+
+ \vspace{3cm}
+
+ \includegraphics{logo.png}
+
\vfill
}
\end{center}
diff --git a/doc/class-assignment/by-sa.pdf b/doc/class-assignment/by-sa.pdf
new file mode 100644
index 0000000..564ab4b
--- /dev/null
+++ b/doc/class-assignment/by-sa.pdf
Binary files differ
diff --git a/doc/class-assignment/fsverify.pdf b/doc/class-assignment/fsverify.pdf
index 4b66105..aec0e07 100644
--- a/doc/class-assignment/fsverify.pdf
+++ b/doc/class-assignment/fsverify.pdf
Binary files differ
diff --git a/doc/class-assignment/fsverify.tex b/doc/class-assignment/fsverify.tex
index 14279d1..d51f743 100644
--- a/doc/class-assignment/fsverify.tex
+++ b/doc/class-assignment/fsverify.tex
@@ -45,6 +45,14 @@
\input{idee/idee}
\section{Realisierung}
\input{realisierung/realisierung}
+\section{Reflexion}
+\input{reflexion/reflexion}
+\bigbreak
+\newpage
+\includegraphics{by-sa.pdf}\\
+This Document is licensed under CC-BY-SA 4.0. To view a copy of this license, visit\\
+\url{https://creativecommons.org/licenses/by-sa/4.0/}\\
+The source for this document can be found at\\ \url{https://github.com/axtloss/fsverify/tree/main/doc/class-assignment}
\end{document}
%%% Local Variables:
diff --git a/doc/class-assignment/logo.png b/doc/class-assignment/logo.png
new file mode 100644
index 0000000..763835b
--- /dev/null
+++ b/doc/class-assignment/logo.png
Binary files differ
diff --git a/doc/class-assignment/reflexion/reflexion.tex b/doc/class-assignment/reflexion/reflexion.tex
new file mode 100644
index 0000000..197cbee
--- /dev/null
+++ b/doc/class-assignment/reflexion/reflexion.tex
@@ -0,0 +1,16 @@
+Insgesamt gibt es keine großen mängel, die mir während der Implementierung aufgefallen sind, die meisten Kritikpunkte liegen in fbwarn, welche teilweise der kurzen Entwicklungszeit (~7 Tage) zu schulden sind.
+
+\subsection{Bessere Datenbank}
+Die Datenbank welche ich zurzeit nutze, bbolt, hat mehrere Probleme, zum einen ist die Lese und Schreibgeschwindigkeit nicht sehr schnell, trotz bestmöglicher Optimierungen durch nutzen von Batch-operations und einmaligen öffnen und Schreiben der Datenbank, fügt die Datenbank ungefähr 2 Sekunden an Laufzeit zu verifysetup, 22\% der ganzen Laufzeit.\\
+Dazu kommt auch, das bbolt es zurzeit nicht unterstützt, eine Datenbank direkt aus einer Variable zu lesen, die Datenbank muss als Pfad im Dateisystem angegeben werden, welches dazu führt, das fsverify die Datenbank von der Partition in eine Variable liest, und die Variable direkt wieder in einer Datei in \texttt{/tmp} schreibt. Dies führt zu unnötigen Write-cycles die durch das Verwenden einer anderen Datenbank oder einem Patch für den bbolt Quellcode gelöst werden könnte.
+
+\subsection{Nutzung vom TPM2 für öffentliche Schlüssel}
+Dieses Feature war geplant, und ich hatte bereits einen Schlüssel durch verschiedene Linux Tools in den TPM geschrieben, jedoch konnte ich keine gute go Bibliothek für TPMs finden, weshalb ich das Feature auslassen musste, hätte ich dies noch bevore ich mit der Implementierung gewusst, hätte ich entweder eine andere Programmiersprache für fsverify gewählt, oder eine eigene Bibliothek für TPMs als teil des Projekts entwickelt.
+
+\subsection{Besserer Parser für fbwarn}
+Zur zeit benutzt fbwarn einfaches string matching mit Funktionen aus \texttt{stdlib.h} und \texttt{strings.h}, dies Funktioniert, jedoch bringt es viele Probleme mit sich, sodass zum Beispiel ein Leerzeichen am falschen Platz bereits vieles Zerstören kann, welches sehr schwer zu debuggen ist, da man Fehler solcher art nicht sofort erkennt.\\
+Hätte ich mir für fbwarn mehr Zeit gegeben, hätte ich Programme benutzt, die Speziell für das Parsen von Dateien in C gedacht sind, wie \texttt{yacc(1)} und \texttt{lex(1)}.
+
+\subsection{Mehr Funktionen in bvg}
+bvg unterstützt zurzeit neun Funktionen, wie bereits gezeigt ist dies zwar genug um recht viel zu Zeichnen, jedoch unterstützen die Funktionen alle nur solide Farben, also keine Farbübergänge oder ähnliches, welches das Design der Bilder einschränkt und rehc ``alt'' erscheinen lässt, da Farbübergänge für elemente wie Schatten in modernen Designs sehr oft genutzt werden.\\
+Zudem unterstützt bvg keinen Bézier Kurven, die das Zeichnen von beinahe jeder Form erlauben. Das fehlen ist jedoch ein Zeitproblem, da raylib bereits Funktionen für Bézier Kurven hat und die Implementierung in bvg recht simple wäre.