bg_image
header

.htaccess

Die .htaccess-Datei ist eine Konfigurationsdatei für Apache-Webserver, mit der du das Verhalten deiner Website direkt beeinflussen kannst – ohne Zugriff auf die zentrale Serverkonfiguration. Sie befindet sich typischerweise im Root-Verzeichnis deiner Website (z. B. /public_html oder /www).

Wichtige Hinweise:

  • Die .htaccess wirkt nur auf Apache-Servern (nicht bei nginx).

  • Änderungen gelten sofort, du brauchst den Server nicht neu zu starten.

  • Viele Shared-Hosting-Anbieter erlauben .htaccess, aber nicht alle Befehle sind immer erlaubt.

  • Fehlerhafte Einträge können deine Seite unbrauchbar machen – also Vorsicht beim Bearbeiten.

 


Least Privilege

Least Privilege (deutsch: Prinzip der minimalen Rechte oder Minimalprinzip) ist ein grundlegendes Sicherheitsprinzip in der IT und Informationssicherheit. Es besagt:

Jede Person, jedes System oder jeder Prozess soll nur genau die Zugriffsrechte erhalten, die für die Ausführung seiner Aufgaben unbedingt notwendig sind – nicht mehr und nicht weniger.


Warum ist das wichtig?

Das Prinzip des geringsten Privilegs hilft dabei:

  • Sicherheitsrisiken zu minimieren: Wenn ein Angreifer ein Nutzerkonto kompromittiert, kann er nur auf das zugreifen, wozu dieses Konto berechtigt ist.

  • Fehlbedienungen zu vermeiden: Benutzer können keine unbeabsichtigten Änderungen an kritischen Systemen oder Daten vornehmen, wenn sie keinen Zugriff darauf haben.

  • Compliance-Anforderungen zu erfüllen: Viele Normen (z. B. ISO 27001, DSGVO) fordern eine Rechtevergabe nach dem Least-Privilege-Prinzip.


Beispiele:

  • Ein Buchhalter hat Zugriff auf das Finanzsystem, aber nicht auf die Serverkonfiguration.

  • Ein Webserver-Prozess kann nur in seinem eigenen Verzeichnis schreiben, nicht ins Systemverzeichnis.

  • Ein Praktikant hat nur Leserechte auf einem Projektordner, aber keine Schreibrechte.


Umsetzung in der Praxis:

  • Rollenbasierte Zugriffskontrolle (RBAC)

  • Trennung von Administrator- und Benutzerkonten

  • Zeitlich begrenzte Berechtigungen

  • Regelmäßige Überprüfung von Berechtigungen (Access Reviews)


Google Apps Script

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:


🔧 Was ist Google Apps Script?

  • 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.


📌 Was kann man damit machen?

  • 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.


✅ Vorteile

  • Kostenlos (mit Google-Konto).

  • Läuft vollständig in der Cloud.

  • Einfache Integration mit Google Workspace.

  • Gute Dokumentation und viele Beispiele verfügbar.


🧪 Beispiel (Google Sheets – Zellen automatisch ausfüllen)

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);
  }
}

Datenbanktrigger

Datenbank-Trigger (kurz: Trigger) sind spezielle automatische Aktionen in einer Datenbank, die ausgelöst werden, wenn bestimmte Ereignisse auf einer Tabelle oder Sicht (View) passieren.


🔧 Was macht ein Trigger?

Ein Trigger ist ein vordefinierter Code, der bei INSERT, UPDATE oder DELETE auf einer Tabelle automatisch ausgeführt wird – ohne dass der Benutzer ihn direkt aufruft.


🧠 Beispiel:

Stell dir vor, du hast eine Tabelle Bestellungen, und du willst, dass immer, wenn eine Bestellung gelöscht wird, diese Info in einer Tabelle Log gespeichert wird.

Dann schreibst du einen DELETE-Trigger für die Tabelle Bestellungen, der automatisch beim Löschen etwas in Log schreibt.


🔄 Arten von Triggern:

Typ Beschreibung
BEFORE Wird vor der Aktion ausgeführt
AFTER Wird nach der Aktion ausgeführt
INSTEAD OF (bei Views) ersetzt die Aktion komplett
CREATE TRIGGER log_delete
AFTER DELETE ON Bestellungen
FOR EACH ROW
BEGIN
  INSERT INTO Log (aktion, zeitpunkt)
  VALUES ('Bestellung gelöscht', NOW());
END;

✅ Wofür werden Trigger verwendet?

  • Validierung von Daten

  • Automatisches Logging

  • Business-Logik abbilden

  • Referentielle Integrität erweitern


⚠️ Nachteile:

  • Schwer zu debuggen

  • Können unbemerkt viele Aktionen auslösen

  • Beeinflussen Performance, wenn komplex


GitHub Actions

GitHub Actions ist ein Feature von GitHub, mit dem du automatisierte Workflows für deine Softwareprojekte erstellen kannst – direkt im GitHub-Repository.


