Code, den du sofort einsetzen kannst
Praktische Code-Snippets aus meiner täglichen Arbeit — kopieren, verstehen, einsetzen.
Bilder ohne Verzerren einpassen mit object-fit
Wenn ein Bild in einen festen Rahmen soll, wird es schnell gestaucht oder verzerrt. object-fit löst das: Das Bild füllt den Rahmen oder passt komplett hinein – ohne die Proportionen zu ruinieren. Mit object-position steuerst du den Ausschnitt.
Slider und Karussell mit CSS scroll-snap – ohne Bibliothek
Ein wischbares Karussell, das sauber an jeder Karte einrastet, brauchst du nicht per JavaScript zu bauen. Mit scroll-snap sagst du dem Browser, wo der Scroll stehenbleiben soll – flüssig, mit Touch und Trackpad.
animateAsState in Jetpack Compose – flüssige Animationen in einer Zeile
Du willst, dass sich Größe, Farbe oder Position weich verändern, statt hart umzuspringen? In Compose brauchst du dafür keinen Animator und keinen State-Maschinen-Zoo – ein animateDpAsState oder animateColorAsState reicht. Ich zeige dir, wie das funktioniert.
aspect-ratio in CSS – Seitenverhältnisse ohne Padding-Trick
Früher brauchte man den berüchtigten padding-top-Hack, um ein 16:9-Element zu bauen. Mit aspect-ratio geht das in einer Zeile – für Videos, Vorschaubilder und quadratische Kacheln, die beim Laden nicht springen.
Akkordeon & FAQ ohne JavaScript – <details> und <summary>
Aufklappbare Abschnitte brauchen kein JavaScript. Das HTML-Paar <details>/<summary> bringt das Auf- und Zuklappen von Haus aus mit – barrierefrei und tastaturbedienbar. Ich zeige das Markup, ein sauberes Styling und wie du eine echte Akkordeon-Gruppe baust.
when in Kotlin – mehr als ein switch
when ersetzt das switch aus Java, kann aber viel mehr: es liefert einen Wert zurück, prüft Bereiche und Mengen, arbeitet ohne Argument wie eine if-Kette und erzwingt bei sealed-Typen Vollständigkeit. Ich zeige dir alle vier Varianten.
companion object in Kotlin – der saubere Weg zu „statischen" Membern
Kotlin kennt kein `static` wie Java. Für Konstanten, Fabrik-Methoden und Co. gibt es das companion object. Ich zeige, wofür ich es nutze – und den Factory-Trick, mit dem der Konstruktor privat bleibt.
inline und reified in Kotlin – den Typ zur Laufzeit behalten
Generische Typen sind in Kotlin zur Laufzeit normalerweise „weg" (Type Erasure). Mit einer inline-Funktion und reified holst du den Typ zurück – und schreibst so knappe Helfer wie fromJson<User>() ohne Class-Parameter.
JSON im Terminal verarbeiten mit jq
APIs antworten mit JSON – und dann? Mit jq filterst, formatierst und transformierst du JSON direkt im Terminal, ganz ohne Wegwerf-Skript. Ich zeige dir die Handvoll jq-Ausdrücke, die ich beim Debuggen von APIs jeden Tag brauche.
SQL-JOINs verständlich – INNER JOIN vs. LEFT JOIN
Zwei Tabellen zusammenführen ist Alltag – und die häufigste Fehlerquelle ist der falsche JOIN-Typ. Ich erkläre dir INNER JOIN und LEFT JOIN an einem konkreten Beispiel und warum ein LEFT JOIN dir Zeilen „verstecken" kann, wenn du im WHERE nicht aufpasst.
Modale Dialoge ohne Framework – das native <dialog>-Element
Für ein Modal brauchst du kein Bibliotheks-Ballast und keine z-index-Schlacht. Das HTML-Element <dialog> bringt Overlay, Fokus-Falle und Schließen mit Escape von Haus aus mit. Ich zeige dir showModal(), ::backdrop und das saubere Schließen.
rememberCoroutineScope – Coroutinen aus einem Klick in Jetpack Compose starten
LaunchedEffect ist super für Effekte beim Zusammenbau der UI – aber wie startest du eine Coroutine, wenn der Nutzer auf einen Button tippt? Dafür gibt es rememberCoroutineScope. Ich zeige den Unterschied und ein typisches Snackbar-Beispiel.