Category: Entwicklung

Schnell Software entwickeln: Lektionen gelernt

2025-07-14

Dieser Beitrag beschreibt die gewonnenen Erkenntnisse beim schnellen Entwickeln von Software. Der Autor plädiert für realistische Qualitätsziele basierend auf den Projektbedürfnissen und betont einen Ansatz mit „groben Entwürfen“, bei dem zunächst ein funktionsfähiger Prototyp erstellt und dann verfeinert wird. Strategien beinhalten die Vereinfachung von Anforderungen, die Vermeidung von Ablenkungen und das Vornehmen kleiner, gezielter Codeänderungen. Der Autor hebt auch wertvolle Fähigkeiten wie das Lesen von Code, die Datenmodellierung, das Skripting und das Debugging sowie die effiziente Nutzung von LLMs zur Beschleunigung der Entwicklung hervor. Es ist eine praktische Anleitung für Entwickler, die ihre Effizienz verbessern und hochwertige Software liefern möchten.

Entwicklung

GParted Live 1.7.0 veröffentlicht: 32-Bit-Support eingestellt, verbesserte Sicherheit

2025-07-14
GParted Live 1.7.0 veröffentlicht: 32-Bit-Support eingestellt, verbesserte Sicherheit

GParted Live 1.7.0 ist da und beendet die Unterstützung für 32-Bit-Systeme. Es werden nur noch 64-Bit-Versionen angeboten. Dieses Update beinhaltet GParted 1.7.0, Linux-Kernel 6.12.37 und einen neuen Mechanismus, der die versehentliche Auswahl der falschen Festplatte beim Booten verhindert, indem die zufällige Reihenfolge von Blockgeräten vermieden wird. GParted Live ist ein leichtgewichtiges Tool zur Festplattenpartitionierung; keine Installation notwendig, ideal für Fehlerbehebung und Notfälle. Eine Option für sichere Grafikeinstellungen steht zur Verfügung, falls der grafische Desktop nicht angezeigt wird.

Arch: Ein modulares Edge- und KI-Gateway für agentenbasierte Anwendungen

2025-07-14
Arch: Ein modulares Edge- und KI-Gateway für agentenbasierte Anwendungen

Arch ist ein modularer Edge- und KI-Gateway-Proxy-Server, der entwickelt wurde, um die Erstellung agentenbasierter Anwendungen zu vereinfachen. Er übernimmt die mühsame Low-Level-Arbeit, wie das Anwenden von Schutzmaßnahmen, das Klären mehrdeutiger Benutzereingaben, das Weiterleiten von Prompts an den richtigen Agenten und die Vereinheitlichung des Zugriffs auf jedes LLM, sodass Entwickler agentenbasierte Anwendungen schneller erstellen und bereitstellen können. Basierend auf Envoy bietet Arch Funktionen wie Routing, Schutzmaßnahmen und Observability und unterstützt verschiedene Sprachen und Frameworks. Ein einfaches Beispiel für einen Währungsumrechnungsagenten zeigt die Benutzerfreundlichkeit, wobei die Interaktion über curl-Befehle erfolgt. Arch unterstützt sowohl modellbasierte als auch präferenzbasierte LLM-Routing-Strategien und bietet detaillierte Protokollierung und Observability.

Ada: Die überraschend widerstandsfähige Programmiersprache

2025-07-14
Ada: Die überraschend widerstandsfähige Programmiersprache

Paul Jansen, CEO von Tiobe, prognostiziert, dass Ada, eine Systemprogrammiersprache aus den späten 1970er Jahren, Sprachen wie Visual Basic, Perl und Fortran überleben könnte. Während Top-Sprachen wie Python, C# und Java in den letzten zwei Jahren kaum Veränderungen im Tiobe-Index gezeigt haben, weisen ältere Sprachen mehr Schwankungen auf. Jansen setzt auf das Überleben von Ada aufgrund ihrer Stärke in sicherheitskritischen Systemen, einem Bereich mit wachsenden Sicherheitsanforderungen. Derzeit belegt Ada den 10. Platz im Index, gleichauf mit Delphi/Object Pascal.

Entwicklung

Idris erhält Bindungsanwendung: Ein neues Sprachfeature

