Docker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen

  1. Startseite
  2. Blog
  3. DevOps

DevOps

Docker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen

Docker und Kubernetes sind keine wirklichen Rivalen. Einer packt Container und führt sie aus, während der andere sie auf vielen Maschinen verwaltet. Erfahren Sie, wo beides passt, sehen Sie, wie eine App mit beiden ausgeführt wird, und entscheiden Sie, was Ihr Projekt benötigt.

9 Min. Lesezeit
Docker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen

Das Wichtigste

  • Docker erstellt Images und führt Container aus, normalerweise auf einer Maschine.
  • Kubernetes plant und verwaltet Container über einen Cluster von Maschinen hinweg.
  • Sie werden normalerweise zusammen verwendet: Docker erstellt das Image und Kubernetes führt es in der Produktion aus.
  • Der fairere Vergleich ist Kubernetes vs. Docker Swarm oder Compose, und viele kleine Projekte benötigen Kubernetes überhaupt nicht.

Die Suche nach Docker vs. Kubernetes legt nahe, dass Sie sich für eines entscheiden müssen, aber diese Formulierung sorgt für große Verwirrung. Es ist ein bisschen so, als würde man einen Schiffscontainer mit dem Hafen vergleichen, der Tausende davon organisiert. Sie agieren auf unterschiedlichen Ebenen und werden häufig nebeneinander eingesetzt.

Dieser Leitfaden erklärt, was jeder tut, zeigt in beiden die gleiche kleine App und endet mit einer praktischen Entscheidungshilfe. Bei den Befehlen und Dateien hier handelt es sich um Standardbeispiele, die wir für diesen Artikel nicht ausgeführt haben. Vergleichen Sie sie daher mit den von Ihnen installierten Versionen.

Die kurze Antwort

Docker ist eine Plattform zum Packen einer Anwendung und ihrer Abhängigkeiten in ein Image und zum anschließenden Ausführen dieses Images als Container. Es beantwortet die Frage „Wie sorge ich dafür, dass diese App überall gleich läuft?“

Kubernetes, oft als K8s geschrieben, ist ein Container-Orchestrator. Es entscheidet, wo Container auf vielen Maschinen laufen, startet sie neu, wenn sie ausfallen, und skaliert sie entsprechend der Nachfrage. Es beantwortet die Frage „Wie halte ich Hunderte von Containern zuverlässig am Laufen?“

Docker vs. Kubernetes nebeneinander

Aspekt Docker Kubernetes
Hauptberuf Container erstellen und ausführen Orchestrieren Sie Container
Umfang Normalerweise ein Gastgeber Ein Cluster aus vielen Knoten
Erstellt Bilder? Ja Nein
Grundeinheit Behälter Pod (ein oder mehrere Behälter)
Konfiguration Dockerfile, compose.yaml YAML manifestiert sich
Fehlerhafter Container Optionale Neustartrichtlinie auf diesem Host Wird automatisch ersetzt, auch auf einem anderen Knoten
Skalierung Manuell, auf einem Host mit Compose Deklarativ, mit Autoskalierungsoptionen
Vernetzung Überbrücken Sie Netzwerke auf einem Host Clusterweite Dienste und DNS
Lernkurve Sanft Steil
Am besten für Entwicklung und kleine Bereitstellungen Große Produktionsanlagen

Was Docker macht

Vor Containern war „es funktioniert auf meinem Rechner“ ein alltägliches Problem, da jeder Server von allem unterschiedliche Versionen hatte. Docker bündelt Ihren Code, Ihre Laufzeit und Ihre Bibliotheken in einem Image. Eine laufende Kopie dieses Images ist ein Container und teilt sich den Kernel des Hosts, sodass es schneller startet und weniger Speicher verbraucht als eine vollständige virtuelle Maschine.

Der Workflow besteht aus drei Schritten:

  1. Build: a Dockerfile beschreibt, wie das Bild erstellt wird.
  2. Versenden: Schieben Sie das Image in eine Registrierung, z. B. Docker Hub.
  3. Ausführen: Container von diesem Image auf jedem kompatiblen Computer starten.

