Category: Entwicklung

Kostenloses interaktives C-Tutorial gestartet

2025-04-27
Kostenloses interaktives C-Tutorial gestartet

learn-c.org hat ein kostenloses interaktives C-Programmiertutorial gestartet. Egal, ob Anfänger oder erfahrener Programmierer, diese Website richtet sich an alle, die C lernen möchten. Kein Download erforderlich; klicken Sie einfach auf ein Kapitel, um zu beginnen. Die Website befindet sich noch im Aufbau, und Beiträge sind willkommen.

Entwicklung

Fünf Jahre go-mysql-server bei Dolt: Die Reise einer Anfrage

2025-04-27
Fünf Jahre go-mysql-server bei Dolt: Die Reise einer Anfrage

Dieser Beitrag beleuchtet fünf Jahre der Nutzung von go-mysql-server durch Dolt und beschreibt die interne Funktionsweise seiner SQL-Engine. Er verfolgt den Weg einer Anfrage von der Analyse bis zur Ergebnisgenerierung, einschließlich Analyse, Bindung, Planvereinfachung, Join-Exploration, kostenbasierter Optimierung und Ausführung. Dolt verwendet einen linksrekursiven Parser und Bottom-up-dynamische Programmierung zur Optimierung des Abfrageplans und wählt mithilfe eines Kostenmodells die optimale Ausführungsstrategie aus. Der Beitrag behandelt auch die Speicherverwaltung und zukünftige Optimierungen, wie die Vereinheitlichung von Zwischenrepräsentationen und die Reduzierung von Speicher-Churn.

Entwicklung

GoEnums: Elegante Enum-Generierung für Go

2025-04-26
GoEnums: Elegante Enum-Generierung für Go

Müde von Go's fehlender nativer Enum-Unterstützung? GoEnums generiert umfassende, typsichere Enum-Implementierungen aus einfachen Konstantendeklarationen. Verwandeln Sie einfache iota-Konstanten in funktionsreiche Enums mit String-Konvertierung, Validierung, JSON-Handling, Datenbankintegration und mehr. GoEnums unterstützt benutzerdefinierte Felder, größenunabhängiges Parsen und bietet detaillierte Dokumentation und Beispiele. Vereinfachen Sie Ihren Go-Code mit GoEnums!

Entwicklung

Erstellung einer kompakten C-Standardbibliothek mit Newlib auf Bare-Metal RISC-V

2025-04-26
Erstellung einer kompakten C-Standardbibliothek mit Newlib auf Bare-Metal RISC-V

Dieser Artikel zeigt, wie man mit Newlib eine kompakte C-Standardbibliothek auf einem Bare-Metal RISC-V-System erstellt. Der Autor implementiert grundlegende UART-Funktionen und übergibt sie an Newlib, um die printf-Funktionalität zu ermöglichen. Der Prozess umfasst das Newlib-Konzept, die Einrichtung der Cross-Compilation-Toolchain, den UART-Treiber, Systemaufrufe und die Erstellung eines Linker-Scripts. Der Artikel endet mit der Ausführung der Anwendung in QEMU und der Analyse des Debug-Logs. Dies ist ein praktisches Tutorial zur Entwicklung von Embedded-Systemen, das zeigt, wie man die C-Standardbibliothek in ressourcenbeschränkten Umgebungen verwendet.

Entwicklung

HTTP Feeds: Asynchrones Event Streaming mit einfachem HTTP

2025-04-26

HTTP Feeds ist eine minimale Spezifikation für asynchrones Event Streaming und Datenreplikation mit einfachen HTTP-APIs. Es definiert einen einfachen HTTP GET-Endpunkt, der eine chronologisch geordnete Sequenz von CloudEvents in gebatchten Antworten zurückgibt. Mit dem Query-Parameter `lastEventId` können Clients unendlich lange für Echtzeit-Updates pollern und bieten eine Alternative zu Message Brokern (wie Kafka oder RabbitMQ). Die Spezifikation deckt auch Long Polling für niedrigere Latenz, Datenkompression und -löschung für Effizienz und die Behandlung von Event-IDs für robuste Event-Verarbeitung ab.

