summaryrefslogtreecommitdiff
path: root/00-pflichtenheft/sections/glossar.tex
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-05-24 17:42:08 +0200
committerOrangerot <purple@orangerot.dev>2024-05-24 17:47:22 +0200
commit7fcdc1c788725f866de71fc9dfd8c4d1cb132b57 (patch)
tree89931c85ae3f149884ba02c69862558e93f01531 /00-pflichtenheft/sections/glossar.tex
Initial commitHEADmain
Diffstat (limited to '00-pflichtenheft/sections/glossar.tex')
-rw-r--r--00-pflichtenheft/sections/glossar.tex272
1 files changed, 272 insertions, 0 deletions
diff --git a/00-pflichtenheft/sections/glossar.tex b/00-pflichtenheft/sections/glossar.tex
new file mode 100644
index 0000000..8dce712
--- /dev/null
+++ b/00-pflichtenheft/sections/glossar.tex
@@ -0,0 +1,272 @@
+\makeglossaries
+
+\newglossaryentry{spa}
+{
+ name=Single-Page-Application,
+ description={
+ ist ein Webseiten-Modell, bei welchem dem Nutzer nur ein Webdokument
+ bereitgestellt wird. Mit einem Skript wird der Inhalt der Seite
+ dynamisch mit Daten einer API befüllt. Außerdem verwaltet die Seite
+ (nicht der Server), welcher Inhalt bei welchem Pfad angezeigt wird. Dies
+ erzeugt geringere Serverlast und eine bessere Nutzererfahrung, da die
+ Seitenstruktur beim Laden von neuen Inhalten erhalten bleibt}
+}
+
+\newglossaryentry{packagemanager}
+{
+ name=Paketmanager,
+ description={
+ ist ein Programm, welches Pakete und dessen Abhängigkeiten verwaltet,
+ installiert, entfernt und aktualisiert. Pakete können andere Programme,
+ Plugins oder Software-Bibliotheken sein}
+}
+
+\newglossaryentry{bundler}
+{
+ name=Bundler,
+ description={
+ ist ein Programm, welches genutzte Teile von Abhängigkeiten eines
+ Software-Projekts in passender Reihenfolge zusammensucht und daraus
+ Dateien erstellt, die für den Nutzer bereitgestellt werden können. Dabei
+ kann der Bundler mit zusätzlichen Modulen Dateien erzeugen, die
+ rückwärtskompatibel oder für den Nutzer schwerer einsehbar sind}
+}
+
+\newglossaryentry{java}
+{
+ name=Java,
+ description={
+ ist eine objekt-orientierte interpretierte kompilierte
+ Programmiersprache, welche plattformunabhängig auf einer virtuellen
+ Maschine ausgeführt wird}
+}
+
+\newglossaryentry{db}
+{
+ name=Datenbank,
+ description={
+ ist ein System um Daten persistent zu speichern und effizient zu
+ verwalten. Am meisten verbreitet sind relationale Datenbanken, welche
+ Daten in Tabellen mit Referenzen zu Einträgen anderer Tabellen
+ speichern. Programme können dann über eine Anfragesprache (Structured
+ Query Language - SQL) komplexe Operationen auf den Daten ausführen}
+}
+
+\newglossaryentry{docker}
+{
+ name=Docker,
+ description={
+ ist ein Programm, das virtualisierte Container ausführt. Ein Programm in
+ so einem Container läuft in seiner eigenen virtuellen Umgebung, wodurch
+ das Host-System sicher bleibt. Zudem lassen sich die Container leicht
+ auf andere Systeme verteilen}
+}
+
+% RESTfull-API, JSON, RSS-Feed, Salting and Hasing, OAuth, Cookie, Garbage
+% Collection, DSGVO, Podcast, Podcatcher, Episode, Gpodder,
+
+\newglossaryentry{podcatcher}
+{
+ name=Podcatcher,
+ plural=Podcatchern,
+ description={
+ ist ein Programm, über welches man Podcasts entdecken, abonnieren und
+ Episoden von Podcasts hören kann. Mit einem Account auf einer Plattform,
+ welche eine Gpodder-API zur Verfügung stellt, können Ereignisse, die von
+ einem Nutzer ausgehen, auf anderen Podcatchern des Nutzers
+ synchronisiert werden}
+}
+
+\newglossaryentry{podcast}
+{
+ name=Podcast,
+ description={
+ ist ein RSS-Feed, dessen Einträge die Episoden darstellen}
+}
+
+\newglossaryentry{episode}
+{
+ name=Episode,
+ plural=Episoden,
+ description={
+ ist ein Eintrag in einem Podcast. Eine URL in dem Eintrag zeigt auf eine
+ Medien-Datei, welche vom Podcatcher abgespielt werden kann}
+}
+
+\newglossaryentry{rest-api}
+{
+ name=RESTful-API,
+ description={
+ ist ein Schnittstellenentwurf über das Hypertext Transfer Protocol
+ (HTTP), bei dem die Schnittstellen strukturiert als Pfad an einem
+ Endpunkt erreichbar sind. Mittels verschiedener HTTP-Methoden können an
+ der Schnittstelle Daten abgefragt (GET), gesendet (PUT), gelöscht
+ (DELETE) oder geändert (POST) werden. Die Daten, die über die
+ Schnittstelle gesendet werden liegen meist im JSON-Format vor}
+}
+
+
+\newglossaryentry{gpodder}
+{
+ name=Gpodder-API,
+ description={
+ wird von gpodder.net benutzt und entwickelt. Die API wird als
+ Schnittstelle zwischen Podcatchern und Podcast Synchronisationsservern
+ verwendet. Weitere Details sind unter
+ "https://gpoddernet.readthedocs.io/en/latest/api/" zu finden}
+}
+
+\newglossaryentry{json}
+{
+ name=JSON,
+ description={
+ (JavaScript Object Notation) ist ein Datenformat und wird zur
+ Übertragung von Strukturen und Daten eingesetzt. JSON besteht dabei aus
+ grundlegenden Datentypen sowie Objekten mit Schlüssel-Wert Paaren und
+ Listen}
+}
+
+\newglossaryentry{oauth}
+{
+ name=OAuth,
+ description={
+ (Open Authorization) ist ein offenes Protokoll, welches es Nutzern
+ ermöglicht, sich mit bereits bestehenden Accounts bei anderen Diensten
+ zu registrieren. Dabei werden benötigte Daten für die Registrierung über
+ die bereitgestellte Schnittstelle zur Verfügung gestellt}
+}
+
+\newglossaryentry{garbage-collection}
+{
+ name=Garbage Collection,
+ description={
+ ist eine automatische Speicherbereinigung, welche nicht mehr benötigten
+ Speicherplatz wieder freigibt. Die Bereinigung kann dabei in determinierten
+ Zeitintervallen erfolgen oder durch bestimmte Ereignisse ausgelöst
+ werden}
+}
+
+\newglossaryentry{salt-hash}
+{
+ name=Salting und Hashing,
+ description={
+ ist eine Methode um Passwörter so zu kodieren, dass sie nicht als
+ Klartext gespeichert werden und auch sicher vor Hash-Wörterbüchern sind.
+ Dafür wird dem Passwort ein bekanntes Wort, der Salt, angefügt, bevor
+ aus dem kompletten Wort eine Prüfsumme, ein Hash, generiert wird. Beim
+ Anmelden wird die Prüfsumme der Anmeldung mit der bekannten
+ Prüfsumme des Passworts verglichen}
+}
+
+\newglossaryentry{rss}
+{
+ name=RSS,
+ description={
+ (Really Simple Syndication) zeigt strukturiert Listen von Nachrichten
+ an. Die Änderungen werden im XML-Format in sogenannte RSS-Dateien
+ geschrieben, welche über einen Link abgerufen werden können}
+}
+
+\newglossaryentry{dsgvo}
+{
+ name=Datenschutz-Grundverordnung,
+ description={
+ (DSGVO) ist eine im europäischen Wirtschaftsraum
+ geltende Verordnung. Sie sorgt für eine Reglementierung bei der
+ Verarbeitung personenbezogener Daten. Unter anderem muss einsehbar sein,
+ welche Daten von Nutzern erhoben werden. Außerdem muss für einen Nutzer
+ die Möglichkeit bestehen, seine erhobenen Daten abrufen zu können}
+}
+
+\newglossaryentry{push-pull}
+{
+ name=Push und Pull,
+ description={
+ sind Methoden, um Daten auszutauschen. Bei der Pull-Methode
+ stellt Akteur A einem Akteur B eine Anfrage auf Daten und erhält diese
+ als Antwort. Damit Akteur A und B immer auf dem selben Stand sind, muss
+ Akteur A chronisch Anfragen an Akteur B stellen. Im Gegensatz dazu steht
+ die Push-Methode, bei der Akteur B den Akteuren mitteilt, dass er neue
+ Änderungen hat. Dafür muss Akteur B allerdings wissen mit welchen
+ anderen Akteuren er in Verbindung steht und diese Verbindung aufrecht
+ erhalten}
+}
+
+\newglossaryentry{ui-lib}
+{
+ name=UI-Bibliothek,
+ plural=UI-Bibliotheken,
+ description={
+ kümmert sich um das Layout einer Webseite. Dabei unterscheidet man
+ zwischen Design-Bibliotheken (wie Bootstrap), welche fertige
+ UI-Komponenten bereitstellen, und Layout-Bibliotheken (wie Vue oder
+ React.js), welche die Komponenten basierend auf Daten dynamisch
+ anzeigen}
+}
+
+\newglossaryentry{responsive}
+{
+ name=Responsive,
+ description={
+ Design ist ein Design-Prinzip für Webseiten, bei dem die selbe Webseite ihre
+ Komponenten dynamisch der Bildschirmbreite anpasst}
+}
+
+\newglossaryentry{pseudoprotocol}
+{
+ name=Pseudoprotokoll,
+ description={
+ ist ein URL-Schema, auf das Webseiten hören können, wenn sie sich das
+ URL-Schema im Browser anmelden. Bekannt Pseudoprotokolle sind:
+ ,,mailto:'', ,,tel:'' oder ,,irc:''}
+}
+
+\newglossaryentry{dashboard}
+{
+ name=Dashboard,
+ description={
+ ist die erste Seite auf der man landet, wenn man angemeldet ist}
+}
+
+\newglossaryentry{abo}
+{
+ name=Abonnement,
+ description={
+ ist ein abonnierter Podcast}
+}
+
+\newglossaryentry{discovery}
+{
+ name=Discovery,
+ description={
+ ist ein Feature der Gpodder-API, welches dem Nutzer eine Reihe von
+ Podcasts zum abonnieren anbietet}
+}
+
+\newglossaryentry{session-token}
+{
+ name=Session-Token,
+ description={
+ ist ein Wort, dass vom Client gespeichert wird solange der Nutzer
+ eingeloggt ist und bei jeder Anfrage an den Server mitgeschickt wird.
+ Der Server kann den Session-Token einem Nutzer zuordnen und so mit
+ nutzerspezifischen Daten antworten}
+}
+
+\newglossaryentry{cookie}
+{
+ name=Cookie,
+ description={
+ ist ein kleiner webseitenspezifischer Speicher im Browser, welcher vom
+ Server und von der Webseite gesetzt werden kann und bei jeder weiteren
+ Anfrage an den Server mitgesendet wird. Cookies bleiben entweder
+ temporär im Browserspeicher, bis der Browser geschlossen wird oder
+ permanent, bis ein optionales Verfallsdatum erreicht ist}
+}
+
+% UI-Framework (React.js/Vue/Bootstrap)
+% Responsive Design
+% Abonnement
+% Pseudoprotokoll
+% Dashboard
+