Code, den du sofort einsetzen kannst
Praktische Code-Snippets aus meiner täglichen Arbeit — kopieren, verstehen, einsetzen.
map, filter und reduce in JavaScript – Arrays ohne for-Schleife verarbeiten
Drei Array-Methoden ersetzen die meisten for-Schleifen: map wandelt jedes Element um, filter siebt, reduce fasst alles zu einem Wert zusammen. Ich erkläre reduce so, dass es endlich klick macht.
Benannte und Standard-Argumente in Kotlin – kein Bedarf mehr für 5 Überladungen
Mit Standardwerten und benannten Argumenten ersetzt Kotlin ganze Stapel überladener Funktionen. Der Aufruf-Code wird lesbarer und du vergisst nie mehr, welcher der vier Boolean-Parameter welcher war.
Listen umformen in Kotlin – map, filter, groupBy und associateBy
Statt Schleifen mit Zwischenlisten formst du Daten in Kotlin deklarativ um: map wandelt, filter siebt, groupBy bündelt, associateBy baut ein Nachschlage-Map. Ich zeige die vier an einem kleinen Beispiel.
Null-Sicherheit in Kotlin – ?., ?: und warum du !! meiden solltest
Kotlins Typsystem trennt nullbare von nicht-nullbaren Werten – die NullPointerException wird damit fast unmöglich. Ich zeige dir die drei Operatoren, die du täglich brauchst, und die eine Falle namens !!.
Extension Functions in Kotlin – bestehende Klassen erweitern, ohne sie zu ändern
Mit Extension Functions hängst du eigene Methoden an fremde Klassen wie String oder View – ganz ohne Vererbung. Ich zeige dir, wie das geht, wo es glänzt und welche Grenze du kennen solltest.
Scope-Funktionen in Kotlin – let, apply, run, also und with richtig einsetzen
let, apply, run, also, with – fünf kleine Helfer, die Kotlin-Code kürzer und lesbarer machen. Ich zeige dir mit einem einfachen Merksatz, welche du wann nimmst, ohne dass es kryptisch wird.
Dateien sicher zum Download ausliefern in PHP – mit readfile() und den richtigen Headern
Ein Download-Link auf eine private Datei ist schnell gefährlich – Pfad-Tricks führen sonst zu fremden Dateien. So lieferst du Downloads sauber aus: geschützt vor „../", speicherschonend und mit korrektem Dateinamen.
Ranglisten in SQL mit Fensterfunktionen – ROW_NUMBER, RANK und PARTITION BY
Für eine Rangliste brauchst du keine Zählerei im Code. ROW_NUMBER() und RANK() vergeben den Platz direkt in SQL – auch getrennt nach Gruppen. Ich zeige dir den Unterschied und wann du was nimmst.
Der Eltern-Selektor ist da – bedingtes Styling mit CSS :has()
Jahrelang gab es in CSS keinen Weg, ein Element abhängig von seinem Inhalt zu stylen. Mit :has() geht das endlich – ganz ohne JavaScript. Drei Beispiele, die ich ständig brauche.
Elemente beim Scrollen einblenden mit IntersectionObserver
Bilder erst laden, wenn sie sichtbar werden, oder Abschnitte sanft einblenden – ganz ohne Scroll-Event-Gehacke. Der IntersectionObserver macht das effizient und in wenigen Zeilen.
Einstellungen speichern mit DataStore – der moderne Ersatz für SharedPreferences
SharedPreferences ist alt, blockiert den Main-Thread und kennt keine Coroutinen. DataStore macht dasselbe – nur asynchron, typsicher und als Flow. So speicherst du Nutzer-Einstellungen richtig.
Fluid Typography mit CSS clamp() – Schrift, die ohne Media Queries mitwächst
Statt an drei Breakpoints feste Schriftgrößen zu setzen, lässt du sie mit clamp() flüssig zwischen einem Minimum und Maximum skalieren. Eine Zeile CSS ersetzt einen Stapel Media Queries.