Entwicklung

CONL: Das Markdown für Konfigurationsdateien?

2025-04-26

Genervt von der Komplexität von JSON, YAML und TOML? Ein Softwareentwickler hat CONL erstellt, ein minimalistisches Format für Konfigurationsdateien, das als „Markdown“ für Konfigurationsdateien gedacht ist. CONL ist einfach zu lesen und zu bearbeiten, verfügt über ein JSON-ähnliches Datenmodell und ist einfach zu implementieren. Es unterstützt verschiedene Datentypen, darunter Skalare, Listen und Mappings, und bietet gute Unterstützung für mehrzeilige Strings. Der Autor stellt auch Implementierungen für Rust und Go sowie einen Language Server und eine Zed-Erweiterung bereit.

Entwicklung

Rocal UI: Eine einfache Template-Engine in Rust

2025-04-26
Rocal UI: Eine einfache Template-Engine in Rust

Rocal UI ist eine einfache Template-Engine in Rust. Obwohl sie hauptsächlich für die Verwendung mit dem Rocal-Framework zum Erstellen von Ansichten gedacht ist, kann sie in jedem Rust-Projekt verwendet werden. Die Syntax ist unkompliziert und unterstützt die Einbettung von Variablen, if-else-Anweisungen und for-Schleifen. Das `view!{}`-Makro generiert HTML-Strings, die verschachtelt werden können, was die Verwendung von partiellen Templates erleichtert. Beginnen Sie schnell mit `cargo install rocal --features="cli"` und `rocal new -n yourapp`.

Entwicklung Template-Engine

Tilt: Vereinfachung der Kubernetes-Microservice-Entwicklung

2025-04-26
Tilt: Vereinfachung der Kubernetes-Microservice-Entwicklung

Tilt vereinfacht die Entwicklung von Kubernetes-Microservices, indem es den gesamten Prozess von Codeänderungen bis hin zu neuen Prozessen automatisiert, einschließlich der Dateiüberwachung, des Erstellens von Container-Images und der Aktualisierung der Umgebung. Verabschieden Sie sich von umständlichen `docker build && kubectl apply`-Befehlen. Tilt bietet umfassende Tutorials und Anleitungen, unterstützt mehrere Programmiersprachen und verfügt über eine aktive Community und eine gut gepflegte Dokumentation. Selbst Kubernetes-Neulinge können schnell einsteigen und ihre Entwicklungseffizienz steigern.

Entwicklung

Der kuriose Ursprung des Rubber-Duck-Debuggings: Eine Geschichte von Pixar und Xerox PARC

2025-04-26

Die bekannte Debugging-Technik von Programmierern, das "Rubber-Duck-Debugging", hat einen überraschend nebulösen Ursprung. Dieser Artikel verfolgt den Ursprung der Technik, von der vagen ersten Erinnerung des Autors an Bell Labs oder Xerox PARC bis hin zu ihrer bestätigten Verbreitung in einem Pixar-Team. Die Geschichte handelt von Programmierern, die Probleme einer "Gummiente" (eigentlich einem Kollegen) erklären und das Problem oft während der Erklärung lösen. Es geht nicht einfach darum, Hilfe zu bitten; es geht darum, den Akt des Erklärens zu nutzen, um das eigene Denken zu klären. Obwohl Xerox PARC ein wahrscheinlicher Geburtsort ist, bleibt der genaue Ursprung ein Rätsel und wartet auf weitere Untersuchungen.

Stuffed-Naan: Daten verstecken vor aller Augen (mit NaNs)

2025-04-26
Stuffed-Naan: Daten verstecken vor aller Augen (mit NaNs)