Beginnen Sie zum praktischen Einstieg mit unserem Docker-Tutorial für Anfänger und lesen Sie dann unsere Best Practices für Dockerfiles.

Was Kubernetes macht

Docker auf einem Server funktioniert so lange gut, bis dieser Server ausfällt, der Datenverkehr zu groß wird oder Sie Dutzende Dienste koordinieren müssen. Kubernetes übernimmt diese operativen Aufgaben:

  • Planung: Platzieren von Containern auf Maschinen mit ausreichend freier Kapazität.
  • Selbstheilung: Ersetzen ausgefallener Container und Verschieben der Arbeit von ausgefallenen Knoten.
  • Skalierung: Hinzufügen oder Entfernen von Kopien, manuell oder basierend auf Metriken.
  • Diensterkennung: einer sich ändernden Gruppe von Containern einen stabilen Namen geben.
  • Rollende Updates: Veröffentlichung neuer Versionen nach und nach mit einem einfachen Rollback.
  • Konfiguration: Einstellungen und Geheimnisse getrennt von Bildern verwalten.

Die Kernidee ist der gewünschte Zustand. Sie erklären, dass es drei Kopien geben sollte, und die Kontrolleure vergleichen dies ständig mit der Realität und korrigieren etwaige Unterschiede. Unser Kubernetes-Tutorial für Anfänger führt dies auf einem lokalen Cluster durch.

Wie Docker und Kubernetes zusammenarbeiten

Ein typischer Weg vom Laptop eines Entwicklers bis zur Produktion sieht so aus:

  1. Ein Entwickler schreibt eine Dockerfile und testet den Container lokal.
  2. Eine CI/CD-Pipeline erstellt das Image und führt die Tests aus.
  3. Die Pipeline überträgt ein versioniertes Image an eine Registrierung.
  4. Ein Kubernetes-Manifest wird aktualisiert, um diese Image-Version zu verwenden.
  5. Kubernetes ruft das Image ab und verteilt es im gesamten Cluster.

Dockers Arbeit ist also weitgehend erledigt, bevor Kubernetes startet. Das Bild ist der Übergabepunkt zwischen ihnen.

Eine App, beide Wege

Hier ist ein kleiner Webservice. Das Image wird auf die gleiche Weise erstellt, unabhängig davon, welches Tool es ausführt:

# Dockerfile
FROM python:3.13-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Führen Sie es mit Docker aus

docker build -t shop-api:1.0 .
docker run -d --name shop -p 8080:8000 --restart unless-stopped shop-api:1.0

Zwei Befehle und es läuft. Das ist einfach und für viele kleine Projekte geeignet. Aber es gibt eine Kopie auf einer Maschine, und wenn die Maschine ausfällt, geht auch der Dienst verloren.

Führen Sie es mit Kubernetes aus

# shop.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: shop
spec:
  replicas: 3
  selector:
    matchLabels:
      app: shop
  template:
    metadata:
      labels:
        app: shop
    spec:
      containers:
        - name: api
          image: registry.example.com/shop-api:1.0
          ports:
            - containerPort: 8000
---
apiVersion: v1
kind: Service
metadata:
  name: shop
spec:
  selector:
    app: shop
  ports:
    - port: 80
      targetPort: 8000
kubectl apply -f shop.yaml
kubectl get pods -l app=shop

Es gibt noch viel mehr zu schreiben und Sie benötigen einen Cluster, auf dem es ausgeführt werden kann. Im Gegenzug erhalten Sie drei Kopien, eine stabile interne Adresse und automatischen Ersatz. Dieser Kompromiss ist die gesamte Entscheidung im Kleinen: mehr Komplexität im Austausch für mehr Widerstandsfähigkeit.

Was passiert, wenn ein Container ausfällt?