2025-07-14

Idris erhält ein neues Feature namens "Bindungsanwendung", syntaktischer Zucker, der das Schreiben von abhängigen Paaren und anderen Typkonstruktionen in der abhängigen Typenprogrammierung vereinfacht. Dies vermeidet die Abhängigkeit von spezieller Compiler-Magie und macht die Leistungsfähigkeit für alle Entwickler zugänglich. Der Beitrag beschreibt die Verwendung in Sigma-Typen, Exists-Typen, Subset-Typen, Ornaments, ForAll, ForSome und sogar For-Schleifen und zeigt, wie er die Lesbarkeit und Effizienz des Codes verbessert und die abhängige Typenprogrammierung in Idris prägnanter und intuitiver macht.

Entwicklung Sprachfeature

Raycast-inspirierter Launcher kommt auf Linux: Open Source und erweiterbar

2025-07-14
Raycast-inspirierter Launcher kommt auf Linux: Open Source und erweiterbar

Ein Open-Source-Projekt, Raycast Linux, bringt den beliebten macOS-Launcher Raycast auf Linux. Es bietet eine erweiterbare Befehlspalette, Unterstützung für Erweiterungen (mit Kompatibilitätsbeschränkungen aufgrund von Unterschieden zwischen den Betriebssystemen), einen leistungsstarken Taschenrechner, einen Verlauf der Zwischenablage, Snippet-Management und KI-Integration über OpenRouter. Obwohl eine breite Kompatibilität mit Raycast-Erweiterungen angestrebt wird, funktionieren einige möglicherweise aufgrund von macOS-spezifischen APIs oder Abhängigkeiten nicht. Es wurde mit Rust, Node.js, Tauri und Swift entwickelt, ist als AppImage verfügbar und bietet die Möglichkeit, es aus dem Quellcode zu kompilieren.

Entwicklung Launcher

APKLab: Die ultimative Android Reverse Engineering Erweiterung für VS Code

2025-07-14
APKLab: Die ultimative Android Reverse Engineering Erweiterung für VS Code

APKLab integriert nahtlos leistungsstarke Open-Source-Tools wie Quark-Engine, Apktool, Jadx und mehr direkt in VS Code und bietet so ein umfassendes Android Reverse Engineering Erlebnis. Decodieren Sie Ressourcen, disassemblieren Sie zu Smali, dekompilieren Sie zu Java, generieren Sie Malware-Analyseberichte und führen Sie HTTPS-Inspektionen durch – alles innerhalb Ihrer bevorzugten IDE. Funktionen umfassen Unterstützung für benutzerdefinierte Keystore-Signierung, Git-Repository-Initialisierung und plattformübergreifende Kompatibilität (Linux, Windows, macOS).

OpenCut: Ein datenschutzorientierter Open-Source-Videoeditor

2025-07-14
OpenCut: Ein datenschutzorientierter Open-Source-Videoeditor

OpenCut ist ein kostenloser Open-Source-Videoeditor für Web, Desktop und mobile Geräte. Die Privatsphäre der Benutzer steht im Vordergrund, alle Videos bleiben auf dem Gerät des Benutzers. Obwohl die grundlegenden Funktionen derzeit hinter einer Paywall liegen, ist die Benutzerfreundlichkeit bewiesen. Es bietet zeitleistenbasierte Bearbeitung, Multi-Track-Support, Echtzeit-Vorschau und ist frei von Wasserzeichen oder Abonnements. Erstellt mit Next.js, umfasst das Projekt UI-Komponenten, benutzerdefinierte React-Hooks, Utility- und API-Logik, Zustandsverwaltung und TypeScript-Typen. Detaillierte Setup- und Beitragsrichtlinien werden bereitgestellt; Beiträge sind willkommen.

Ihre Daten, Ihre Privatsphäre: Lokal laufender KI-Schreibassistent

2025-07-14
Ihre Daten, Ihre Privatsphäre: Lokal laufender KI-Schreibassistent