Stuffed-Naan ist eine neuartige Bibliothek, die die Eigenheiten von JavaScript's NaN-Werten (Not a Number) nutzt, um Daten zu verbergen und zu übertragen. Durch geschickte Kodierung der Daten in die Mantisse von NaN-Werten bleibt die ursprüngliche Dateninformation auch nach mathematischen Operationen erhalten. Der Artikel stellt diese Bibliothek humorvoll vor und hebt die hohe Kompressionsrate, Geschwindigkeit und Datenschutzfunktionen hervor, wobei auch die zusätzlichen Funktionen der Enterprise Edition erwähnt werden. Obwohl skurril, nutzt es die Eigenschaften von IEEE 754 Gleitkommazahlen effektiv.

Entwicklung Daten verstecken

NNCPNET: Das Basteln mit E-Mail neu entdecken

2025-04-26

Von 1995 bis 2019 betrieb der Autor seinen eigenen E-Mail-Server, von UUCP über einen Apartment-Server bis hin zu einem VPS. Doch die Komplexität moderner E-Mail (SPF, DKIM, DMARC, TLS) machte die Verwaltung immer schwieriger. Daher entwickelte er NNCPNET, ein E-Mail-System basierend auf NNCP, einem sicheren, asynchronen und onion-routing fähigen Netzwerk. Ähnlich wie SSH zu Telnet, modernisiert NNCP den E-Mail-Transport. NNCPNET bietet einen Docker-Container (multi-arch, kompatibel mit Raspberry Pi) mit Exim, NNCP, Verifizierungswerkzeugen und automatisierten Knotenlisten-Updates. Einfach einzurichten, benötigt keine eingehenden Ports oder eine ständig aktive Internetverbindung und lässt sich sogar über IMAP mit Thunderbird verwenden. Entdecken Sie die Freude am Experimentieren mit E-Mail neu!

Entwicklung E-Mail-Server

DOS neu belebt: Eine USB-bootfähige Schreibmaschine für das 21. Jahrhundert

2025-04-26
DOS neu belebt: Eine USB-bootfähige Schreibmaschine für das 21. Jahrhundert

Die schiere Größe und Komplexität moderner Betriebssysteme, selbst Open-Source-Systeme, weckt oft Nostalgie nach den DOS-Zeiten. Ein einfaches, leichtgewichtiges Betriebssystem, DOS konnte von drei Dateien booten und die Konfiguration bestand darin, ein paar Textdateien zu bearbeiten. Heute bietet ein Community-Projekt eine USB-bootfähige DOS-Erfahrung, vorinstalliert mit klassischen Schreibprogrammen wie WordPerfect und Arnor Protext. Dies bietet eine ablenkungsfreie Schreibumgebung für diejenigen, die sich vom Internet trennen möchten. Obwohl es in seinen Funktionen eingeschränkt ist, bietet es eine überraschend effiziente und fokussierte Schreibeerfahrung, die an einfachere Zeiten erinnert.

Entwicklung Schreibwerkzeuge

RetrOS-32: Ein 32-Bit Hobby-Betriebssystem

2025-04-26
RetrOS-32: Ein 32-Bit Hobby-Betriebssystem

RetrOS-32 ist ein 32-Bit-Betriebssystem, geschrieben in C und Assembler, mit grafischen Fähigkeiten, Multitasking und Netzwerkfunktionalität. Es beinhaltet Benutzererstellung, ein Dateisystem und grundlegende Anwendungen wie Terminal, Taschenrechner und einfache Spiele. Das Projekt unterstützt verschiedene Hardware-Plattformen und bietet Docker-Images für die plattformübergreifende Kompilierung. Obwohl es sich noch in der Entwicklung befindet, bietet es beeindruckende Funktionen und ist ein bemerkenswertes Open-Source-Projekt.

Entwicklung

YC-geförderte KI-native QA-Plattform sucht Backend-Entwickler

2025-04-26
YC-geförderte KI-native QA-Plattform sucht Backend-Entwickler