Veranstaltung Docker auf einem Host Kubernetes
App stürzt ab Neu gestartet, wenn eine Neustartrichtlinie festgelegt ist Automatisch neu gestartet
App hängt, läuft aber weiter Bleibt hängen, es sei denn, Sie fügen die Handhabung hinzu Eine Liveness-Prüfung kann es neu starten
Der gesamte Server stirbt Der Dienst ist unterbrochen, bis jemand handelt Pods werden auf fehlerfreien Knoten neu erstellt
Der Verkehr verdreifacht sich Sie skalieren manuell auf einem Host Ein Autoscaler kann Kopien hinzufügen
Eine schlechte Veröffentlichung Sie stellen das alte Image manuell erneut bereit Kubectl-Rollout rückgängig machen

Die Dockershim-Verwirrung

Möglicherweise haben Sie gelesen, dass „Kubernetes Docker eingestellt hat“. Das stimmt im engeren Sinne und hat vielen Menschen unnötig Angst gemacht. Kubernetes führt Container über einen Standard namens Container Runtime Interface aus. Docker Engine hat es nicht direkt implementiert, daher hat Kubernetes einen Adapter namens Dockershim hinzugefügt. Dieser Adapter wurde in Version 1.24 entfernt.

Cluster verwenden heute typischerweise Laufzeiten wie Containerd oder CRI-O. Images, die Sie mit Docker erstellen, funktionieren weiterhin, da sie dem Image-Standard der Open Container Initiative (OCI) folgen. Sie können also weiterhin mit Docker bauen und Ihr Cluster führt das Ergebnis mit einer anderen Laufzeit aus.

Docker Compose vs. Swarm vs. Kubernetes

Der aussagekräftigere Vergleich besteht zwischen Tools, die Container koordinieren:

Werkzeug Umfang Einrichtungsaufwand Gut für
Docker Compose Ein Gastgeber Sehr niedrig Lokale Entwicklung, kleine Apps
Docker-Schwarm Kleine Gruppe Niedrig Einfache Multi-Server-Setups
Kubernetes Große Cluster Hoch Komplexe Großsysteme

Docker Compose startet mehrere verwandte Container aus einer Datei und eignet sich hervorragend für eine Web-App und eine Datenbank auf einem Laptop. Swarm ist in Docker integriert und viel einfacher zu erlernen als Kubernetes, verfügt aber über ein weitaus kleineres Ökosystem. Kubernetes verfügt über die größte Community und das größte Tooling, weshalb es zum Standard für große Bereitstellungen wurde.

Tipp: Vergleichen Sie die tatsächlichen Kosten. Kubernetes bedeutet neben dem Erlernen auch laufende Upgrades, Sicherheitsarbeit und Überwachung. Ein verwalteter Dienst wie Amazon EKS, Google GKE oder Azure AKS reduziert diesen Aufwand, beseitigt ihn jedoch nicht.

Was brauchen Sie?

Docker allein reicht normalerweise aus, wenn:

  • Sie entwickeln lokal oder führen eine kleine App auf einem Server aus.
  • Sie haben ein kleines Team und kein eigenes Betriebspersonal.
  • Gelegentliche kurze Ausfallzeiten sind akzeptabel.

Kubernetes macht erst dann Sinn, wenn:

  • Sie betreiben viele Dienste, die verschiedene Teams selbstständig bereitstellen.
  • Sie benötigen eine hohe Verfügbarkeit über mehrere Maschinen oder Zonen hinweg.
  • Der Datenverkehr variiert so stark, dass die automatische Skalierung echtes Geld spart.
  • Sie verfügen über die Fähigkeiten oder das Budget, um es zu betreiben.

Es gibt auch einen Mittelweg. Verwaltete Containerplattformen wie AWS Fargate, Google Cloud Run oder ein PaaS führen Ihr Docker-Image aus, ohne dass ein Cluster verwaltet werden muss. Für viele wachsende Unternehmen ist das der richtige nächste Schritt, anstatt direkt zu Kubernetes zu springen.

