92 Beitrag/Beiträge
Freitag, 24. Oktober 2025
HttpClient.Timeout gilt für die gesamte Anfrage, inklusive des Lesens des Antwortkörpers. Bei einem großen Download läuft er also mitten im Übertragen ab, obwohl der Server längst antwortet.
Weiterlesen...Dienstag, 14. Oktober 2025
Autoimplementierte Eigenschaften sind bequem, bis man eine Kleinigkeit im Setter braucht. Ein Trim(), eine Prüfung auf null, ein Standardwert. Ab da schreibt man das Feld wieder selbst:
Weiterlesen...Montag, 06. Oktober 2025
Für eine schnelle Bestandsaufnahme braucht es weder Dependabot noch ein Abo:
Weiterlesen...Dienstag, 16. September 2025
Bei klassischem Code beantwortet ein Test die Frage, ob eine Änderung etwas kaputt gemacht hat. Bei einem Prompt gibt es diese Sicherheit nicht. Man formuliert um, probiert drei Fragen durch, findet die Antworten irgendwie besser und schiebt es live. Zwei Wochen später meldet jemand einen Fall, der vorher funktioniert hat.
Weiterlesen...Sonntag, 24. August 2025
Vor Jahren habe ich hier über meinen günstigen Git-Server auf einer alten QNAP geschrieben, und später darüber, wie man ein NuGet-Package erstellt. Beides trifft sich an einer Stelle: Wohin mit Paketen, die man in mehreren eigenen Projekten braucht, aber nicht auf nuget.org veröffentlichen will?
Weiterlesen...Dienstag, 15. Juli 2025
Ein Sprachmodell kennt die eigene Dokumentation nicht. Der übliche Ausweg heißt RAG: Man sucht vorab die passenden Textstellen heraus und legt sie dem Modell mit in den Prompt. Der Teil, der dabei Arbeit macht, ist die Suche, denn sie soll nach Bedeutung finden und nicht nach Zeichenketten.
Weiterlesen...Samstag, 28. Juni 2025
DateTime.Now ist der Klassiker unter den untestbaren Abhängigkeiten. Eine Methode, die prüft, ob ein Token abgelaufen ist, lässt sich nicht sinnvoll testen, wenn die Zeit direkt aus der statischen Klasse kommt. Die üblichen Auswege waren ein selbstgebautes IDateTimeProvider-Interface oder ein Test, der eine halbe Minute wartet.
Weiterlesen...Sonntag, 08. Juni 2025
Ein Sprachmodell weiß nichts über die eigene Datenbank und nichts über die aktuelle Uhrzeit. Tool Calling schließt diese Lücke: Man reicht dem Modell eine Liste aufrufbarer Funktionen mit, es entscheidet, ob und welche es braucht, und bekommt das Ergebnis zurück in den Kontext.
Weiterlesen...Dienstag, 20. Mai 2025
Wer in den letzten zwei Jahren etwas mit Sprachmodellen gebaut hat, kennt das Problem: Jeder Anbieter hat sein eigenes SDK, seine eigenen Typen für Nachrichten und seine eigene Art, Antworten zu streamen. Ein Wechsel von OpenAI zu Azure OpenAI oder zu einem lokalen Modell bedeutet, die halbe Anbindung neu zu schreiben.
Weiterlesen...Samstag, 05. April 2025
In einer Projektmappe mit fünfzehn Projekten steht dieselbe Paketreferenz an fünfzehn Stellen, und nach ein paar Monaten in drei verschiedenen Versionen. Meistens fällt das erst auf, wenn zur Laufzeit eine Methode fehlt, die es in der einen Version gibt und in der anderen nicht.
Weiterlesen...