Diese macOS-Anwendung verwendet lokal laufende Large Language Models (LLMs), um sicherzustellen, dass Ihre Dokumente, Texte und Schriften Ihren Mac nicht verlassen. Sie ist mit den meisten macOS-Anwendungen kompatibel, darunter Mail, Nachrichten, Safari und viele mehr. Es gibt eine 7-tägige kostenlose Testversion (keine Kreditkarte erforderlich) und einen 50%igen Rabatt für Studenten und Pädagogen. Die gesamte Verarbeitung erfolgt lokal, wobei Ihre Datenprivatsphäre und -sicherheit im Vordergrund stehen.

Entwicklung

Lernen wir x86-64 Assembler! Teil 0 - Einrichtung und erste Schritte

2025-07-14

Dieser Blogbeitrag ist der erste Teil einer Serie über die x86-64 Assemblersprache. Der Autor beschreibt den veralteten x86 Assemblerunterricht an der Universität und beschließt, ein modernes Tutorial zu schreiben. Das Tutorial verwendet Flat Assembler (FASM) und WinDbg und erklärt grundlegende Konzepte wie Register, Speicheradressen und die 64-Bit-Windows-Aufrufkonvention. Ein einfaches Windows-Programm wird erstellt, das die Kompilierung mit FASM und das Debugging mit WinDbg demonstriert.

Entwicklung x86-64 Assembler

Infisical sucht einen Leiter für Entwicklerbeziehungen, um die Zukunft der Open-Source-Sicherheit zu gestalten

2025-07-13
Infisical sucht einen Leiter für Entwicklerbeziehungen, um die Zukunft der Open-Source-Sicherheit zu gestalten

Infisical, die Open-Source-Sicherheitsinfrastrukturplattform, die von Y Combinator, Google und Elad Gil unterstützt wird, sucht einen Experten für Entwicklerbeziehungen. Diese Rolle erfordert einen starken technischen Hintergrund und außergewöhnliche Kommunikationsfähigkeiten, um ansprechenden technischen Content (Blogs, Videos, Livestreams) zu erstellen und das Engagement der Community zu fördern. Der ideale Kandidat wird über fundierte Kenntnisse in Softwareentwicklung, Entwicklertools und Infrastruktur verfügen und sich mit der Erstellung von Inhalten in verschiedenen Formaten wohlfühlen. Dies ist eine herausfordernde und schnelllebige Gelegenheit, die Entwickler-Community-Strategie von Infisical zu gestalten und Entwicklern zu helfen, Geheimnisse, PKI, Schlüssel und SSH-Workflows sicher zu verwalten.

Entwicklung Entwicklerbeziehungen

C++ Coroutinen: Ein tiefer Einblick in die Anpassung

2025-07-13

C++ Coroutinen sind keine gebrauchsfertigen Bibliotheken wie `std::vector`; sie sind eine Spezifikation, die Anpassungspunkte definiert, die von Bibliotheksautoren implementiert werden müssen. Sie erweitern das Funktionskonzept und unterstützen die Operationen Suspend, Resume und Destroy. Das Schlüsselwort `co_await` markiert eine Coroutine, und `Task::promise_type` passt das Verhalten an Aufruf-, Rückgabe-, Suspend- und Resume-Punkten an. Die Mechanismen `awaiter` und `awaitable` verwalten das Suspend und Resume, ermöglichen das Resume, wenn Abhängigkeiten bereit sind, und bieten eine flexible asynchrone Programmierung.

Entwicklung

TorchLeet: Ein PyTorch Deep Learning Übungsplatz

2025-07-13
TorchLeet: Ein PyTorch Deep Learning Übungsplatz

TorchLeet ist eine Sammlung von PyTorch Übungsaufgaben, unterteilt in zwei Sätze: einen grundlegenden Satz, der grundlegende bis fortgeschrittene PyTorch Konzepte abdeckt (lineare Regression, benutzerdefinierte Datensätze, CNNs usw.), und einen herausfordernden LLM Satz, der sich auf den Aufbau von LLMs von Grund auf konzentriert (Aufmerksamkeitsmechanismen, Einbettungen usw.). Jedes Problem bietet unvollständigen Code mit Lösungen und fördert so praxisnahes Lernen. Perfekt für Anfänger und Experten.

Entwicklung

C3s Temp-Allokator: Automatische Speicherverwaltung ohne Overhead

2025-07-13
C3s Temp-Allokator: Automatische Speicherverwaltung ohne Overhead