Möchte man aus beruflichen Gründen beides erlernen, ist die Reihenfolge klar: Erst Docker, dann Kubernetes. Sie können einen Pod nicht bequem debuggen, ohne sich zuvor mit Bildern, Ports und Containerprotokollen vertraut zu machen.

Häufige Fehler

  • Kubernetes zu früh einführen. Das Kopieren der Architektur eines riesigen Unternehmens kann ein kleines Team mit operativer Arbeit belasten.
  • Verwendung des Tags latest in der Produktion. Sie können nicht zuverlässig erkennen, was ausgeführt wird, oder ein Rollback durchführen. Verwenden Sie bestimmte Versions-Tags.
  • Speichern von Daten in Containern. Container sind wegwerfbar, verwenden Sie daher Volumes oder eine verwaltete Datenbank.
  • Überspringen von Gesundheitsprüfungen. Ohne Bereitschafts- und Liveness-Prüfungen kann Kubernetes keine guten Entscheidungen über Ihre App treffen.
  • Ressourcenbeschränkungen vergessen. Ein gieriger Container kann alles andere auf einem Knoten aushungern lassen.

Fazit

Docker verpackt Ihre Software und Kubernetes führt sie im großen Maßstab aus. Anstatt zu fragen, was besser ist, fragen Sie, welches Problem Sie heute haben. Wenn die Meldung lautet: „Meine App ist schwer zu installieren“, verwenden Sie Docker. Wenn es heißt: „Meine 40 Dienste müssen Serverausfälle überstehen“, schauen Sie sich Kubernetes an. Beginnen Sie mit dem einfachsten Tool, das Ihr eigentliches Problem löst, und steigen Sie auf, wenn Sie den Bedarf erkennen.

Häufige Fragen

Kann Kubernetes Docker ersetzen?

Nicht ganz, da sie unterschiedliche Aufgaben erfüllen. Kubernetes erstellt keine Images, daher verwenden die Teams weiterhin Docker oder ein ähnliches Tool und Kubernetes führt die Ergebnisse aus.

Kann ich Kubernetes ohne Docker nutzen?

Ja. In Clustern werden Container üblicherweise mit Containerd oder CRI-O ausgeführt. Mit Docker erstellte Images funktionieren weiterhin, da sie dem OCI-Standard folgen.

Sollte ich zuerst Docker oder Kubernetes lernen?

Lernen Sie zuerst Docker. Kubernetes setzt voraus, dass Sie sich bereits mit Bildern, Containern, Ports und Protokollen auskennen, sodass das Erlernen durch diese Grundlagen erheblich erleichtert wird.

Ist Docker Swarm tot?

Nein, es ist weiterhin verfügbar und eignet sich für einfache Cluster. Allerdings sind sein Ökosystem und seine Akzeptanz viel kleiner als die von Kubernetes, also prüfen Sie, ob es Ihren langfristigen Anforderungen entspricht.

Brauchen kleine Unternehmen Kubernetes?

Normalerweise zunächst nicht. Docker Compose oder eine verwaltete Containerplattform leisten oft gute Dienste, bis sich Kubernetes aufgrund der Größe oder Teamstruktur lohnt.

Lerne weiter

Arbeiten Sie mit Stack Quora

Benötigen Sie Hilfe beim Testen, WordPress oder SEO?

Wir helfen Teams, bessere Software zu liefern und ihre Websites zu erweitern. Sagen Sie uns, woran Sie gerade arbeiten, und wir schlagen Ihnen einen klaren nächsten Schritt vor.

Lesen Sie weiter

Weitere Anleitungen finden Sie unter Tests, KI und moderne Entwicklung

Hat Ihnen dieser Artikel gefallen? Wählen Sie ein Thema und springen Sie direkt in unsere neuesten Tutorials.

Künstliche Intelligenz

KI-Halluzinationen erklärt: Warum Sprachmodelle Dinge erfinden und wie man sie reduziert

KI-Halluzinationen erklärt: Was sie sind, warum Sprachmodelle sie produzieren, gängige Typen, wie man sie mit Erdung und Eingabeaufforderungen reduz…