GPT Driver, ein Seed-Stage-Startup für KI-native QA-Lösungen, gegründet von erfahrenen Entwicklern im Bereich mobile Apps, sucht einen Remote Backend/Plattform-Ingenieur. Das Produkt konzentriert sich auf End-to-End-Automatisierungstests für mobile Apps mit Plänen zur Erweiterung auf Web, Desktop und nicht-funktionale Tests. Die Stelle erfordert 3+ Jahre Erfahrung, Kenntnisse von cloudbasierten Backend-Systemen und Erfahrung (oder starkes Interesse) im Betrieb von mobilen Emulatoren/Simulatoren und Headless-Browsern. Wettbewerbsfähige Vergütung (4.000-7.000 USD/Monat), Remote-Arbeit und Aktienoptionen werden angeboten.

Entwicklung

Weniger tippen im Terminal mit diesem Tool

2025-04-26
Weniger tippen im Terminal mit diesem Tool

Empty Enter Expander ist ein zsh-Tool zur Steigerung der Terminal-Effizienz. Es ermöglicht die Ausführung vordefinierter Befehle mit wenigen Tastenanschlägen. Befehle werden in einem Modulverzeichnis gespeichert; Verzeichnisse und Dateinamen müssen mit Kleinbuchstaben beginnen und dienen als Abkürzungen. Beispielsweise führt nach der Eingabe von Enter 'g, l, Enter' einen vordefinierten git log-Befehl aus. Benutzer können Befehle und Abkürzungen anpassen, indem sie Skripte in die entsprechenden Unterverzeichnisse des Modulverzeichnisses legen. Die Konfiguration beinhaltet die Änderung der .zprofile-Datei, um den Modulpfad festzulegen und die zsh-Funktion einzubinden.

Entwicklung

CACM-Praxisabschnitt: Aufruf zur Einreichung von Artikeln

2025-04-26

Communications of the ACM (CACM) sucht Beiträge für seinen neuen Praxisabschnitt, der sich auf die Verbesserung der Fähigkeiten und der beruflichen Leistung von Informatikpraktikern konzentriert. Der Abschnitt nimmt Artikel über technische Fortschritte, Entwicklungspraktiken, Organisationsstrukturen, Beispiele erfolgreicher Systeme und andere relevante Themen entgegen. Die Artikel sollten breit anwendbar und aufschlussreich sein und hochspezialisierte Inhalte oder detaillierte Tutorials zu bestimmten Technologien vermeiden. Die Einreichungen sind auf 10 Seiten (ca. 6.000 Wörter) begrenzt und können zuvor in einem Blog veröffentlicht worden sein, aber nicht anderweitig offiziell veröffentlicht worden sein. Die Autoren behalten die Urheberrechte. Potenzielle Autoren werden aufgefordert, sich vor der Einreichung mit den Co-Vorsitzenden in Verbindung zu setzen.

Auf Wiedersehen, langsame Konfiguration: Parallelisierung der Build-Konfiguration mit Makefiles

2025-04-26

Der Autor Tavian Barnes kritisiert die Ineffizienz bestehender Build-Systeme (Autoconf, CMake, Meson usw.) in der Konfigurationsphase, die deutlich länger dauert als die Build-Phase. Er schlägt eine parallele Lösung basierend auf Makefiles vor, die die Effizienz deutlich verbessert, indem der Konfigurationsprozess in mehrere gleichzeitig ausführbare Aufgaben aufgeteilt wird. Die Kernidee besteht darin, die Parallelisierungsmöglichkeiten von make zu nutzen, um die ursprünglich sequenziellen Compiler-Test-Aufgaben zu parallelisieren und so die Konfigurationszeit von 38 Sekunden auf 0,4 Sekunden zu verkürzen. Der Artikel beschreibt die Implementierung im Detail, einschließlich Hilfsskripten, Makefiles-Schreibtechniken und Parallelisierungsstrategien. Dieser Artikel ist wertvoll für Entwickler, die schnellere Build-Zeiten anstreben.

Entwicklung

GS-Calc: Tabellenkalkulation, die Millionen von Zeilen mühelos verarbeitet

2025-04-25

