Ein Repository (deutsch: „Ablage“, „Speicher“ oder „Depot“) ist ein zentraler Ort, an dem Daten, Dateien oder Code organisiert, gespeichert und verwaltet werden. Der Begriff wird je nach Kontext etwas unterschiedlich verwendet – hier sind die häufigsten Bedeutungen:
Ein Repository ist ein Verzeichnis, das den Quellcode eines Projekts, Konfigurationsdateien, Dokumentationen und die Versionsgeschichte enthält. Es dient dazu, die Entwicklung von Software zu verfolgen, Änderungen zu speichern und im Team zusammenzuarbeiten.
🔁 Versionierung: Mit Tools wie Git kann man Änderungen rückgängig machen, alte Versionen vergleichen und neue Features in eigenen Branches entwickeln.
🤝 Zusammenarbeit: Entwickler können gemeinsam am Code arbeiten, Pull Requests stellen, Issues anlegen und Code-Reviews durchführen.
🌍 Remote-Repository: Online-Plattformen wie GitHub, GitLab oder Bitbucket hosten Repositories, damit Teams weltweit gemeinsam entwickeln können.
Beispiel:
git clone https://github.com/nutzername/mein-projekt.git
Ein Repository ist eine Sammlung von Softwarepaketen, die von einer Paketverwaltung (z. B. apt, yum, pip) verwendet wird, um Programme zu installieren oder zu aktualisieren.
Beispiel:
sudo apt update
sudo apt install firefox
Auch außerhalb der IT kann ein „Repository“ eine Art Datenbank oder Archiv sein – z. B. für wissenschaftliche Publikationen oder digitale Sammlungen.
OpenID Connect (OIDC) ist ein Authentifizierungsprotokoll, das auf OAuth 2.0 basiert. Es ermöglicht es Clients (z. B. Web-Apps, Mobile-Apps), die Identität eines Benutzers sicher zu verifizieren, der sich bei einem externen Identitätsanbieter (IdP) anmeldet — zum Beispiel Google, Microsoft, Apple, etc.
OAuth 2.0 → regelt die Autorisierung (Zugriff auf Ressourcen)
OpenID Connect → regelt die Authentifizierung (Wer ist der Benutzer?)
Benutzer klickt auf "Login mit Google"
Deine App leitet den Benutzer zum Google-Login weiter
Nach erfolgreichem Login leitet Google den Benutzer mit einem ID Token zurück
Deine App validiert dieses JWT-Token
Du weißt nun, wer der Benutzer ist – verifiziert von Google
Das ID Token ist ein JSON Web Token (JWT) mit Informationen über den Benutzer, z. B.:
{
"iss": "https://accounts.google.com",
"sub": "1234567890",
"name": "John Doe",
"email": "john@example.com",
"iat": 1650000000,
"exp": 1650003600
}
iss = Issuer (z. B. Google)
sub = Benutzer-ID
email, name = Benutzerinformationen
iat, exp = Zeitstempel
"Login mit Google/Microsoft/Apple"
Single Sign-On (SSO) in Unternehmen
Zentrale Identitätsverwaltung (Keycloak, Auth0, Azure AD)
OAuth-basierte APIs mit Identitätsprüfung
| Komponente | Beschreibung |
|---|---|
| Relying Party | Deine App, die den Login anfordert |
| Identity Provider | Der externe Login-Anbieter (z. B. Google) |
| ID Token | Das JWT mit den Benutzerinformationen |
| UserInfo Endpoint | (Optional) API für weitere Benutzerdaten |
PEST ist ein moderner Testing-Framework für PHP, das vor allem durch seine lesbare Syntax, Expressivität und enge Integration mit PHPUnit besticht.
📌 PEST = "PHP Testing for Humans"
Es richtet sich an Entwickler, die saubere, lesbare und schnelle Tests schreiben wollen – ohne viel Boilerplate.
PEST basiert auf PHPUnit, aber es:
bietet eine minimalistische, expressive Syntax
entfernt unnötigen Overhead
unterstützt funktionalen, verhaltensbasierten Teststil
lässt sich optional mit einer klassischen PHPUnit-Struktur kombinieren
PHPUnit:
class UserTest extends TestCase
{
public function test_user_has_name()
{
$user = new User('John');
$this->assertEquals('John', $user->name);
}
}
PEST:
it('has a name', function () {
$user = new User('John');
expect($user->name)->toBe('John');
});
👉 Deutlich kürzer, besser lesbar – besonders bei vielen Tests.
✅ Elegante Syntax (ähnlich wie Jest oder Mocha in JavaScript)
🧪 Unterstützt unit, feature, API, browser-based Tests
🧱 Datengetriebene Tests (with([...]))
🧬 Test-Hooks wie beforeEach() / afterEach()
🎨 Erweiterbar über Plugins & eigene Expectations
🔄 Kompatibel mit PHPUnit (du kannst PHPUnit-Tests weiter nutzen)
In einem Laravel- oder Composer-Projekt:
composer require pestphp/pest --dev
php artisan pest:install # (für Laravel-Projekte)
Dann kannst du direkt loslegen:
./vendor/bin/pest
PEST ist ideal, wenn du:
Tests schreiben willst, die Spaß machen
sauberen, modernen Code bevorzugst
bereits PHPUnit nutzt, aber Lust auf mehr Expressivität hast
💡 Viele moderne Laravel-Entwickler steigen auf PEST um, weil es sich perfekt in Laravel-Apps integriert und das Testen „menschlich“ macht – wie der Slogan schon sagt.
Deployer ist ein Open-Source-Deployment-Tool für PHP-Projekte – speziell entwickelt, um Anwendungen wie Laravel, Symfony, Magento, WordPress oder auch generische PHP-Apps automatisiert, wiederholbar und sicher auf Server zu bringen.
Es ist ein CLI-Tool, geschrieben in PHP.
Du definierst dein Deployment in einer deploy.php-Datei mit klaren Aufgaben (Tasks).
Es setzt auf das Prinzip Zero Downtime Deployment, z. B. durch Symlinks.
Unterstützt mehrstufige Umgebungen (z. B. staging, production).
Du installierst Deployer über Composer:
composer require deployer/deployer --dev
Du generierst ein Template:
vendor/bin/dep init
Du konfigurierst deploy.php, z. B. für Laravel:
host('mein-server.com')
->set('deploy_path', '/var/www/meinprojekt')
->set('branch', 'main');
task('deploy', [
'deploy:prepare',
'deploy:vendors',
'artisan:migrate',
'deploy:publish',
]);
Du startest das Deployment:
vendor/bin/dep deploy production
Deployer:
Verbindet sich via SSH mit dem Zielserver
Klont das Git-Repository in ein neues Release-Verzeichnis
Installiert Composer-Abhängigkeiten
Führt Tasks aus (z. B. php artisan migrate)
Verlinkt das neue Release mit dem Live-Verzeichnis (current)
Löscht alte Releases nach Bedarf
| Vorteil | Beschreibung |
|---|---|
| 🚀 Schnell & Skriptbar | Alles per CLI steuerbar |
| 🔁 Rollback-Funktion | Bei Fehlern einfach zum letzten funktionierenden Release zurück |
| ⚙️ Flexibel erweiterbar | Eigene Tasks, Hooks und Bedingungen |
| 🧩 Viele Presets | Für Laravel, Symfony, WordPress etc. |
| 🔐 Sicher durch SSH | Keine FTP-Abhängigkeit |
RoadRunner ist ein High-Performance Application Server für PHP, der von Spiral Scout entwickelt wurde. Er ersetzt den klassischen PHP-FPM (FastCGI Process Manager) und bietet durch eine dauerhafte Ausführung deiner PHP-Anwendung einen massiven Performance-Schub – besonders bei Frameworks wie Laravel oder Symfony.
PHP-Skripte werden nicht bei jeder Anfrage neu geladen, sondern laufen dauerhaft in sogenannten Worker-Prozessen (ähnlich wie bei Node.js oder Swoole).
Dadurch sparst du dir das erneute Bootstrapping deiner App bei jedem Request – das ist wesentlich schneller als bei PHP-FPM.
RoadRunner selbst ist in der Programmiersprache Go geschrieben – das bedeutet hohe Stabilität, einfache Cross-Plattform-Deployments und parallele Verarbeitung von Anfragen.
HTTP-Server (inkl. HTTPS, Gzip, CORS, etc.)
PSR-7 & PSR-15 Middleware-Kompatibilität
Unterstützung für:
Hot Reload für Änderungen im Code (mit Watch-Modul)
RoadRunner startet PHP-Worker-Prozesse.
Die Worker laden einmal den gesamten Framework-Bootstrap.
RoadRunner verteilt HTTP- oder gRPC-Anfragen an die Worker.
Die Antwort wird über Go zurückgegeben – schnell und parallel.
Laravel + RoadRunner (statt Laravel + PHP-FPM)
Anwendungen mit hoher Request-Frequenz
APIs, Microservices, Echtzeit-Anwendungen (z. B. mit WebSockets)
Serverless-ähnliche Dienste, wo Latenz kritisch ist
| Eigenschaft | PHP-FPM | RoadRunner |
|---|---|---|
| Bootstrapping pro Request | Ja | Nein (persistente Worker) |
| Geschwindigkeit | Gut | Exzellent |
| WebSockets | Nicht direkt | Ja |
| gRPC | Nein | Ja |
| Sprache | C | Go |
Google Apps Script ist eine cloudbasierte Skriptsprache von Google, mit der du Google-Apps wie Google Sheets, Docs, Gmail, Calendar und viele andere automatisieren, erweitern und miteinander verknüpfen kannst.
Hier die wichtigsten Punkte:
Eine serverseitige JavaScript-basierte Sprache, die direkt im Browser läuft.
Wird verwendet, um Workflows zu automatisieren, eigene Funktionen zu erstellen oder Add-ons für Google Workspace zu entwickeln.
Keine Installation notwendig – wird direkt in der Google-Cloud ausgeführt.
In Google Sheets automatisch Daten formatieren, filtern, sortieren oder mit anderen Datenquellen synchronisieren.
Mit Gmail automatisch E-Mails versenden, analysieren oder organisieren.
In Google Forms automatisierte Auswertungen durchführen.
Mit Google Calendar Termine erstellen oder synchronisieren.
Eigene Menüs, Dialoge und Seitenleisten in Google-Apps einbauen.
Web-Apps oder APIs erstellen, die mit Google-Diensten interagieren.
Kostenlos (mit Google-Konto).
Läuft vollständig in der Cloud.
Einfache Integration mit Google Workspace.
Gute Dokumentation und viele Beispiele verfügbar.
function fillColumn() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:A10");
for (let i = 1; i <= 10; i++) {
range.getCell(i, 1).setValue("Zeile " + i);
}
}Docker Compose ist ein Werkzeug, mit dem du mehrere Docker-Container als einen einzigen Service definieren und starten kannst. Statt jeden Container einzeln über die Docker-CLI zu starten, kannst du mit Docker Compose eine docker-compose.yml-Datei schreiben, in der du alle benötigten Dienste (z. B. Datenbank, Webserver, App-Container) deklarierst.
Docker Compose = Projektbeschreibung + Mehrere Container + Ein Befehl zum Starten
docker-compose.ymlversion: '3.9'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
In diesem Beispiel:
Ein Container baut die lokale Webanwendung.
Ein zweiter Container nutzt das offizielle Redis-Image.
Beide Container sind miteinander vernetzt.
docker-compose up # Startet alle Container im Vordergrund
docker-compose up -d # Startet im Hintergrund (detached)
docker-compose down # Stoppt und entfernt Container, Netzwerke etc.
✅ Einfaches Setup für Multi-Container-Anwendungen
✅ Alles wird in einer Datei versioniert (z. B. für Git)
✅ Reproduzierbare Entwicklungsumgebungen
✅ Leichtes Hoch- und Runterfahren ganzer Stacks
Lokale Entwicklung mit mehreren Services (z. B. App + DB)
Integrationstests mit vollständigem Stack
Simpler Deployment-Workflow (z. B. über CI/CD)
Contentful ist ein sogenanntes Headless Content Management System (Headless CMS). Es ermöglicht Unternehmen, Inhalte (Content) zentral zu verwalten und flexibel über APIs an verschiedene Ausgabekanäle auszuliefern – z. B. Websites, Apps oder digitale Displays.
Traditionelle CMS (wie WordPress) verwalten Inhalte und präsentieren sie gleichzeitig auf einer fest verknüpften Website. Bei einem Headless CMS ist die „Präsentationsschicht“ (Frontend) vom „Content-Management“ (Backend) getrennt. Man hat also nur den „Kopf“ (Frontend) abgetrennt – daher der Begriff „headless“.
API-first: Inhalte werden über REST oder GraphQL APIs bereitgestellt.
Flexibles Content Modeling: Man definiert eigene Content-Typen (z. B. Blogartikel, Produkte, Testimonials) mit frei wählbaren Feldern.
Mehrsprachigkeit: Gute Unterstützung für mehrsprachige Inhalte.
Cloud-basiert: Keine eigene Server-Infrastruktur nötig.
Integration: Lässt sich gut mit Tools wie React, Vue, Next.js, Shopify, SAP, etc. kombinieren.
Unternehmen mit mehreren Ausgabekanälen (Website, App, Smartwatch, etc.)
Große Marken mit internationaler Präsenz
Entwicklerteams, die ein flexibles und skalierbares CMS suchen
Storyblok ist ein benutzerfreundliches, headless Content-Management-System (CMS), das Entwicklern und Marketing-Teams hilft, Inhalte schnell und effizient zu erstellen, zu verwalten und zu veröffentlichen. Es bietet eine visuelle Bearbeitungsoberfläche, die es ermöglicht, Inhalte in Echtzeit zu gestalten, und ist flexibel mit verschiedenen Frameworks und Plattformen kompatibel. Durch seine API-first-Architektur können Inhalte auf jeder digitalen Plattform ausgespielt werden, was es ideal für moderne Web- und App-Entwicklung macht.
Shopware ist ein modulares E-Commerce-System aus Deutschland, mit dem man Online-Shops erstellen und verwalten kann. Es richtet sich sowohl an kleine Händler als auch an große Unternehmen und zeichnet sich durch seine Flexibilität, Skalierbarkeit und moderne Technologie aus.
Hier ein Überblick:
Hersteller: Shopware AG (gegründet 2000 in Deutschland)
Technologie: PHP, Symfony-Framework, API-first-Ansatz
Aktuelle Version: Shopware 6 (seit 2019)
Open Source: Ja, mit kostenpflichtigen Erweiterungen
Headless-Ready: Ja, unterstützt Headless-Commerce über APIs
Produktverwaltung: Varianten, Staffelpreise, Medien, SEO
Vertriebskanäle: Webshop, POS, Social Media, Marktplätze
Content Management: Integriertes CMS (Shopping Experiences)
Zahlung & Versand: Viele Schnittstellen, z. B. PayPal, Klarna
Mehrsprachigkeit & Multi-Currency
B2B- & B2C-Features
App-System & API für Erweiterungen
Startups (kostenfreie Community Edition)
KMU und Mittelstand
Enterprise-Kunden mit individuellen Anforderungen
Besonders beliebt im deutschsprachigen Raum
Made in Germany → DSGVO-konform
Hohe Individualisierbarkeit
Aktives Ökosystem & Community
Skalierbar für wachsende Anforderungen