Fehlerbehandlung in Rust mit thiserror und anyhow
Nutzen Sie thiserror, um klare Fehlertypen für Bibliotheken zu definieren, anyhow, um Fehler zu sammeln und Kontext für Anwendungen hinzuzufügen, und kombinieren Sie beide.
Ein Thema pro Artikel, Schritt für Schritt erklärt mit lauffähigem Code — von Java und Spring Boot bis KI, Systemdesign und DevOps.
Nutzen Sie thiserror, um klare Fehlertypen für Bibliotheken zu definieren, anyhow, um Fehler zu sammeln und Kontext für Anwendungen hinzuzufügen, und kombinieren Sie beide.
Unterscheide zwischen Object Declaration, Object Expression und Companion Object in Kotlin, wie sie Singletons erzeugen, wie du sie von Java aufrufen kannst und welche häufigen Fehler du vermeiden solltest.
Verwenden Sie Template Literal Types, um Schlüsselnamen zu generieren, Route-Parameter zu analysieren und typensichere Event-Emitter zu schreiben – mit Typprüfung durch Vitest und Fallstricken zum Vermeiden.
Lokal Token mit JTokkit zählen, Kosten mit BigDecimal berechnen, Anfragen mit Budgetüberschreitung blockieren und mit dem tatsächlichen Verbrauch von Spring AI abgleichen.
Maven-Konfiguration für Kotlin und Java, gegenseitige Aufrufe, Nullability-Handling, @JvmStatic, @JvmOverloads und häufige Fehler in Spring Boot.
Daten zwischen Threads mit Arc<Mutex<T>> teilen, Nachrichten über mpsc-Channels versenden und Deadlocks, Poisoning sowie häufige Fehler vermeiden.
Tokens von LLM APIs über Server-Sent Events mit HttpClient und WebClient empfangen, an den Browser streamen und dabei Fehler, Timeouts und Tests handhaben.
Welche Überprüfungen die strict-Flag in tsconfig aktiviert, welche Fehler jede Überprüfung abfängt, welche zusätzlichen Flags über strict hinaus aktiviert werden sollten, und wie man ein älteres Projekt zu strict migriert.
Mit by lazy können Sie Properties threadsicher verzögert initialisieren, mit Delegates.observable und Delegates.vetoable können Sie Änderungen nachverfolgen oder ungültige Wertänderungen blockieren.
Verstehe, wie LLMs Funktionen deiner Anwendung aufrufen – von rohes JSON bis zur @Tool-Annotation in Spring AI. Der Artikel enthält praktische Beispiele zum Abfragen von Bestellungen, zum Stornieren und zum Testen ohne echte Model-Aufrufe.
Verwende keyof, typeof und indexed access types, um Types aus vorhandenen Daten herzuleiten, Code-Wiederholungen zu vermeiden und den Compiler die Überprüfung falscher Keys übernehmen zu lassen.
Erstelle eine CRUD-REST-API mit Axum 0.8, inklusive Routing, Extractor, gemeinsamer State, Fehlerbehandlung mit IntoResponse und Handler-Tests ohne Netzwerkport.
So deklarierst du Function Types, übergibst und gibst Lambda zurück, nutzt Function References, Closures, Lambda with Receiver und inline in Kotlin.
Wann man Box, Rc oder Arc in Rust verwendet: Heap-Allokation, Ownership-Freigabe in einem Thread und über mehrere Threads hinweg, mit Weak, RefCell und Mutex.
LLMs zwingen, JSON mit passendem Schema in Spring Boot zurückzugeben: Mapping in Records mit Spring AI, natives JSON Schema aktivieren, validieren, Retry implementieren und Tests schreiben.
So konfigurieren Sie tsconfig und package.json, damit Ihre TypeScript-Bibliothek .d.ts-Dateien korrekt generiert, vollständige Typen für Nutzer bereitstellt und mit Vitest getestet werden kann.
Anleitung zur asynchronen Programmierung in Rust mit Tokio, mit async/await, spawn task, join!, select!, timeout, channel, spawn_blocking und zum Testen von async-Code.
Einrichtung eines Spring-Boot-3-Projekts mit Kotlin, Schreiben von REST-APIs, JPA-Entitäten, Konfiguration und Tests sowie häufige Fehler beim Wechsel von Java.
Praktische Prompt-Engineering-Techniken wie System Prompt, Delimiter, Few-Shot, strukturierte Ausgabe und Temperatur, mit Beispielen in Spring AI.
Typen für async-Funktionen deklarieren, Promise<T> verwenden, Awaited, Promise.all, sichere Fehlerbehandlung und häufige Fallstricke mit async-Callbacks vermeiden.