GS-Calc ist eine moderne Tabellenkalkulation, die neu definiert, was „Big Data“ für Desktop-Software bedeutet. Sie verarbeitet mühelos riesige CSV- und XLSX-Dateien mit Millionen von Zeilen und Tausenden von Spalten und bietet unbegrenzt viele Arbeitsblätter und Unterordner. Ihre Leistungsoptimierungen übertreffen andere Tabellenkalkulationsprogramme deutlich bei Aufgaben wie dem Laden von Textdateien, Kopieren/Einfügen und VLOOKUP/MATCH-Funktionen. Darüber hinaus bietet GS-Calc leistungsstarke Funktionen wie robuste Pivot-Tabellen, Monte-Carlo-Simulationen, Unterstützung für reguläre Ausdrücke und Python-Integration, was sie zu einem idealen Werkzeug für die Analyse großer Datenmengen macht.

Entwicklung

Funktionsfähiger Logo-Generator aus einer einzigen Eingabeaufforderung: Potenzial und Grenzen von LLMs

2025-04-25
Funktionsfähiger Logo-Generator aus einer einzigen Eingabeaufforderung: Potenzial und Grenzen von LLMs

Der Autor generierte einen voll funktionsfähigen Logo-Generator mit Exportfunktionen aus einer einzigen Eingabeaufforderung in Aider. Code-Ausschnitte zeigen die Fähigkeit des LLMs, Schriftartverknüpfungen, Abhängigkeiten und Inline-CSS-Stile zu generieren, einschließlich des neuesten SHA-Hashes einer verknüpften CDN-Bibliothek. Die Erweiterung des Codes mit Sonnet 3.7 führte jedoch zu einer deutlich erhöhten Komplexität und nicht kompilierbarem Code. Der Autor untersucht die Unterschiede in den Codegenerierungs- und Erweiterungsfähigkeiten verschiedener LLMs (wie Claude und GPT-4o) und die Auswirkungen der Kontextfenstergröße, der Ausgabebeschränkungen und anderer Faktoren auf LLM-Anwendungen. Die Einschränkungen von Kontextfenstern und Ausgabegrenzen in LLMs werden als zentrale Herausforderungen hervorgehoben.

Entwicklung

Eintauchen in D: Ein umfassender Leitfaden

2025-04-25

Dieses Buch bietet einen umfassenden Leitfaden zur D-Programmierung, der von der grundlegenden Syntax bis hin zu fortgeschrittenen Funktionen reicht. Mit einer übersichtlichen Kapitelstruktur werden schrittweise die Kernkonzepte von D vorgestellt: Variablen, Datentypen, Operatoren, Kontrollfluss, Funktionen, Klassen, objektorientierte Programmierung, Templates und Nebenläufigkeit. Zahlreiche Codebeispiele und Übungen helfen den Lesern, die Programmiertechniken von D zu verstehen. Geeignet für Anfänger und erfahrene Programmierer.

Magnitude: KI-natives Testframework für Webanwendungen

2025-04-25
Magnitude: KI-natives Testframework für Webanwendungen

Magnitude ist ein revolutionäres Open-Source-End-to-End-Testframework für Webanwendungen, das von visuellen KI-Agenten angetrieben wird, die Ihre Benutzeroberfläche „sehen“ und sich an alle Änderungen anpassen. Erstellen Sie einfach Testfälle mit natürlicher Sprache, nutzen Sie einen leistungsstarken Inferenzagenten zur Planung und Anpassung und verlassen Sie sich auf einen schnellen visuellen Agenten für eine zuverlässige Ausführung. Führen Sie Tests lokal oder in CI/CD-Pipelines aus. Das Framework behandelt automatisch Probleme, die während der Tests auftreten. Magnitude unterstützt verschiedene LLM-Modelle, darunter Gemini 2.5 pro, Anthropic und OpenAI, und bietet ein kostenloses visuelles Modell, Moondream. Es vereinfacht die Erstellung und Ausführung von Tests erheblich.

Entwicklung KI-Testing Web-Testing

Differenzielle Codeabdeckung zum Debuggen: Eine leistungsstarke Technik

2025-04-25