C3 führt eine neuartige Speicherverwaltungslösung namens Temp-Allokator ein, die die Benutzerfreundlichkeit der Garbage Collection mit der Leistung der manuellen Speicherverwaltung kombiniert. Mittels Speicherregionen (Arenen) gibt der Temp-Allokator den Speicher automatisch frei, wenn der Gültigkeitsbereich einer Funktion endet, wodurch Speicherlecks vermieden werden, ohne die Komplexität von RAII, Referenzzählung oder Garbage Collection. Mit dem `@pool()`-Makro werden Speicherregionen definiert, sodass Entwickler die Lebenszyklen temporärer Variablen einfach verwalten können. Valgrind-Tests belegen die Effektivität. C3 fügt sogar automatisch einen `@pool()`-Bereich zur `main()`-Funktion hinzu, wenn keiner explizit angegeben ist, wodurch der Entwicklungsprozess weiter vereinfacht wird. Der Temp-Allokator ermöglicht es C3-Entwicklern, die Leistung der manuellen Speicherverwaltung zu nutzen, ohne das Risiko von Speicherlecks.

Entwicklung Temp-Allokator

Einfache Homelab-Überwachung: Prometheus abschaffen für ein kleines Go-Programm

2025-07-13

Angesichts komplexer Überwachungstools hat der Autor ein minimalistisches Überwachungssystem für sein Homelab entwickelt. Dieses Go-Programm prüft regelmäßig HTTP, DNS usw. und sendet Benachrichtigungen über ntfy.sh. Es ist leichtgewichtig, einfach zu warten und prüft nur, ob Dienste laufen, wobei Fehler- und Wiederherstellungsbenachrichtigungen gesendet werden – keine historischen Daten oder Dashboards erforderlich. Darüber hinaus fungiert healthchecks.io als Dead Man's Switch, um zu verhindern, dass das Überwachungsprogramm selbst unbemerkt bleibt. Obwohl einfach, erfüllt dieses System die Bedürfnisse des Autors und vermeidet komplexe Konfiguration und Wartung.

Entwicklung

Tool-Aufruf über REST API: Schritt-für-Schritt-Anleitung

2025-07-13
Tool-Aufruf über REST API: Schritt-für-Schritt-Anleitung

Dieser Artikel zeigt, wie man Tools über eine REST API aufruft und so die Interaktion zwischen einem LLM und externen Tools ermöglicht. Am Beispiel der Anfrage "Haben Sie AirPods Pro auf Lager?" wird ein zweistufiger Prozess beschrieben: Senden der Aufforderung und der Tool-Definitionen an den Endpunkt des LLM-Anbieters und anschliessend Empfangen der Antwort des LLM mit dem Tool-Aufruf. Dies verdeutlicht, wie LLMs externe Tools nutzen können, um ihre Fähigkeiten zu erweitern und komplexere Aufgaben zu bewältigen.

Entwicklung

Kritik an Grahams Lisp-Codierungsstil

2025-07-13

Diese Rezension analysiert die Wartbarkeit und Portabilität von Grahams Lisp-Code und findet ihn prägnant mit kurzen und gut motivierten Funktionsdefinitionen. Sie kritisiert jedoch seinen übermäßig kurzen und kryptischen Namensstil, die übermäßige Verwendung von verschachtelten if-Anweisungen, die Vermeidung von Schleifenkonstrukten und die Bevorzugung von Rekursion gegenüber Iteration, sogar mit dem Risiko von Stack-Overflows. Diese stilistischen Entscheidungen weichen von gängigen Lisp-Praktiken ab und können die Lesbarkeit des Codes negativ beeinflussen.

Entwicklung Programmierpraktiken

KI-Coding-Tools: Produktivitätkiller?

2025-07-13
KI-Coding-Tools: Produktivitätkiller?

