per user-request einen branch der main-content UND rewrite-content trägt — saubere separierung statt symlink/merge-conflict. struktur: - slides/<course>/ → main-content restored, eigene assets (kein new-demo-leak) - slides/<course>-2026/ → rewrite-content, eigene assets (komplett kopiert + new demos) Makefile: COURSES += 223015b-2026 223015c-2026 dhbw-2026 mit eigenen NAME/KAPITEL/DEPLOY/KLAUSUR-konfig. Klausur für b+c=1, dhbw=leer. Deploy-paths /hdm/223015b-2026 etc. make build durchlaufen für alle 6 decks, 0 fehler. dedup: 223015c+dhbw assets identisch in beiden ordnern (kein neu-demos auf b ergänzt). 223015b 86 → 120 files in -2026 (= +34 neue eroeffner/usb-c-drei-achsen/container-vs-codec/etc).
20 KiB
marp, theme, paginate, backgroundColor, header, footer, title
| marp | theme | paginate | backgroundColor | header | footer | title |
|---|---|---|---|---|---|---|
| true | gaia | true | Dateiformate, Schnittstellen, Speichermedien & Distributionswege (223015b) | Michael Czechowski – HdM Stuttgart – SoSe 2026 | Distribution und Metadaten |
Kapitel 5
Distribution und Metadaten
Sub-Sektion A: Distribution — wie reist die Datei?
CDN — Content Delivery Network
Idee: Daten dort speichern, wo die Nutzer:innen sind.
Statt von einem zentralen Server in Kalifornien wird die Datei von einem Edge-Server in eurer Nähe geliefert.
Beispiel: Netflix nutzt Open Connect — eigene Server in 1.000+ ISP-Rechenzentren weltweit. ~15 % des globalen Internet-Verkehrs.
Latenz von Stuttgart zu Stuttgart: ~5 ms. Latenz von Stuttgart nach Kalifornien: ~150 ms.
Wie sieht das im DevTools aus?
DevTools (F12) → Tab Network → reload eine Seite
Was ihr seht:
- DNS-Lookup: ~30 ms (oder gecacht: 0)
- TLS-Handshake: ~50 ms
- TTFB (Time to First Byte): ~80 ms wenn CDN, sonst 300+
- Cache-Status: Header
x-cache: HITodercf-cache-status: HIT
→ Selbstlernen: öffnet eine populäre Seite, schaut die Response-Header an.
REST-APIs — wie Apps Daten austauschen
Was ist eine API?
Application Programming Interface. Eine standardisierte Stelle, an der zwei Programme Daten austauschen.
HTTP-Request (GET /aktuell?ort=stuttgart)
┌─────────────────────────────────────────────────┐
│ ▼
[App auf dem Handy] [API-Server]
▲ │
│ JSON-Response │
└─────────────────────────────────────────────────┘
{ "temperatur": 14, "regen": false, ... }
Beispiele: Wetter, Maps, Banking, Twitter, jede Spotify-Anfrage.
REST: GET · POST · PUT · DELETE
| Methode | Was tut sie | URL-Beispiel |
|---|---|---|
| GET | lesen | GET /users/42 (User mit ID 42 abfragen) |
| POST | neu erstellen | POST /users mit Daten als Body |
| PUT | überschreiben | PUT /users/42 mit kompletten neuen Daten |
| PATCH | teilweise ändern | PATCH /users/42 mit Änderungen |
| DELETE | löschen | DELETE /users/42 |
CRUD = Create · Read · Update · Delete.
Selbstlernen — eine API im Browser anfragen
JSONPlaceholder ist eine kostenlose Fake-API zum Üben:
https://jsonplaceholder.typicode.com/users
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts?userId=2
Aufgabe: Im Browser öffnen. Was kommt zurück? Welcher Content-Type-Header?
Bonus: mit curl https://api.github.com/users/torvalds in der Konsole.
JSON — das Standard-Datenformat
{
"name": "Torvalds",
"alter": 56,
"projekte": [
{ "name": "Linux", "stars": 180000 },
{ "name": "Git", "stars": 50000 }
],
"aktiv": true
}
- Objekte (
{ ... }), Listen ([ ... ]), Strings ("..."), Zahlen,true/false,null - Universell: jede Programmiersprache hat JSON-Support
- Lesbar: Mensch + Maschine
Sub-Sektion B: Metadaten — was Dateien über sich verraten
EXIF — was ein Foto über sich verrät
Exchangeable Image File Format. Standard seit 1995, in JPEG/HEIC/TIFF.
Typische EXIF-Daten in einem Smartphone-Foto:
| Feld | Beispiel |
|---|---|
| Kamera | Apple iPhone 15 Pro · 24 mm · ƒ/1.78 |
| Belichtung | 1/250 s · ISO 100 |
| Aufnahme-Zeitstempel | 2026-04-12 · 18:47:12 +02:00 |
| GPS-Koordinaten | 48.7847°N 9.1825°E (Stuttgart, Königstraße) |
| Software | iOS 18.4.1 · Photoshop CC 2025 |
Der John-McAfee-GPS-Fall
Dezember 2012. John McAfee (Antivirus-Erfinder) flieht aus Belize, wo er als Mordverdächtiger gesucht wird.
Vice Magazine veröffentlicht ein Interview mit einem Foto: McAfee im T-Shirt, scheinbar in einer geheimen Location.
EXIF-Koordinaten im Foto: 15.6541° N, 88.9939° W → Hotel Nana Lodge, Guatemala. Bekannt.
McAfee wird 36 Stunden später festgenommen.
Social-Media-EXIF-Stripping
| Plattform | Stripped? | Vorbehalt |
|---|---|---|
| Ja | neu komprimiert | |
| Facebook · iMessage | Ja | — |
| Twitter / X | Ja | nicht bei Direktnachricht |
| Ja als Foto | NEIN bei „Dokument senden" | |
| E-Mail · Slack · Discord | Nein | Original bleibt |
Plattform-Upload = meist Stripped. Datei direkt teilen = unsicher.
ID3 — Metadaten in MP3-Dateien
ID3v2.4 Header:
Titel: "Hotel California"
Artist: "Eagles"
Album: "Hotel California"
Jahr: 1976
Genre: Rock
Cover-Art: [JPEG embedded, 250 × 250 px]
Plus: Lyrics, Komponist, Track-Nr, ReplayGain, manchmal ganze Lyric-Videos als Embedded-Bilder.
→ Daher ist eine 4-Min MP3 manchmal 5 MB groß statt 3 MB.
Der Tony-Blair-Fall (PDF-Metadaten)
Februar 2003. Britische Regierung veröffentlicht PDF-Dokument zur Begründung des Irakkriegs.
Ein britischer Akademiker findet im PDF-Revisionsverlauf: das Dokument wurde aus einer studentischen Doktorarbeit von 1991 kopiert.
Plagiats-Skandal. Plus Hinweise auf welche Mitarbeiter:innen welche Sätze überarbeitet hatten.
→ PDF-Metadaten verraten oft mehr als der Inhalt.
Vendor-Lockin — wenn das Format zum Käfig wird
Beispiele: proprietäre Formate
| Format | Hersteller | Was nervt |
|---|---|---|
| PSD (Photoshop) | Adobe | nur Photoshop liest Layer-Daten voll. Abo-Pflicht. |
| INDD (InDesign) | Adobe | gleiches Problem |
| .pages | Apple | nur in Apple-Apps voll editierbar |
| .numbers | Apple | gleiches |
| DOC (alt) | Microsoft | bis 2007 closed-source |
| PSP, AI | Adobe | proprietäre Editor-Formate |
→ Offene Alternativen: PNG, TIFF, ODT (LibreOffice), HTML/Markdown, SVG.
Vendor-Lockin als Risiko
Szenario: Du arbeitest 5 Jahre lang mit Adobe InDesign. Dann steigt der Abo-Preis um 200 % oder Adobe ändert das Format.
Konsequenz:
- Bestehende INDD-Dateien öffnen sich noch — aber nur in Adobe-Produkten
- Migration zu Affinity Publisher / Scribus: Daten müssen konvertiert werden, manche Details gehen verloren
- Bei einigen Formaten gibt es keine Konverter — Vendor entscheidet komplett
Schutz: Wichtige Daten in offenen Formaten parallel speichern.
Selbstlernen — exiftool auf eigene Fotos
Installation:
- macOS:
brew install exiftool - Linux:
sudo apt install libimage-exiftool-perl - Windows: exiftool.org
Aufgabe:
exiftool DEIN_FOTO.jpg
Schaut, was alles drin steht. Findet ihr GPS-Koordinaten? Bonus: in maps.google.com eintippen.
Optional: EXIF entfernen mit exiftool -all= DEIN_FOTO.jpg.
Zusammenfassung
Distribution — wie reist die Datei: CDN bringt sie zur Edge. REST-API liefert Daten on-demand. JSON ist die Sprache.
Metadaten — was bringt die Datei mit: EXIF (Fotos), ID3 (Audio), PDF-Meta (Dokumente). GPS + Zeitstempel + Software.
Privacy: EXIF kann Aufenthaltsort verraten. PDF kann Revision-History verraten.
Vendor-Lockin: proprietäre Formate als Käfig. Offene Alternativen wo möglich.
→ Eine Datei ist nie nur Inhalt. Inhalt + Gepäck + Weg.