Dieser Artikel stellt eine leistungsstarke Debugging-Technik vor: die Analyse der differentiellen Codeabdeckung. Durch den Vergleich der Codeabdeckung von erfolgreichen und fehlgeschlagenen Tests kann fehlerhafter Code schnell identifiziert werden. Der Autor verwendet die Go-Bibliothek `math/big` als Beispiel und zeigt, wie man `go test` und `go tool cover` verwendet, um Abdeckungsberichte zu generieren, und `diff`, um die Unterschiede zu vergleichen. Dies identifiziert effizient den Codeabschnitt, der den Testfehler verursacht, wodurch die Debugging-Zeit im Vergleich zu herkömmlichen Methoden deutlich reduziert wird. Die Technik wird anhand der Behebung eines Fehlers in wenigen Codezeilen von über 15.000 demonstriert.

Entwicklung Codeabdeckung

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-04-25
arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

arXivLabs ist ein Framework, das es Mitwirkenden ermöglicht, neue arXiv-Funktionen direkt auf unserer Website zu entwickeln und zu teilen. Sowohl Einzelpersonen als auch Organisationen, die mit arXivLabs zusammenarbeiten, haben unsere Werte von Offenheit, Community, Exzellenz und Datenschutz der Benutzerdaten angenommen und akzeptiert. arXiv engagiert sich für diese Werte und arbeitet nur mit Partnern zusammen, die sich an diese halten. Haben Sie eine Idee für ein Projekt, das der arXiv-Community einen Mehrwert bietet? Erfahren Sie mehr über arXivLabs.

Entwicklung

Formalisierung von Russells Principia Mathematica mit Lean4

2025-04-25
Formalisierung von Russells Principia Mathematica mit Lean4

Dieses Projekt zielt darauf ab, den ersten Band von Bertrand Russells Principia Mathematica mit dem Lean-Theorembeweiser zu formalisieren. Das Ziel ist es, sicherzustellen, dass die Formalisierung klar mit den entsprechenden Sätzen im Buch übereinstimmt, um Verwirrung zu vermeiden. Das Projekt folgt rigoros Russells Beweisen, mit wenigen oder keinen zusätzlichen Aussagen. Eine neue Taktik, `Syll`, wurde erstellt, um eine allgemeinere Form des Syllogismus zu behandeln. Obwohl die Principia Mathematica als „monumentaler Misserfolg“ gelten, empfand der Autor den Formalisierungsprozess als bereichernd.

Entwicklung

Curry: Die perfekte Verschmelzung von funktionaler und logischer Programmierung

2025-04-25
Curry: Die perfekte Verschmelzung von funktionaler und logischer Programmierung

Curry ist eine deklarative, multiparadigmatische Programmiersprache, die nahtlos Funktionen aus der funktionalen Programmierung (geschachtelte Ausdrücke, höherwertige Funktionen, starke Typisierung, verzögerte Auswertung) und der logischen Programmierung (Nichtdeterminismus, integrierte Suche, freie Variablen, partielle Datenstrukturen) kombiniert. Im Vergleich zu Programmiersprachen mit nur einem Paradigma bietet Curry zusätzliche Funktionen wie eine optimierte Auswertung für logikorientierte Berechnungen und ein flexibles, nichtdeterministisches Mustermatching mit benutzerdefinierten Funktionen.

Entwicklung

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-04-25
arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

arXivLabs ist ein Framework, das es Mitwirkenden ermöglicht, neue arXiv-Funktionen direkt auf unserer Website zu entwickeln und zu teilen. Sowohl Einzelpersonen als auch Organisationen, die mit arXivLabs zusammenarbeiten, haben unsere Werte von Offenheit, Community, Exzellenz und Datenschutz der Benutzerdaten angenommen und akzeptiert. arXiv verpflichtet sich zu diesen Werten und arbeitet nur mit Partnern zusammen, die sich an diese halten. Haben Sie eine Idee für ein Projekt, das der arXiv-Community einen Mehrwert bietet? Erfahren Sie mehr über arXivLabs.

Entwicklung

UIT: Modulare, speichersparende und performante Dateibearbeitungsbibliothek für die Cloud