Ein randomisierter kontrollierter Versuch mit 16 erfahrenen Entwicklern ergab, dass KI-Coding-Tools entgegen den Erwartungen die Softwareentwicklungsgeschwindigkeit um 19 % verlangsamten. Die Studie führte diese Verlangsamung auf Faktoren wie übertriebenen Optimismus hinsichtlich des Nutzens von KI, hohe Vertrautheit der Entwickler mit dem Code-Repository, die Komplexität großer Repositorys und die geringe Zuverlässigkeit von KI zurück. Obwohl KI-Tools Tests beschleunigen und Aufgaben automatisieren können, machen die Notwendigkeit der manuellen Code-Validierung und das Fehlen von Lernfähigkeiten die gesamten Zeitersparnisse zunichte. Die Autoren betonen, dass diese Ergebnisse das zukünftige Potenzial von KI-Tools nicht ausschließen, sondern die aktuellen Einschränkungen hervorheben.

Entwicklung

Plädoyer für eine kostenpflichtige Firefox-Version

2025-07-13
Plädoyer für eine kostenpflichtige Firefox-Version

Ein langjähriger Mozilla-Unterstützer plädiert für eine kostenpflichtige Version von Firefox. Er argumentiert, dass das aktuelle werbefinanzierte Modell letztendlich zu einer Produktverschlechterung und einer beeinträchtigten Benutzererfahrung führt. Eine kostenpflichtige Version würde es Nutzern ermöglichen, die Firefox-Entwicklung direkt zu finanzieren und eine werbefreie, datenschutzorientierte Erfahrung zu erhalten. Eine kostenlose und Open-Source-Version bliebe verfügbar und gewährleistete die Zugänglichkeit. Der Autor glaubt, dass dieses Modell mehr Nutzer anziehen und Mozilla davor bewahren könnte, dem Beispiel von Facebooks „Enshittification“ zu folgen.

Sicheres Bereitstellen von Webservices mit Cloudflare Tunnel: Eine Anleitung für Anfänger

2025-07-13
Sicheres Bereitstellen von Webservices mit Cloudflare Tunnel: Eine Anleitung für Anfänger

Müde von komplexen Serverkonfigurationen und Sicherheitsproblemen? Cloudflare Tunnel bietet eine einfache und sichere Lösung zum Bereitstellen von Webservices, ohne Ports freizugeben. Durch die Erstellung einer ausgehenden Verbindung von Ihrem Server zum nächstgelegenen Cloudflare-Rechenzentrum wird der gesamte Datenverkehr über das sichere Cloudflare-Netzwerk geleitet, wodurch die Sicherheit und Zuverlässigkeit Ihres Servers unabhängig von seinem Standort gewährleistet wird. Diese Anleitung führt Sie durch die Einrichtung von Cloudflare Tunnel, einschließlich der Installation des cloudflared-Clients, der Erstellung eines Tunnels, der Konfiguration eines Systemdienstes und der Einrichtung von DNS-Einträgen – ein Prozess, der auch für Anfänger einfach zu handhaben ist.

GhidrAssistMCP: KI-gestützte Reverse Engineering für Ghidra

2025-07-13
GhidrAssistMCP: KI-gestützte Reverse Engineering für Ghidra

GhidrAssistMCP ist eine leistungsstarke Ghidra-Erweiterung, die einen MCP-Server (Model Context Protocol) bereitstellt und es KI-Assistenten und anderen Tools ermöglicht, über eine standardisierte API mit den Reverse-Engineering-Funktionen von Ghidra zu interagieren. Sie bietet 31 integrierte Tools für Funktionen, Daten, Querverweise und mehr, sowie eine konfigurierbare Benutzeroberfläche, Echtzeit-Protokollierung und dynamisches Tool-Management. Diese Erweiterung integriert nahtlos KI-gestützte Analysetools und benutzerdefinierte Skripte und steigert so die Effizienz der Reverse Engineering erheblich.

Entwicklung

pattrns: Eine innovative Musiksequenz-Engine in Rust und Lua

2025-07-13
pattrns: Eine innovative Musiksequenz-Engine in Rust und Lua

pattrns ist eine experimentelle Musiksequenz-Engine im imperativen Stil, geschrieben in Rust und mit einer Lua-Scripting-Schnittstelle für dynamische Musikerstellung, ideal für Live-Coding. Es verwendet eine dreistufige Architektur (Rhythmus, Gate, Emitter), die rhythmische und tonale Aspekte für flexible Komposition und Rekombination trennt. Es unterstützt auch Tidal Cycles Mini-Notation. Beachten Sie, dass pattrns nur rohe Musikereignisse generiert; Audioausgabe erfordert eine kompatible Anwendung.

