Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 27

Understanding Core Tools in Your Stack

Recommended resources

Hallo! Willkommen zur dritten Lektion im Modul "Technische Vokabular für Software-Ingenieure".

In der letzten Lektion haben wir gelernt, wie man einen Software-Entwicklungsprozess beschreibt – von den klassischen Phasen bis zu einem modernen CI/CD-Workflow. Sie können nun erklären, dass Sie Code schreiben, testen und bereitstellen.

Heute gehen wir einen Schritt tiefer. Unser Ziel ist es, die Funktion der Kernwerkzeuge aus Ihrem Tech-Stack zu erklären (z.B. REST-API, Celery, Redis). Statt nur zu sagen "Ich verwende eine REST-API", können Sie nach dieser Lektion erklären, warum und wie Sie sie verwenden. Dies ist eine entscheidende Fähigkeit für technische Diskussionen und Vorstellungsgespräche, um Ihre Expertise zu demonstrieren.

1. Die Funktion einer REST-API erklären

In Ihrer Arbeit als Full-Stack-Entwickler ist die REST-API die Brücke zwischen dem Frontend (z.B. React) und dem Backend (z.B. Django). Wie erklärt man ihre Rolle und Funktionsweise auf Deutsch?

Zuerst sehen wir uns ein kurzes Video an, das die Grundlagen einer REST-API auf Deutsch erklärt.

Was ist eine REST-API? - Einführung in REST-APIs (incl. Authentication) | UPDATE von alten Video

Das Video 'Was ist eine REST-API?' vom Kanal 'Coding Crashkurse' bietet eine sehr klare und kompakte Einführung. Es behandelt die Kernkonzepte wie Client, Server, HTTP-Methoden und Endpunkte.

Sehen Sie sich den Anfang des Videos von 00:00 bis 01:27 an. Konzentrieren Sie sich darauf, die deutschen Begriffe für die Konzepte zu lernen, die Sie bereits kennen: Request, HTTP methods (GET, POST, PUT, DELETE), Endpoint und Request Body.

Die REST-API ist also eine Schnittstelle (interface), die die Kommunikation zwischen verschiedenen Systemen nach festen Regeln ermöglicht.

REST API Communication Flow
Dieses Diagramm zeigt den grundlegenden Kommunikationsfluss. Ein Client sendet eine Anfrage (HTTP-Request) an die REST-API, die als Vermittler zum Server fungiert. Der Server schickt dann die Daten über die API zurück an den Client.

Hier sind die wichtigsten Vokabeln und Phrasen, um die Funktion einer REST-API zu beschreiben:

Deutsch Englisch Beispielsatz zur Funktionsbeschreibung
die Schnittstelle interface Eine REST-API ist eine Schnittstelle für die Kommunikation.
die Anfrage / der Request request Der Client schickt eine Anfrage an den Server.
die Antwort / der Response response Der Server sendet eine Antwort im JSON-Format zurück.
Daten abrufen to retrieve data Mit einer GET-Anfrage kann man Daten abrufen.
Daten erstellen to create data Mit einer POST-Anfrage kann man neue Daten erstellen.
Daten aktualisieren to update data Eine PUT-Anfrage wird verwendet, um Daten zu aktualisieren.
Daten löschen to delete data Um Daten zu löschen, sendet man eine DELETE-Anfrage.
die Zustandslosigkeit statelessness Ein wichtiges Prinzip von REST ist die Zustandslosigkeit.
ermöglichen / erlauben to enable / to allow Die API ermöglicht dem Frontend, auf die Datenbank zuzugreifen.

Um die fundamentalen Prinzipien hinter REST tiefer zu verstehen und zu erklären, lesen Sie bitte den folgenden Artikel.

Was ist eine REST API? Kurz erklärt!

Der Artikel 'Was ist eine REST API? Kurz erklärt!' von appleute.de vertieft die Konzepte. Er erklärt die architektonischen Prinzipien, die eine REST-API ausmachen, wie Zustandslosigkeit und die einheitliche Schnittstelle.

Lesen Sie die Abschnitte 'Wichtige architektonische Einschränkungen der REST-API' und 'FAQ- Rest-API'. Konzentrieren Sie sich besonders auf die Erklärungen zu 'Zustandslosigkeit' (Statelessness), 'Einheitliche Schnittstelle' (Uniform Interface) und die Antwort auf die Frage 'Was ist der Zweck der REST-API?'.

Test your understanding!

In einem Interview werden Sie gefragt: „Wofür verwenden Sie die POST-Methode bei Ihrer API?“ Wie antworten Sie mit einem vollständigen Satz auf Deutsch?

Show answer

Eine gute Antwort wäre: „Ich verwende die POST-Methode, um neue Ressourcen oder Daten auf dem Server zu erstellen. Wenn ein Nutzer zum Beispiel ein neues Profil anlegt, sendet das Frontend eine POST-Anfrage mit den Nutzerdaten an die API.“

(I use the POST method to create new resources or data on the server. For example, when a user creates a new profile, the frontend sends a POST request with the user data to the API.)


2. Die Funktion von Redis erklären

Redis ist ein weiteres Kernstück Ihres Stacks, oft genutzt für Caching und asynchrone Aufgaben. Wie erklären Sie seine Rolle? Redis ist primär eine In-Memory-Datenbank, was sie extrem schnell macht.

Dieser Artikel gibt einen guten Überblick über die Funktionen und Anwendungsfälle von Redis.

Redis - In-Memory-Datenbank

Der Artikel 'Redis - In-Memory-Datenbank' von softwarelogic.co fasst die Stärken und Anwendungsfälle von Redis prägnant zusammen. Dies hilft Ihnen, die Funktion von Redis im Kontext Ihrer Architektur zu beschreiben.