Artikel lesen →
DevOps

Erklärte Umgebungsvariablen: .env-Dateien, Geheimnisse und Konfiguration richtig gemacht

Umgebungsvariablen anhand von Python-Beispielen erklärt, die wir ausgeführt haben: Sie lesen und festlegen, warum jeder Wert ein String ist, .env-Da…

Artikel lesen →
Softwareentwicklung

API-Ratenbegrenzung erklärt: Algorithmen, Header und Behandlung von 429-Fehlern

API-Ratenbegrenzung anhand einer von uns durchgeführten Simulation erklärt: Token-Bucket, festes Fenster, gleitendes Fenster, 429 Antworten, Ratenbe…

Artikel lesen →
Testautomatisierung

Spott in Python: unittest.mock, Patch und die Fehler, die Tests zum Lügen machen

Mocking in Python mit unittest.mock, getestet: Mock und return_value, side_effect, Patchen, wo ein Name verwendet wird, Spezifikation und Autospec, …

Artikel lesen →
Softwaretests

Code-Abdeckung erklärt: Leitungs- und Zweigstellenabdeckung und was 100 % wirklich bedeutet

Erklärung der Codeabdeckung anhand eines echten Coverage.py-Laufs: Zeilen-, Zweig- und Bedingungsabdeckung, Lesen eines Berichts, warum bei 100 % Ab…

Artikel lesen →
Datenbanken & SQL

DELETE vs. TRUNCATE vs. DROP in SQL: Unterschiede, Rollback und Verwendungszweck

DELETE vs. TRUNCATE vs. DROP erklärt mit getestetem SQL: was jeweils entfernt wird, Rollback, Trigger, Identitätsrücksetzung, Geschwindigkeit und wi…

Artikel lesen →
Datenbanken & SQL

Erklärte SQL-Ansichten: Erstellen, nutzen und vermeiden Sie Fallstricke mit Beispielen

SQL-Ansichten anhand der von uns ausgeführten Abfragen erklärt: Erstellen einer Ansicht, Live-Ergebnisse, Ausblenden von Spalten, Leistung, aktualis…

Artikel lesen →
Softwareentwicklung

TypeScript-Schnittstelle vs. Typ: Echte Unterschiede, getestet mit dem Compiler

TypeScript-Schnittstelle vs. Typ, überprüft mit dem echten Compiler: Was beide können, was nur einer kann, Deklarationszusammenführung, Erweiterunge…

Artikel lesen →
Softwareentwicklung

Python *args und **kwargs erklärt: Flexible Funktionen mit klaren Beispielen

Python *args und **kwargs erklärt mit Code, den wir ausgeführt haben: Packen und Entpacken, Parameterreihenfolge, Nur-Schlüsselwort- und Nur-Positio…

Artikel lesen →
Softwareentwicklung

Python-Lambda-Funktionen: Syntax, tatsächliche Verwendung und wann man sie nicht verwendet

Python-Lambda-Funktionen erklärt mit Code, den wir ausgeführt haben: Syntax, Sortierung mit Schlüssel, Karte und Filter, Abschlüsse, die Late-Bindin…

Artikel lesen →
Künstliche Intelligenz

Was sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können

Was sind KI-Agenten? Eine einfache Anleitung zur Agentenschleife, zu Tools, Speicher und Leitplanken, mit einer kleinen Python-Schleife, die wir aus…

Artikel lesen →
DevOps

Überwachung vs. Beobachtbarkeit: Der wahre Unterschied, mit Protokollen, Metriken und Traces

Überwachung vs. Beobachtbarkeit erklärt: bekannte und unbekannte Fehler, Protokolle, Metriken und Spuren, eine exemplarische Vorgehensweise für Chec…

Artikel lesen →
DevOps

Docker-Volumes vs. Bind Mounts: Containerdaten auf die richtige Art und Weise beibehalten