🛠️ Was kann man mit GitHub Actions machen?

Du kannst CI/CD-Pipelines (Continuous Integration / Continuous Deployment) aufbauen, z. B.:

  • Code automatisch testen (z. B. mit PHPUnit, Jest, Pytest)

  • 🛠️ Code bei jedem Push oder Pull Request builden

  • 🚀 Software automatisch deployen (z. B. auf einen Webserver, in die Cloud, zu DockerHub)

  • 📦 Releases erstellen (z. B. ZIP-Dateien, Versionstags)

  • 🔄 Cronjobs oder geplante Tasks laufen lassen


🧱 Wie funktioniert es?

GitHub Actions basiert auf sogenannten Workflows, die du in einer Datei definierst:

  • Die Datei heißt z. B. .github/workflows/ci.yml

  • Sie ist im YAML-Format

  • Du definierst Events (z. B. push, pull_request) und Jobs (z. B. build, test)

  • Jobs bestehen aus Steps, die Befehle oder Aktionen ausführen

Beispiel: Einfacher CI-Workflow für Node.js

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '20'
      - run: npm install
      - run: npm test

🧩 Was sind "Actions"?

Eine Action ist ein einzelner Schritt, den man in einem Workflow ausführt. Es gibt:

  • Vorgefertigte Actions (z. B. actions/checkout, setup-node, upload-artifact)

  • Eigene Actions (z. B. Shell-Skripte oder Docker-Container)

Du kannst Actions im GitHub Marketplace finden und nutzen.


💡 Warum ist das nützlich?

  • Spart manuelle Arbeit

  • Verbessert Codequalität (durch automatisierte Tests)

  • Macht Deployments reproduzierbar

  • Alles direkt in GitHub – kein externer CI-Dienst nötig (wie Jenkins oder Travis CI)


Docker Compose

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.

Kurz gesagt:

Docker Compose = Projektbeschreibung + Mehrere Container + Ein Befehl zum Starten


Beispiel: docker-compose.yml

version: '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.


Häufige Kommandos:

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.

Vorteile von Docker Compose:

✅ 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


Typische Anwendungsfälle:

  • Lokale Entwicklung mit mehreren Services (z. B. App + DB)

  • Integrationstests mit vollständigem Stack

  • Simpler Deployment-Workflow (z. B. über CI/CD)


Contentful

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.

Was bedeutet „Headless“?

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“.


Hauptmerkmale von Contentful:

  • 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.


Für wen ist Contentful interessant?

  • Unternehmen mit mehreren Ausgabekanälen (Website, App, Smartwatch, etc.)

  • Teams, die Frontend und Backend getrennt entwickeln wollen

  • Große Marken mit internationaler Präsenz

  • Entwicklerteams, die ein flexibles und skalierbares CMS suchen

 


Headless CMS

Ein Headless CMS (Content Management System) ist ein Content-Management-System, bei dem das Backend (die Inhalte und ihre Verwaltung) vom Frontend (der Darstellung für die Nutzer) vollständig getrennt ist.

Im Detail:

Klassisches CMS (z. B. WordPress):

  • Backend und Frontend sind gekoppelt.

  • Die Inhalte werden im System erstellt und direkt als HTML über ein fest integriertes Theme angezeigt.

  • Vorteil: Alles aus einer Hand.

  • Nachteil: Eingeschränkte Flexibilität, schwer für Multi-Plattform-Ausgabe (z. B. App + Webseite + Smartwatch).

Headless CMS:

  • Nur Backend.

  • Inhalte werden über eine API (z. B. REST oder GraphQL) bereitgestellt.

  • Das Frontend (z. B. eine React-Webseite, native App, Digital Signage) holt sich die Inhalte dynamisch.

  • Vorteil: Sehr flexibel, geeignet für Multi-Channel-Ausspielung.

  • Nachteil: Frontend muss separat entwickelt werden (mehr Aufwand).

Typische Einsatzszenarien:

  • Webseiten mit modernen JavaScript-Frameworks (z. B. React, Next.js, Vue)

  • Mobile Apps, die denselben Content wie die Website zeigen sollen

  • Omnichannel-Strategien: Website, App, IoT-Geräte, etc.

Beispiele für Headless CMS:

  • Contentful

  • Strapi

  • Sanity

  • Directus

  • Prismic

  • Storyblok (Hybrid-Ansatz mit Visual Editor)

 


Storyblok

 

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

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:


🔹 Allgemeine Infos:

  • 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


🔹 Funktionen:

  • 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


🔹 Für wen ist Shopware geeignet?

  • Startups (kostenfreie Community Edition)

  • KMU und Mittelstand

  • Enterprise-Kunden mit individuellen Anforderungen

  • Besonders beliebt im deutschsprachigen Raum


🔹 Vorteile:

  • Made in Germany → DSGVO-konform

  • Hohe Individualisierbarkeit

  • Aktives Ökosystem & Community

  • Skalierbar für wachsende Anforderungen