Entwicklung Musikgeneration

Automatisieren Sie langweilige Aufgaben mit Python: Das unveröffentlichte Kapitel zu Audio/Video

2025-07-13

Die dritte Auflage von "Automatisieren Sie langweilige Aufgaben mit Python" enthält ein unveröffentlichtes Kapitel zur Arbeit mit Audio, Video und Webcams. Dieser Blogbeitrag teilt den Inhalt des Kapitels und beschreibt, wie man Python-Code schreibt, um Multimedia aufzunehmen und abzuspielen. Er behandelt Audio- und Videodatenformate, die Aufnahme von Webcams und Mikrofonen, das Abspielen von Audiodateien (mit playsound und Pygame), das Herunterladen von Videos mit yt-dlp und die Bearbeitung von Videos und Audio mit ffmpeg. Lernen Sie, Aufgaben wie die Stapelverarbeitung von Videodateien, die Erstellung von Zeitrafferaufnahmen oder die Integration einer Fotoautomatenfunktion in Ihre Anwendungen zu automatisieren.

Parsen, nicht validieren: Verbesserung der C-Sicherheit durch Typsicherheit

2025-07-13

Dieser Beitrag befürwortet einen „Parsen, nicht validieren“-Ansatz in der C-Programmierung. Durch die Definition benutzerdefinierter Typen (z. B. email_t, name_t) und das sofortige Parsen nicht vertrauenswürdiger Eingaben in diese Typen werden die inhärenten Risiken der Zeigermanipulation und Typinkompatibilitäten in C gemindert. Diese Strategie beschränkt die Behandlung von Rohzeichenketten auf die Systemgrenzen, verhindert den Missbrauch interner Funktionen und nutzt die Typprüfung des Compilers, um Fehler wie das Vertauschen von Parametern zu erkennen. Das Ergebnis ist robusterer und wartungsfreundlicher C-Code mit reduzierter Angriffsfläche.

Entwicklung

Aeron: Blitzschnelles Messaging für Hochleistungssysteme

2025-07-13
Aeron: Blitzschnelles Messaging für Hochleistungssysteme

Aeron ist ein Hochleistungs-Messaging-System mit niedriger Latenz, das UDP-Unicast, -Multicast und IPC unterstützt. Es bietet Java-, C-, C++- und .NET-Clients für einen effizienten Nachrichtenaustausch zwischen Rechnern oder über IPC. Aeron zeichnet sich durch einen außergewöhnlichen Durchsatz und eine vorhersehbar niedrige Latenz aus und nutzt Simple Binary Encoding (SBE) zur Optimierung der Nachrichtenverarbeitung. Zu den Funktionen gehören Aeron Archive für die persistente Nachrichtenlagerung und Aeron Cluster für fehlertolerante Dienste. Im Besitz und betrieben von Adaptive Financial Consulting, bietet Aeron auch Premium-Dienste wie Schulungen, Beratung und Performance-Verbesserungen wie Kernel-Bypass und Hochgeschwindigkeitsverschlüsselung. Ideal für den Aufbau von Hochfrequenz-Handelssystemen und anderen anspruchsvollen Anwendungen.

Entwicklung Messaging

Desaster in einem F&E-Startup: Ein kostspieliger Fehler bei der Datenerfassung

2025-07-13
Desaster in einem F&E-Startup: Ein kostspieliger Fehler bei der Datenerfassung

Ein F&E-Startup, das eine psychologische Studie durchführte, verlor alle gesammelten Daten aufgrund eines einfachen, aber verheerenden Fehlers. Der PHP-Code verwendete `mail() or die()`, wodurch das Skript vorzeitig beendet wurde, als das Senden einer E-Mail fehlschlug (aufgrund fehlenden Internetzugangs in der Testumgebung). Dies führte dazu, dass keine Daten in der Datenbank gespeichert wurden. Die Erfahrung unterstrich die Bedeutung einer eleganten Fehlerbehandlung und gründlicher Tests in verschiedenen Umgebungen. Das Team lernte aus dem kostspieligen Fehler, verbesserte seine Codierungspraktiken und wechselte von PHP zu sichereren Sprachen wie JavaScript, Go und Python.

