Entwicklung & Code
Wenn Agenten nur noch mit Agenten reden, reden Menschen aneinander vorbei
Letztens hat einer meiner langjährigen Kunden ein Issue in einem unserer GitHub-Projekte eröffnet. Saubere Überschrift, darunter ein Befund: fehlende Alt-Texte auf Bildern, Verweis auf WCAG 1.1.1 zur Accessibility, dazu eine korrekt analysierte Anomalie in unserem Datenbankschema und schließlich das Angebot, für rund 1.500 Bilder inhaltlich geprüfte Alt-Texte zu liefern. Fachlich gab es nichts zu meckern. Trotzdem stimmte etwas nicht. Kein Gruß, kein persönliches Wort, und der Text erklärte mir mein eigenes Projekt so geduldig, als wäre ich gestern neu dazugestoßen. So schreibt nicht der Mensch, mit dem ich seit gut zehn Jahren zusammenarbeite. So schreibt sein KI-Agent.
Weiterlesen nach der Anzeige

Stefan Wintermeyer ist Consultant und Trainer für Software- und Systemarchitektur. Fokus: Phoenix, Ruby on Rails, Web-Perf, Asterisk/VoIP, KI und Agentic Programming, effektive Workflows und nutzerseitige Verhaltensmuster.
Geantwortet habe ich natürlich auch nicht selbst. Claude Code hat das Issue analysiert, den Fix gebaut, einen ausführlichen Kommentar hinterlassen und das Issue geschlossen. Höflich, gründlich, mit einem Gegenvorschlag zum Datenformat des Kunden. Als ich die Antwort später las, blieb ich an einem Gedanken hängen: Hier sprechen nicht mein Kunde und ich miteinander. Hier reden zwei Maschinen, und wir Menschen lesen bestenfalls noch Protokoll.
Mein Agent ist höflicher als ich
Seit über einem Jahr läuft meine GitHub-Kommunikation fast vollständig über einen Agenten. Nur selten tippe ich noch selbst einen Kommentar. Die Bilanz fällt eindeutig aus: Ich bin deutlich produktiver geworden. Und, das gebe ich ungern zu, zu den meisten Menschen auch freundlicher. Amerikaner sagen mir seit Jahren, dass ich nichts sugarcoate: Deutsche Direktheit wirkt im Englischen schnell ruppig, meine erst recht. Umgekehrt überlese ich als Deutscher manche höflich verpackte Botschaft komplett. Schreibt ein amerikanischer Reviewer unter meinen Pull Request „You might want to consider adding a test here“, lese ich einen unverbindlichen Vorschlag, über den ich bei Gelegenheit mal nachdenken kann. Gemeint ist: Ohne Test wird das hier nicht gemergt. Und sein „Interesting approach!“ ist kein Lob, sondern höflich verpackte Skepsis. Mein Agent erkennt diese sprachlichen Codes in beide Richtungen.
Dazu kommt ein Luxus, den mir kein Mensch bieten könnte: Ich kann mit dem Agenten so reden, wie ich mich gerade fühle. Super unfreundlich, wenn mich etwas nervt. Super happy, wenn ein Fix endlich sitzt. Dem Agenten ist das egal, er ist ja nie beleidigt. Er kümmert sich darum, dass die Botschaft ankommt, ohne dass sich am anderen Ende jemand auf den Fuß getreten fühlt.
Für meine Open-Source-Projekte ist er ein Lebensretter. Eines davon ist vutuv, eine quelloffene Alternative zu LinkedIn, die ich als einziger Entwickler betreue. An manchen Tagen kommen dort dutzende Feature Requests herein, dazu hin und wieder ein paar Bug-Meldungen. Als Einzelkämpfer ist man damit schnell überfordert, jedenfalls ohne einen Agenten an der Seite. Auf ausführliche Antworten zu Issues hatte ich früher oft weder Zeit noch Lust. Verdient hätten die Menschen dahinter sie trotzdem. Wer sich die Mühe macht, einen Fehler ordentlich zu melden, bekommt jetzt eine ordentliche Antwort und am Ende ein ehrliches Dankeschön. Und diese Antwort hat mehr Substanz, als ich je hineintippen würde: Der Agent weiß haarklein, wie er und ich gemeinsam den Fehler behoben haben, wie langwierig und kompliziert das war und welche Fallstricke unterwegs lauerten. Er war ja dabei. Mir fehlt die Zeit, das alles aufzuschreiben, ihm nicht. Win-win für alle Beteiligten.
Weiterlesen nach der Anzeige
Damit das nach mir klingt und nicht nach Pressestelle, habe ich dem Agenten eigene Tonfall-Regeln geschrieben. In meiner CLAUDE.md, der zentralen Konfigurationsdatei, stehen Anweisungen wie: Schreibe in der ersten Person, warm und freundlich. Nenne kurz den Grund, dann hör auf, kein Füllmaterial. Wenn ich etwas ablehne, nie als plattes Nein, sondern freundlich und mit dem Warum. Und wenn der Thread auf Deutsch geführt wird, antworte auf Deutsch.
Es gibt auch eine weniger vorzeigbare Seite. Manche Open-Source-Diskussionen fressen Zeit, ohne je irgendwo anzukommen. Dann sage ich Claude Code: „Mach hier bitte einen Deckel drauf. Die Sache ist entschieden, ich mag das nicht ewig weiterdiskutieren.“ Der Agent bleibt daraufhin freundlich beim Nein und schließt im Zweifel das Issue. Ich delegiere in diesem Moment etwas anderes als Arbeit: nämlich einen Konflikt. Ob die Betroffenen ahnen, dass eine Maschine den Schlussstrich gezogen hat? Vermutlich nicht. Wie es sich umgekehrt anfühlt, wenn ein Maintainer meine sorgfältig geschriebene Bug-Meldung von einem Agenten abmoderieren lässt, weiß ich dagegen nicht. Bisher war ich immer der, der den Deckel in der Hand hält.
Das Minenfeld bekommt eine zweite Ebene
Textkommunikation war schon immer ein Minenfeld. Ironie kommt nicht an, Knappheit wird als Kälte gelesen, ein fehlendes Smiley verschiebt die Bedeutung eines ganzen Absatzes. Bisher half die Erfahrung mit dem Absender: Nach ein paar Jahren weiß ich, wie mein Kunde klingt, wenn er sich freut, und wie, wenn es brennt. Diese Kalibrierung läuft jetzt ins Leere. Der Ton, den ich lese, stammt von einem Werkzeug und dessen Konfiguration. Wenn eine Seite das nicht weiß, entstehen Missverständnisse zwischen zwei Personen, die an dem Gespräch gar nicht teilgenommen haben.
Wie selten bei agentengeschriebenen Pull Requests überhaupt noch ein Mensch draufschaut, ist inzwischen ausgezählt (siehe Textbox „Studienlage: Agenten prüfen Agenten“). Nicht selten liegt morgens eine E-Mail in meinem Postfach, der ich ansehe, dass ein Agent sie geschrieben hat. Marketingleute haben diese Werkzeuge längst genauso für sich entdeckt wie wir Entwickler. Manche Menschen kommunizieren sogar ausschließlich so: Sie lassen Systeme wie OpenClaw ihre E-Mails und Tweets vollautomatisch beantworten. Wer ihnen schreibt, bekommt eine Antwort von jemandem, der die Nachricht nie gelesen hat.
Zwei Übersichtsarbeiten von 2024 zu KI-Agenten in der Softwareentwicklung ordnen das Feld. Junwei Liu und Kollegen werten Arbeiten zu LLM-Agenten in der Softwareentwicklung aus – inzwischen sind es 124 – und behandeln Multi-Agenten-Systeme sowie die Zusammenarbeit von Mensch und Agent in eigenen Kapiteln. Yanlin Wang und Kollegen legen daneben eine Architektur aus Wahrnehmung, Gedächtnis und Aktion vor.
Spannender als die Überblicke sind die Messungen, und die gibt es seit 2026. Grundlage ist meist AIDev, ein Datensatz von Hao Li, Haoxiang Zhang und Ahmed E. Hassan: 932.791 Pull Requests, die fünf Agenten (Codex, Devin, Copilot, Cursor und Claude Code) in 116.211 GitHub-Repositories eröffnet haben, Stand August 2025.
Darauf aufbauend hat eine polnische Gruppe um Kacper Duma jene 33.596 agentengeschriebene Pull Requests untersucht, die in Projekten mit mehr als 100 Sternen liegen. 61,38 Prozent davon bekommen überhaupt kein Review. Von denen, die eines bekommen, werden 58,77 Prozent ausschließlich von anderen Agenten begutachtet und nur 10,14 Prozent ausschließlich von Menschen. Zusammengerechnet durchlaufen 84 Prozent aller agentengeschriebenen Pull Requests entweder kein Review oder nur eines, an dem kein Mensch beteiligt war. Von sämtlichen Review-Kommentaren stammen 71,58 Prozent von Agenten.
Wie viel von alldem überhaupt sichtbar ist, steht auf einem anderen Blatt. Arsham Khosravani und Audris Mockus haben 180 Millionen Repositories nach Agentenspuren durchsucht und kommen auf über 320.000 Commits pro Monat. Wer sich auf die offiziellen Bot-Accounts verlässt, übersieht den Großteil davon: Bei Claude Code fanden die beiden 850.157 Commits, von denen die Bot-Suche nur 28.154 erfasste, also 3,3 Prozent. Der Rest läuft unter menschlichem Namen.
Eine Ebene bleibt unvermessen: Wie oft ein Mensch am Ende gar nicht mehr mitliest, weiß niemand. Die Zahlen erfassen Pull Requests und Reviews, nicht die Frage, ob der Kunde sein eigenes Issue je gelesen hat.
Zum zweiten Thema dieses Artikels, der Offenlegung, liefert die Organisationsforschung die Zahlen. Die im Text zitierte Arbeit von Oliver Schilke und Martin Reimann stützt sich auf dreizehn Experimente mit über 5.000 Teilnehmern, quer durch Rollen und Branchen, vom Professor über den Analysten bis zum Investmentfonds. Den Vertrauensverlust in Texte, die als KI-generiert offengelegt sind, erklären die beiden mit geringerer wahrgenommener Legitimität, nicht mit Zweifeln an der Qualität des Ergebnisses. Bei Befragten mit positiver Technikeinstellung fällt er schwächer aus, verschwindet aber nicht.
Meinem Kunden habe ich nach dem Issue von heute Morgen eine SMS geschrieben und das Thema offen angesprochen. Das hat die Sache ohne Verstimmung entschärft. Wir wissen jetzt beide, dass unsere Agenten miteinander reden. Unausgesprochen wäre die Kommunikation ein schleichendes Gift geworden. Er hätte sich irgendwann gefragt, warum ich so distanziert schreibe. Ich hätte mich gefragt, warum er mich neuerdings für begriffsstutzig hält.
Brandgefährlich ist das Ganze ausgerechnet bei Menschen wie ihm: bei denen, mit denen ich seit Jahren eng zusammenarbeite, ob im Kundenprojekt oder bei Open Source. Sie kennen mich persönlich, und genau deshalb richtet ein fremder Ton den größten Schaden an. Da steht ein Text, der schlicht nicht ich bin, und der Empfänger kennt mich gut genug, um genau das zu spüren. In gewachsenen Arbeitsbeziehungen kann er die Kommunikation zerreißen.
Entwicklung & Code
Microsoft leitet letzte Phase für SQL Data Sync ein
Microsoft hat die nächste Stufe bei der Einstellung von SQL Data Sync gezündet: Seit dem 9. September lassen sich in Azure-Abonnements, die den Dienst bislang nicht genutzt haben, keine neuen SQL-Data-Sync-Bereitstellungen mehr anlegen. Bestehende Nutzer können Sync-Gruppen und Mitgliedsdatenbanken dagegen noch bis zum vollständigen Aus des Dienstes am 30. September 2027 erstellen, ändern und betreiben.
Weiterlesen nach der Anzeige
Die Einstellung hatte Microsoft bereits 2024 mit dreijähriger Übergangsfrist angekündigt. SQL Data Sync gleicht ausgewählte Daten zwischen mehreren Datenbanken ab, sowohl zwischen Azure SQL Database als auch mit SQL-Server-Instanzen im eigenen Rechenzentrum. Die Daten können dabei je nach Konfiguration in beide Richtungen fließen. Microsoft beschreibt die Einstellung und die vorgesehenen Migrationspfade in seiner Dokumentation.
Keine Einschränkung für bestehende Abonnements
Die neue Einschränkung trifft ausdrücklich ausschließlich Azure-Abonnements, die SQL Data Sync zuvor nie eingesetzt haben. Für Abonnements, die SQL Data Sync bereits nutzen, ändert sich zunächst nichts: Administratoren dürfen weiterhin Sync-Gruppen anlegen und verwalten sowie Datenbanken als Mitglieder hinzufügen. Microsoft will damit verhindern, dass kurz vor dem Endtermin noch neue Abhängigkeiten von dem auslaufenden Dienst entstehen. Die Details zur nun begonnenen letzten Ausmusterungsphase nennt Microsoft im Azure-SQL-Blog.
SQL Data Sync organisiert die Replikation in Sync-Gruppen nach einem Hub-and-Spoke-Prinzip. Als Hub dient stets eine Azure SQL Database; weitere Azure-SQL-Datenbanken oder SQL-Server-Datenbanken können als Mitglieder teilnehmen. Bei lokalen SQL-Server-Datenbanken ist zusätzlich ein lokaler Sync-Agent nötig. Der Dienst kann Daten in beide Richtungen oder nur vom Hub zu einem Mitglied beziehungsweise umgekehrt übertragen.
Inventur vor der Migration
Microsoft rät betroffenen Organisationen, zunächst alle vorhandenen Bereitstellungen zu erfassen – auch inaktive Sync-Gruppen. Dazu gehören Hub- und Mitgliedsdatenbanken, gegebenenfalls installierte Sync-Agenten sowie die Anwendungen, die auf replizierte Daten angewiesen sind. In kleineren Umgebungen lassen sich die Sync-Gruppen über den Bereich „Sync to other databases“ einer Azure SQL Database im Azure-Portal prüfen. Für größere Azure-Landschaften verweist Microsoft auf die PowerShell und die Azure-SQL-Management-REST-API.
Vor der Umstellung sollten Administratoren außerdem Datenfluss, Synchronisierungsrichtung, Intervall, Datenvolumen sowie Anforderungen an Latenz und Verfügbarkeit festhalten. Das ist wichtig, weil SQL Data Sync kein einheitliches Nachfolgeprodukt erhält. Je nach bisherigem Einsatz kann die Migration eine bloße Umkonfiguration sein oder einen Umbau der Replikationsarchitektur erfordern.
Weiterlesen nach der Anzeige
Ersatz hängt vom Einsatzfall ab
Für geplante oder inkrementelle Übertragungen nennt Microsoft Azure Data Factory als Alternative. Das eignet sich etwa, wenn Daten in festen Intervallen für ein Data Warehouse oder einen Reporting-Bestand kopiert werden sollen. Für die einseitige Verteilung von SQL Server zu Azure SQL Database verweist der Konzern auf die transaktionale Replikation.
Geht es vor allem um lesende Replikate oder regionale Verfügbarkeit, kommen etwa aktive Georeplikation und Read Replicas infrage. Für Reporting-Replikate vollständiger Datenbanken nennt Microsoft Always On Availability Groups bei SQL Server auf Azure-VMs sowie Managed Instance Link bei Azure SQL Managed Instance. Daneben führt die Migrationsdokumentation Azure Functions mit Azure-SQL-Triggern für anwendungsspezifische Synchronisation sowie Mirroring in Microsoft Fabric für Analyseumgebungen auf. Welche Variante passt, hängt unter anderem von Quell- und Zielplattform, Datenrichtung, Topologie, zulässiger Verzögerung und Durchsatz ab. Die Migrationsdokumentation enthält dazu eine Übersichtstabelle, die alle Pfade nach Quell- und Zielplattform aufschlüsselt.
Nach erfolgreicher Validierung der Ersatzlösung in einer Nicht-Produktivumgebung empfiehlt Microsoft, die automatische Synchronisierung der bisherigen Gruppe vorübergehend abzuschalten. Erst wenn Anwendungen nicht mehr auf SQL Data Sync angewiesen sind, sollten Unternehmen die alten Ressourcen entfernen. Spätestens zum 30. September 2027 muss der Umstieg abgeschlossen sein.
(fo)
Entwicklung & Code
Neu in .NET 10.0 [40]: JSON Patch zum reinen Testen von Werten
Um Werte zu testen, ohne etwas zu ändern, lässt sich in .NET 10.0 JSON Patch verwenden.
Weiterlesen nach der Anzeige

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
Das folgende Beispiel zeigt die Anwendung der neuen Klasse JsonPatchDocument aus System.Text.Json Version 10.0 auf ein JSON-Patch-Dokument, dass nur aus Test-Operationen besteht:
CUI.H2("Testen mit JSON Patch-Dokument");
string jsonPatchTest = """
[
{ "op": "test", "path": "/FirstName", "value": "Dr. Holger" },
{ "op": "test", "path": "/PrivateEmail", "value": null},
{ "op": "test", "path": "/PrivateWebsite", "value": null},
{ "op": "test", "path": "/Address/ZipCode", "value": "45257" }
]
""";
// JSON Patch-Dokument laden
JsonPatchDocument? patchTestDoc = JsonSerializer.Deserialize>(jsonPatchTest);
// JSON Patch-Dokument anwenden auf das Person-Objekt
patchTestDoc!.ApplyTo(person, patchError => CUI.PrintError(patchError.ErrorMessage));
In diesem Fall gibt es keine Fehlerausgabe. Wenn man das JSON-Patch-Dokument aber verändert
CUI.H2("Reines Testen eines Objekts mit JSON Patch-Dokument (absichtlich mit drei Fehlern!)");
string jsonPatchTest = """
[
{ "op": "test", "path": "/FirstName", "value": "Dr.Holger" },
{ "op": "test", "path": "/PrivateEmail", "value": null},
{ "op": "test", "path": "/PrivateWebsite", "value": ""},
{ "op": "test", "path": "/Address/ZipCode", "value": "45251" }
]
""";
bekommt man drei Fehlermeldungen:

Drei Fehler zeigt die Ausgabe (Abb. 1).
Dabei ist die Fehlermeldung bei 'PrivateWebsite' ungünstig, denn sie unterscheidet nicht zwischen Leerstring und Null. Im Objekt steht null, getestet wird auf Leerstring. In der Fehlermeldung steht jedoch in beiden Fällen ' '.
Weiterlesen nach der Anzeige
(rme)
Entwicklung & Code
Kommentar: Wenn Transparenz mit einem Rätsel beginnt
In weniger als vier Monaten sollen die Deutschen ihren Ausweis, Führerschein und vielleicht irgendwann auch ihr Schulzeugnis und den Kaninchenzuchtstammbaum auf dem Smartphone vorzeigen können. Eine Brieftasche als App halt. Ein echter, guter Fortschritt – den die EU ja auch erzwingt. Angesichts des offensichtlichen Security-Schabernacks ist das aber auch ein Projekt, das dringend Vertrauen bei den Bürgern aufbauen muss. Der neue Name, den Bundesdigitalminister Karsten Wildberger (CDU) dafür bei einer Veranstaltung in Berlin verkündet hat, lautet: d-you.
Weiterlesen nach der Anzeige

Moritz Förster schreibt seit 2012 für die iX und heise online. Er betreut neben dem iX-Channel den Bereich Arbeitsplatz.
Stop mal – d-you. Was ist denn das? Eine Dating-App? Ein Jugendportal? Ein Motivationspodcast? Wer nicht ohnehin schon von der EUDI-Wallet gehört hat, wird daraus niemals schlau und installiert die App schon einmal gar nicht. So wird ein dämlicher Name zu einem unnötigen Problem.
Ein Name ist keine Kosmetik
Natürlich entscheidet kein Name allein darüber, ob eine Technologie bei IT-affinen Nutzern angenommen wird oder nicht. Sicherheit, Datenschutz, einfache Einrichtung und echte Anwendungsfälle zählen da mehr. Aber der Name ist der erste Berührungspunkt für den Otto-Normal-Bürger. Der kommt dann noch nicht einmal zum Download, liest den verklausulierten Datenschutzhinweis oder erkundet die tollen Funktionen in der App. Ein guter Name beantwortet schon davor und in Millisekunden die Frage: Worum geht es hier, und ist das etwas für mich?
Die Technikakzeptanzforschung weiß das seit Jahrzehnten. Fred Davis zeigte bereits 1989 in seinem Technology Acceptance Model, dass Menschen neue Technologien vor allem dann nutzen, wenn sie deren Nutzen verstehen und sie als leicht handhabbar wahrnehmen. Spätere Forschung ergänzte soziale Einflüsse und Rahmenbedingungen. Was all diese Modelle gemeinsam haben: Der erste kognitive Eindruck zählt. Und im Gegensatz dazu erzeugt ein Name, der keine Orientierung gibt, Reibung – und zwar noch bevor jemand die Funktionen der App überhaupt wahrgenommen hat.
Leer, nicht nur englisch
Weiterlesen nach der Anzeige
Die berechtigte Kritik an d-you ist keine Kulturkritik an Anglizismen. Kunstnamen können funktionieren. Apple erklärt keine Computer, O2 erklärt keinen Mobilfunk. Aber private Marken kaufen sich über Jahre Bedeutung ein: durch Werbung, durch Nutzung, durch Wiederholung. Eine staatliche Identitätsinfrastruktur startet unter anderen Bedingungen. Sie und das Technikkonzept sind für die Bürger neu. Sie berührt sensible Daten. Und sie muss von möglichst vielen Menschen verstanden und genutzt werden, damit sie sich durchsetzt. Dafür genügen nicht nur wenige Early Adopter, die sich ohnehin für digitale Verwaltung interessieren.
d-you ist dabei nicht einmal ein besonders starker Kunstname. Das „d“ könnte für Deutschland stehen, muss es aber nicht. „you“ verspricht Individualität, sagt aber nichts über die Funktion. Der Bindestrich macht die Schreibweise erklärungsbedürftig. Und die Aussprache? „Di-ju“? „Dü“? In Behördenbriefen, Suchmaschinen und mündlicher Weitergabe werden schon bald Varianten kursieren. Vor allem aber: Kein Wort im Namen verrät, dass es hier um Ausweis, Nachweise oder digitale Identität geht. d-you ist also nicht zu Englisch, sondern zu leer.
Die Metapher, die man weggeworfen hat
Mein Gegenvorschlag: schlicht „Digitale Brieftasche“ und gut ist. Das ist technisch gesehen natürlich keine perfekte Bezeichnung. Eine Brieftasche liegt in der Tasche, ist offline, gehört einem allein. Und eine staatliche Wallet ist Software, Sicherheitsarchitektur und Schnittstelle zu Behörden und Unternehmen zugleich. Die EU-Kommission beschreibt die EUDI-Wallet als Ort für digitale Identitätsdaten und attestierte Nachweise. Die Metapher hängt sich also in vielen Details auf.
Aber sie stimmt im Wesentlichen: Eine Brieftasche verwahrt persönliche Dokumente, gibt sie auf Nachfrage vor und bleibt unter der Kontrolle ihres Besitzers. Das ist genau das, was die Wallet verspricht. Die Metapher ist eben ein brauchbarer Einstieg. Und genau deshalb hätte man sie nicht durch einen Fantasienamen ersetzen müssen.
Wildberger betonte bei der Vorstellung, wie wichtig ihm Kontrolle und Transparenz für die Bürgerinnen und Bürger seien. Das ist das offensichtlich richtige Versprechen. Aber wer Datensouveränität verspricht, sollte nicht mit sprachlicher Intransparenz beginnen.
(fo)
-
Entwicklung & Codevor 1 MonatKommentar: KI-Verbote in Open-Source-Projekten können KI nicht stoppen
-
UX/UI & Webdesignvor 2 MonatenRegional & mit Gefühl: Identity für Klimafonds Baden-Württemberg › PAGE online
-
UX/UI & Webdesignvor 2 MonatenVom Scribble zur Sammelkarte: Kreativer KI-Workflow mit Adobe Photoshop, Illustrator und Firefly Boards › PAGE online
-
Datenschutz & Sicherheitvor 2 MonatenKommentar: OpenAI – KI-Sicherheit nur ein Marketing-Gag?
-
Online Marketing & SEOvor 2 MonatenGoogle Unternehmensprofil optimieren ► Anleitung & Tipps
-
Künstliche Intelligenzvor 3 Monaten
Top 10: Der beste ergonomische Bürostuhl im Test – Herman Miller vor Flexispot
-
Künstliche Intelligenzvor 3 Monaten
Top 10: Der beste Saugroboter mit Wischfunktion im Test – Testsieger Roborock
-
UX/UI & Webdesignvor 3 MonatenSchriftfamilie Mainboard: Technisch und windschnittig › PAGE online