Docker-Volumes vs. Bind-Mounts erklärt: Warum Containerdaten verschwinden, benannte Volumes, Bind-Mounts, tmpfs, Compose-Beispiele, Backups, Berecht…

Artikel lesen →
Testautomatisierung

TDD vs. BDD: Hauptunterschiede, eine Funktion, die auf beide Arten entwickelt wurde und wann sie jeweils verwendet werden sollte

TDD vs. BDD erklärt mit einer Rabattfunktion, die in beide Richtungen aufgebaut ist: Rot-Grün-Refaktor mit Code, den wir ausgeführt haben, Gegeben-W…

Artikel lesen →
Softwaretests

Benutzerakzeptanztests (UAT): Prozess, Checkliste und reale Beispiele

Benutzerakzeptanztests erklärt: Wer führt ihn durch, wie unterscheidet er sich von der Qualitätssicherung, ein siebenstufiger Prozess, eine UAT-Test…

Artikel lesen →
Datenbanken & SQL

Erklärte SQL-NULL-Werte: IS NULL, COALESCE, NULLIF und die zu vermeidenden Fallen

SQL-NULL-Werte, die mit von uns ausgeführten Abfragen erklärt wurden: dreiwertige Logik, IS NULL, COALESCE, NULLIF, wie Aggregate, Joins und Sortier…

Artikel lesen →
Datenbanken & SQL

SQL CASE WHEN-Anweisung: Syntax, reale Beispiele und häufige Fehler

SQL CASE WHEN anhand der von uns ausgeführten Abfragen erklärt: einfache und durchsuchte Formulare, Bedingungsreihenfolge, Pivots mit SUM, COUNT-Tri…

Artikel lesen →
Softwareentwicklung

Was ist JWT? JSON-Web-Tokens anhand eines funktionierenden Beispiels erklärt

Was ist JWT? JSON Web Tokens erklärt: die drei Teile, ein Token, das in dem von uns ausgeführten Code erstellt und manipuliert wurde, JWT vs. Sitzun…

Artikel lesen →
Softwareentwicklung

Erklärte JavaScript-Ereignisschleife: Aufrufstapel, Mikrotasks und Timer mit Beispielen

Die JavaScript-Ereignisschleife wurde mit dem von uns ausgeführten Code erklärt: Aufrufstapel, Aufgaben- und Mikrotask-Warteschlangen, warum setTime…

Artikel lesen →
Softwareentwicklung

Erklärung von Python-Generatoren und -Ertrag: Sparen Sie Speicher mit echten Beispielen

Python-Generatoren und Yield anhand des von uns ausgeführten Codes erklärt: wie sie angehalten und fortgesetzt werden, gemessene Speichereinsparunge…

Artikel lesen →
Künstliche Intelligenz

Was sind Einbettungen? Vektoren und Kosinusähnlichkeit einfach erklärt

Was sind Einbettungen? Ein Leitfaden in einfacher Sprache zu Vektoren, Kosinusähnlichkeit und semantischer Suche, mit einem kleinen Beispiel, das wi…

Artikel lesen →
DevOps

Blau-Grün vs. Canary-Bereitstellung: Unterschiede, Kompromisse und Auswahl

Blue-Green vs. Canary-Bereitstellung erklärt: Funktionsweise, Kosten, Risiko und Rollback, stabiles Benutzer-Bucketing, das wir getestet haben, Date…

Artikel lesen →
Testautomatisierung

Flaky-Tests: Was sie verursacht und wie man sie endgültig behebt

Flaky-Tests wurden anhand von Demos erklärt, die wir durchgeführt haben: die Hauptursachen, wie man sie bestätigt und diagnostiziert, richtige Korre…

Artikel lesen →
Softwaretests

Lasttest vs. Stresstest: Unterschiede, Metriken und k6-Beispiele

Erläuterungen zu Lasttests und Stresstests: Was die einzelnen Tests beweisen, Spike- und Soak-Tests, welche Kennzahlen wichtig sind, warum Durchschn…

Artikel lesen →
Softwaretests