Entwicklung

Zigs asynchrone I/O-Revolution: Entkopplung von Nebenläufigkeit und Ausführungsmodellen

2025-07-13
Zigs asynchrone I/O-Revolution: Entkopplung von Nebenläufigkeit und Ausführungsmodellen

Zig revolutioniert sein asynchrones I/O-Modell, um async/await von den Ausführungsmodellen zu entkoppeln und so die Code-Wiederverwendbarkeit und die Performance zu verbessern. Eine neue `Io`-Schnittstelle ermöglicht es Benutzern, I/O-Implementierungen anzupassen und unterstützt nebenläufige Operationen. `io.async` und `Future.await` vereinfachen die Ausdrucksweise der Nebenläufigkeit, ohne sich um das zugrundeliegende Ausführungsmodell kümmern zu müssen. Zig wird verschiedene `Io`-Implementierungen anbieten, darunter Thread-Pools, grüne Threads und stacklose Coroutinen, um verschiedene Anforderungen und Plattformkompatibilität zu erfüllen. Dies verbessert die Flexibilität und Effizienz von Zig bei der Behandlung asynchroner I/O und vermeidet das übliche Problem der "Funktionsfarbe" in der traditionellen asynchronen Programmierung.

Entwicklung Asynchrone I/O

arXivLabs: Kollaborative Entwicklung von arXiv-Funktionen

2025-07-13
arXivLabs: Kollaborative Entwicklung von arXiv-Funktionen

arXivLabs ist ein Rahmen, der die Zusammenarbeit an neuen arXiv-Funktionen direkt auf der Website ermöglicht. Die Teilnehmer müssen die Werte von arXiv für Offenheit, Gemeinschaft, Exzellenz und Datenschutz der Benutzerdaten übernehmen. Haben Sie eine Idee, um arXiv für seine Community zu verbessern? Erfahren Sie mehr über arXivLabs und beteiligen Sie sich!

Entwicklung

Coroutinen in C hacken: Ein verrücktes Makro-Experiment

2025-07-13

Dieser Artikel beschreibt, wie der Autor auf clevere Weise C-Makros verwendet, um Coroutinen in der Embedded-Softwareentwicklung zu implementieren, wodurch die Notwendigkeit eines RTOS umgangen und komplexe Steuerungsflusslogik vereinfacht wird. Der Autor veranschaulicht die Komplexität des traditionellen Zustandsmaschinenansatzes anhand eines LED-Blinkbeispiels und verwendet dann Makros, um Coroutinencode in explizite Zustandsmaschinen zu transpilieren und so eine asynchrone Funktionalität zu erreichen. Obwohl diese Methode ausführlich ist, zeigt sie die Möglichkeit der konkurrenten Programmierung ohne RTOS und unterstreicht die Kreativität des Programmierers und sein tiefes Verständnis von Low-Level-Techniken. Der Artikel schlussfolgert mit der Empfehlung, für ernsthafte Coroutinenentwicklung Rust zu verwenden.

Entwicklung

Sicheres Ausführen von Claude Code in Docker mit VSCode Dev Containern

2025-07-13
Sicheres Ausführen von Claude Code in Docker mit VSCode Dev Containern

Der Autor teilt seine Erfahrungen beim Umstieg von einem weniger sicheren AI-Codier-Setup zur Ausführung von Claude Code in einem Docker-Container mithilfe der Dev-Container-Funktion von VSCode. Er hebt die Sicherheitsrisiken hervor, die mit der direkten Ausführung von AI-Agenten auf dem lokalen Rechner verbunden sind, und befürwortet die isolierte Umgebung, die Docker bietet, wodurch der Zugriff von Claude Code auf das Dateisystem eingeschränkt wird. Eine detaillierte Einrichtungsanleitung wird bereitgestellt, einschließlich der Erstellung einer devcontainer.json-Datei und der Verwendung von fein granularisierten Zugriffstokens für GitHub, um den Lesern die Reproduktion der Einrichtung zu erleichtern.

Entwicklung
1 2 42 43 44 46 48 49 50 214 215