2025-04-25
UIT: Modulare, speichersparende und performante Dateibearbeitungsbibliothek für die Cloud

UIT ist eine Bibliothek für die performante, modulare und speichersparende Verarbeitung von Dateien in großem Maßstab in der Cloud. Sie verwendet einen vierstufigen Prozess: Ingestion, Filterung/Transformation, Zusammenführung und Ausgabe. Durch Streaming und Parallelisierung kann UIT effizient in speicherarmen Umgebungen wie Cloudflare Workers ausgeführt werden. Das modulare Design ermöglicht die Zusammensetzung und das Hinzufügen benutzerdefinierter Module. Aktuelle Module verarbeiten Aufgaben wie die Verarbeitung von ZIP-Dateien, die Datenzusammenführung, die Formatkonvertierung und die Suche. UIT zielt darauf ab, ein Standard für die Dateiverarbeitung in der Cloud zu werden und Entwicklern ein leistungsstarkes und erweiterbares Tool zu bieten.

Entwicklung

Bauen Sie Ihren eigenen Linux-Debugger: Teil 1 – Erste Schritte

2025-04-25

Dies ist der erste Teil einer zehnteiligen Serie über den Bau eines Linux-Debuggers von Grund auf. Lernen Sie die Kernmechanismen von Debugggern kennen und implementieren Sie Funktionen wie Starten, Anhalten, Fortsetzen, Setzen von Breakpoints (Speicheradressen, Codezeilen, Funktionsaufrufe), Lesen und Schreiben von Registern und Speicher und Einzelschritt-Ausführung. Das Tutorial verwendet C/C++, Linenoise und libelfin. Der Code für jeden Teil ist auf GitHub verfügbar. Zukünftige Teile werden fortgeschrittene Themen wie Remote-Debugging, Unterstützung für gemeinsam genutzte Bibliotheken, Auswertung von Ausdrücken und Multithread-Debugging behandeln.

Entwicklung

Substacks mysteriöser „Netzwerkfehler“: Ein Duell zwischen WAF und technischem Schreiben

2025-04-25
Substacks mysteriöser „Netzwerkfehler“: Ein Duell zwischen WAF und technischem Schreiben

Beim Schreiben eines technischen Beitrags über DNS-Auflösung auf Substack stieß der Autor auf einen „Netzwerkfehler“, immer wenn er bestimmte Pfade zu Linux-Systemdateien (z. B. /etc/h*sts) eingab. Untersuchungen ergaben, dass die Web Application Firewall (WAF) von Substack ihre Abwehrmechanismen gegen Path Traversal- oder Command Injection-Angriffe auslöste. Dies verdeutlicht den Konflikt zwischen Sicherheit und Benutzerfreundlichkeit: Die WAF, die zum Schutz der Plattform dient, stellt ein frustrierendes Hindernis für technische Autoren dar, die diese Systempfade diskutieren müssen. Der Autor schlägt Substack vor, die kontextbezogene Erkennung seiner WAF zu verbessern, klarere Fehlermeldungen bereitzustellen und praktikable Workarounds anzubieten, um Sicherheit und die Bedürfnisse technischer Autoren besser in Einklang zu bringen.

Entwicklung

GCC 15.1 veröffentlicht: Großes Update für die GNU Compiler Collection

2025-04-25

Die GCC-Entwickler freuen sich, die Veröffentlichung von GCC 15.1 bekannt zu geben, einem wichtigen Release mit bedeutenden neuen Funktionen und Verbesserungen gegenüber GCC 14.x. GCC stand früher für GNU C Compiler, bezeichnet jetzt aber die GNU Compiler Collection und unterstützt mehrere Programmiersprachen. Dieses Release ist ein Beweis für die zahlreichen Beitragenden, die neue Funktionen, Fehlerbehebungen und Verbesserungen geliefert haben. Weitere Informationen finden Sie auf der Website des GCC-Projekts oder wenden Sie sich an die GCC-Entwicklungsmailingliste.

Entwicklung
1 2 103 104 105 107 109 110 111 214 215