Testfall vs. Testszenario: Hauptunterschiede, Beispiele und wann man sie jeweils verwendet

Testfall vs. Testszenario erklärt: klare Definitionen, eine Tabelle nebeneinander, eine Funktion zum Zurücksetzen von Passwörtern, die von Szenarios…

Artikel lesen →
Datenbanken & SQL

SQL-Abfrageoptimierung: Ausführungspläne lesen und langsame Abfragen mit Zeitvorgaben beheben

An einer Million Zeilen getestete SQL-Abfrageoptimierung: Ausführungspläne lesen, die richtigen Indizes hinzufügen, nicht sargierbare Filter korrigi…

Artikel lesen →
Datenbanken & SQL

SQL UNION vs. UNION ALL: Unterschiede, Beispiele und getestete Leistung

SQL UNION vs. UNION ALL anhand der von uns ausgeführten Abfragen erklärt: Duplikate, die Regeln, denen beide folgen, ein echter Datenfehler, gemesse…

Artikel lesen →
Softwareentwicklung

Tutorial zur JavaScript-Abruf-API: GET, POST, Fehlerbehandlung und Zeitüberschreitungen

Ein JavaScript-Abruf-API-Tutorial, das auf einem lokalen Server getestet wurde: GET und POST, warum 404 nicht ausgelöst wird, ein wiederverwendbarer…

Artikel lesen →
Softwareentwicklung

Umgang mit Python-Dateien: Lesen, Schreiben, CSV, JSON und Pathlib mit Beispielen

Die Handhabung von Python-Dateien wird anhand des von uns ausgeführten Codes erklärt: Öffnungsmodi, Lesen großer Dateien, CSV, JSON, Pathlib, Binärd…

Artikel lesen →
Softwareentwicklung

Python-Klassen und -Objekte: OOP-Tutorial mit echten Beispielen

Python-Klassen und -Objekte erklärt mit Code, den wir ausgeführt haben: __init__, Methoden, Klassen- und Instanzattribute, Vererbung, Eigenschaften,…

Artikel lesen →
Künstliche Intelligenz

Was ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt

Was ist ein großes Sprachmodell? LLMs im Klartext erklärt: Token, Einbettungen, Aufmerksamkeit, Training, Temperatur- und Kontextfenster, eine klein…

Artikel lesen →
DevOps

Linux-Befehle für Anfänger: Der grundlegende Terminal-Leitfaden mit Beispielen

Linux-Befehle für Anfänger, gruppiert nach Aufgaben: Navigation, Dateien, Anzeigen von Protokollen, Grep, Pipes, Berechtigungen, Prozesse und Archiv…

Artikel lesen →
Testautomatisierung

Selenium vs. Playwright: Hauptunterschiede, Code im Vergleich und welche Sie wählen sollten

Selenium vs. Playwright im Vergleich: Architektur, Wartezeit, Browser- und Sprachunterstützung, Debugging, der gleiche Test in beiden Tools, Migrati…

Artikel lesen →
Softwaretests

Äquivalenzpartitionierung: Testdesigntechnik anhand von Beispielen erklärt

Erklärung der Äquivalenzpartitionierung: Wie man gültige und ungültige Partitionen findet, Beispiele für Alter, Passwörter und Gutscheine, von uns d…

Artikel lesen →
Softwaretests

Schweregrad vs. Priorität beim Softwaretest: Unterschiede, Matrix und reale Beispiele

Schweregrad vs. Priorität beim Softwaretest erklärt: klare Definitionen, eine Vier-Wege-Matrix mit Beispielen, Stufenskalen, wer die einzelnen Punkt…

Artikel lesen →
Datenbanken & SQL

Tutorial zu SQL-Unterabfragen: Typen, korrelierte Unterabfragen und EXISTS mit Beispielen

Ein SQL-Unterabfrage-Tutorial mit Abfragen, die wir ausgeführt haben: Skalar-, IN-, FROM- und SELECT-Unterabfragen, korrelierte Unterabfragen, EXIST…

Artikel lesen →
Datenbanken & SQL