Lesen Sie die Abschnitte 'Was ist Redis?', 'Vorteile von Redis in Business-Projekten' und 'Wofür wird Redis verwendet?'. Achten Sie besonders auf die Anwendungsfälle 'Cache-Layer' und 'Task Queues und Hintergrundjobs', da diese für Ihren Stack am relevantesten sind.

Wie Sie im Artikel gelesen haben, ist einer der wichtigsten Anwendungsfälle die Nutzung als Cache oder als Message Broker für Task Queues.

Hier ist das Vokabular, um die Funktion von Redis zu erklären:

Deutsch Englisch Beispielsatz zur Funktionsbeschreibung
die In-Memory-Datenbank in-memory database Redis ist eine sehr schnelle In-Memory-Datenbank.
der Zwischenspeicher / Cache cache Wir verwenden Redis als Zwischenspeicher, um Datenbankabfragen zu reduzieren.
die Latenz latency Redis hat eine Sub-Millisekunden-Latenz.
als ... dienen / fungieren to serve as / to function as Redis dient als Cache für häufig abgerufene Daten.
zwischenspeichern to cache Wir zwischenspeichern die Ergebnisse komplexer Berechnungen in Redis.
der Nachrichtenvermittler / Message Broker message broker Für Hintergrundaufgaben fungiert Redis als Nachrichtenvermittler.
die Warteschlange / Queue queue Aufgaben werden in einer Redis-Warteschlange platziert.

3. Die Funktion von Celery (in Verbindung mit Redis) erklären

Celery ist in Ihrem Django-Stack wahrscheinlich für die Verarbeitung von Hintergrundaufgaben zuständig. Die Kombination "Celery + Redis" wurde im vorherigen Artikel bereits erwähnt. Celery ist eine asynchrone Task-Queue.

Wie funktioniert das Zusammenspiel?

  1. Ihre Django-Anwendung muss eine langlaufende Aufgabe ausführen (z.B. einen Report generieren, eine E-Mail senden).
  2. Statt die Aufgabe direkt auszuführen und den Nutzer warten zu lassen, übergibt Django die Aufgabe an Celery.
  3. Celery legt diese Aufgabe als Nachricht in eine Warteschlange (Queue), die von Redis verwaltet wird. Redis agiert hier als Nachrichtenvermittler (Message Broker).
  4. Unabhängige Prozesse, die Celery-Worker, nehmen die Aufgaben aus der Redis-Queue auf und führen sie im Hintergrund aus.

Diese Architektur entlastet (offloads/relieves) die Web-Anwendung und verbessert die Reaktionsfähigkeit für den Nutzer erheblich.

Django, Redis, and Celery Integration for Background Tasks
Diese Abbildung zeigt die Architektur. Ihre Django-Anwendung sendet eine Aufgabe an Redis (der Broker). Ein Celery-Worker holt sich die Aufgabe von Redis, verarbeitet sie und kann dabei mit der Datenbank interagieren.

Wichtige Phrasen, um diese Architektur zu beschreiben:

  • Celery ermöglicht die asynchrone Verarbeitung von Aufgaben. (Celery enables asynchronous processing of tasks.)
  • Wir nutzen Celery, um langlaufende Prozesse in den Hintergrund auszulagern. (We use Celery to offload long-running processes to the background.)
  • Redis dient als Message Broker zwischen der Django-App und den Celery-Workern. (Redis serves as the message broker between the Django app and the Celery workers.)
  • Das entlastet den Webserver und verbessert die User Experience. (This offloads the web server and improves the user experience.)
Test your understanding!

Sie müssen einem Projektmanager ohne technischen Hintergrund erklären, warum eine bestimmte Funktion (z.B. der Versand von 10.000 E-Mails) mit Celery und Redis implementiert wird. Wie würden Sie das in einfachen Worten tun?

Show answer

Eine gute, einfache Erklärung wäre:

„Wir benutzen Celery und Redis, damit der Nutzer nicht warten muss, bis alle 10.000 E-Mails versendet sind. Wenn der Nutzer auf 'Senden' klickt, gibt unsere Anwendung die Aufgabe sofort an ein Hintergrundsystem ab und die Webseite reagiert wieder. Celery arbeitet die lange Liste dann im Hintergrund ab, ohne die Anwendung für den Nutzer zu blockieren. Redis hilft dabei, diese Aufgabenliste zu verwalten.“


Zusammenfassung und Ausblick

Ausgezeichnet! Sie können nun die Funktion Ihrer wichtigsten Backend-Werkzeuge präzise auf Deutsch erklären.

Ihre heutigen Kernkompetenzen:

  • Sie können erklären, dass eine REST-API als Schnittstelle dient, um die Kommunikation zwischen Client und Server über HTTP-Methoden wie GET, POST, PUT und DELETE zu ermöglichen.
  • Sie können die Rolle von Redis als schnelle In-Memory-Datenbank beschreiben, die als Cache zur Reduzierung der Datenbanklast oder als Message Broker für Warteschlangen dient.
  • Sie können das Zusammenspiel von Celery und Redis erklären, um asynchrone Hintergrundaufgaben zu verarbeiten und so die Hauptanwendung zu entlasten.

In der nächsten Lektion verlassen wir die reine Technik und wenden uns den Prozessen zu, in denen Sie diese Technik einsetzen. Wir werden das deutsche Vokabular für agile Methoden wie Sprint, Backlog und Daily Stand-up lernen. So können Sie nicht nur über Ihre Architektur, sondern auch über Ihre Arbeitsweise im Team sprechen.