MWCodebymw.de ↗
code ~

Code, den du sofort einsetzen kannst

Praktische Code-Snippets aus meiner täglichen Arbeit — kopieren, verstehen, einsetzen.

php_sichere_datei_down.phpPHP
Einsteiger

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.

14. Juli 2026 · 1 Aufruf · · KIMit Hilfe von KI generiert
sql_fensterfunktionen_.sqlSQL
Fortgeschritten

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.

14. Juli 2026 · 2 Aufrufe · · KIMit Hilfe von KI generiert
css_has_eltern_selekto.cssHTML & CSS
Einsteiger

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.

14. Juli 2026 · 2 Aufrufe · · KIMit Hilfe von KI generiert
javascript_intersectio.jsJavaScript
Einsteiger

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.

14. Juli 2026 · 2 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_datastore_prefe.ktKotlin
Fortgeschritten

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.

14. Juli 2026 · 1 Aufruf · · KIMit Hilfe von KI generiert
css_clamp_fluid_typogr.cssHTML & CSS
Einsteiger

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.

12. Juli 2026 · 9 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_coroutines_asyn.ktKotlin
Fortgeschritten

Parallele Netzwerkaufrufe mit async/await – zwei Requests, halbe Wartezeit

Wenn ein Screen zwei unabhängige Daten braucht, musst du nicht erst auf den einen und dann auf den anderen Request warten. Mit async und coroutineScope laufen sie parallel – strukturiert und sicher.

12. Juli 2026 · 8 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_flow_combine_fo.ktKotlin
Fortgeschritten

Mehrere Flows mit combine() verbinden – Live-Validierung ohne Wirrwarr

Wenn ein Ergebnis von mehreren sich ändernden Werten abhängt – z. B. ob ein Formular abgeschickt werden darf – verbindest du die Flows mit combine(). Das reagiert automatisch, sobald sich irgendeiner ändert.

12. Juli 2026 · 8 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_compose_disposa.ktKotlin
Fortgeschritten

DisposableEffect in Compose – aufräumen, wenn ein Composable verschwindet

Immer wenn du in Compose etwas registrierst – einen Listener, einen Sensor, einen Callback – musst du es auch wieder abmelden. Genau dafür gibt es DisposableEffect mit seinem onDispose-Block.

12. Juli 2026 · 6 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_room_datenbank_.ktKotlin
Fortgeschritten

Room-Datenbank in Kotlin – Entity, DAO und Database in unter 30 Zeilen

Daten lokal auf dem Gerät speichern, ohne selbst SQL-Strings zusammenzubauen: Room ist die empfohlene Persistenz-Bibliothek für Android. Die drei Bausteine – Entity, DAO und Database – und wie sie zusammenspielen.

12. Juli 2026 · 7 Aufrufe · · KIMit Hilfe von KI generiert
bash_ki_api_rate_limit.shTerminal
Einsteiger

429 bei KI-APIs richtig behandeln – Retry mit Exponential Backoff (Bash)

Jede KI-API (Claude, OpenAI, Gemini) drosselt mit HTTP 429, wenn du zu schnell anfragst. Wer sofort stur weiterhämmert, wird noch länger blockiert. So respektierst du den Retry-After-Header und wartest exponentiell.

9. Juli 2026 · 9 Aufrufe · · KIMit Hilfe von KI generiert
javascript_llm_structu.jsJavaScript
Fortgeschritten

Verlässliches JSON aus einem LLM – mit Structured Outputs statt Hoffnung

Antworte nur mit JSON" reicht nicht – irgendwann kommt doch ein "Klar, hier ist dein JSON:" davor und dein JSON.parse() stürzt ab. Mit einem JSON-Schema erzwingst du garantiert gültige Struktur.

9. Juli 2026 · 12 Aufrufe · · KIMit Hilfe von KI generiert
Seite 1 / 3Ältere →