SQL-Transaktionen und ACID erklärt: COMMIT, ROLLBACK und Isolationsstufen

SQL-Transaktionen und ACID anhand einer von uns durchgeführten Banküberweisung erklärt: COMMIT, ROLLBACK, Sicherungspunkte, Sperren, Isolationsstufe…

Artikel lesen →
Softwareentwicklung

Spickzettel für Git-Befehle: Die Befehle, die Sie tatsächlich verwenden, mit Beispielen

Ein Git-Befehls-Spickzettel, gruppiert nach Aufgabe: Setup, Staging, Branches, Remotes, Stash, Verlauf und Rückgängigmachen von Fehlern, mit Ausgabe…

Artikel lesen →
Softwareentwicklung

Erklärte JavaScript-Versprechen: Dann, Catch, Promise.all und häufige Fehler

JavaScript-Versprechen erklärt mit Code, den wir ausgeführt haben: Zustände, dann und Fangketten, Fehlerbehandlung, Promise.all, allSettled, Rennen …

Artikel lesen →
Softwareentwicklung

Python-Wörterbuch-Tutorial: Methoden, Beispiele und gängige Muster

Ein Python-Wörterbuch-Tutorial mit Code, den wir ausgeführt haben: Diktate erstellen, lesen und aktualisieren, Schlüsselmethoden, Zusammenführung, V…

Artikel lesen →
Künstliche Intelligenz

Was ist RAG? Retrieval-Augmented Generation anhand eines Arbeitsbeispiels erklärt

Was ist RAG? Abruf-erweiterte Generierung Schritt für Schritt erklärt: Indizierung, Chunking, Einbettungen, Abruf, ein kleines funktionierendes Pyth…

Artikel lesen →
DevOps

Terraform-Tutorial für Anfänger: Infrastruktur als Code von der ersten Datei bis zu den Modulen

Ein Terraform-Tutorial für Anfänger: Beginnen Sie ohne Cloud-Konto, lernen Sie Init, Planen und Anwenden, dann Variablen, Ausgaben, Status, Module u…

Artikel lesen →
DevOps

Docker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen

Docker vs. Kubernetes erklärt: Was jeder tut, die gleiche App läuft mit beiden, Docker Compose und Swarm im Vergleich, die Dockershim-Änderung und w…

Artikel lesen →
Testautomatisierung

Pytest-Tutorial für Anfänger: Vorrichtungen, Parametrisierung und reale Beispiele

Ein Pytest-Tutorial für Anfänger mit Tests, die wir auf Pytest 9.2 durchgeführt haben: Assertions, Fixtures, Parametrize, Conftest, Markers, tmp_pat…

Artikel lesen →
Softwaretests

Software Testing Life Cycle (STLC): 6 Phasen, Einstiegs- und Ausstiegskriterien, Beispiel

Der Softwaretest-Lebenszyklus erklärt: sechs STLC-Phasen mit Ein- und Ausstiegskriterien, Ergebnisse, ein Beispiel für eine funktionierende Anmeldef…

Artikel lesen →
Softwareentwicklung

Git merge vs rebase: Unterschiede, Beispiele und wann man was nutzt

Git merge vs rebase erklärt mit echter Log-Ausgabe, einer Vergleichstabelle, der goldenen Regel des Rebase und einem sicheren Team-Workflow.

Artikel lesen →
Softwareentwicklung

Python List Comprehension: Syntax, Beispiele und wann man darauf verzichtet

Python List Comprehension erklärt: Syntax, Filter, if-else, verschachtelte Schleifen, gemessene Zeiten und Fälle, in denen eine normale for-Schleife…

Artikel lesen →
Datenbanken & SQL

SQL Joins erklärt mit Beispielen (Inner, Left, Right, Full)

SQL Joins Schritt für Schritt mit Beispieltabellen und Abfragen verstehen: INNER, LEFT, RIGHT, FULL, CROSS und SELF, plus typische Fehler und Perfor…

Artikel lesen →