Category: Entwicklung

Observability für GitHub Actions mit OpenTelemetry

2025-06-15
Observability für GitHub Actions mit OpenTelemetry

Dieser Leitfaden zeigt, wie Sie End-to-End-Observability Ihrer CI/CD-Pipelines erreichen, indem Sie OpenTelemetry verwenden, um GitHub Actions zu überwachen. Durch die Konfiguration des GitHub-Receivers des OpenTelemetry Collectors können Sie Traces und Metriken aus Ihren Workflows sammeln, wodurch Sie Engpässe identifizieren, Fehler debuggen und Abhängigkeiten analysieren können. Der Leitfaden bietet eine schrittweise Einrichtung, einschließlich der Konfiguration eines GitHub-Webhooks, der Installation des OpenTelemetry Collectors, der Konfiguration von Receivern und Prozessoren und der Behandlung der Authentifizierung. YAML-Konfigurationsausschnitte sind enthalten. Schließlich werden diese Daten an eine Observability-Plattform wie SigNoz zur Visualisierung und Analyse gesendet.

Entwicklung

Lisp: Ein kreatives Medium für Programmierer

2025-06-15

Dieser Essay argumentiert, dass Lisp nicht nur eine Programmiersprache ist, sondern ein kreatives Medium für Programmierer, ähnlich wie Schreiben oder Malen. Der Autor behauptet, dass gutes Programmieren, wie Schreiben, Exploration und Entdeckung beinhaltet, gefolgt von der Verfeinerung der Präsentation. Die dynamische Natur von Lisp macht es ideal für Experimente und Iteration, sodass Programmierer ihren Code anpassen und verbessern können, ähnlich wie ein Schriftsteller ein Manuskript überarbeitet. Anhand von Beispielen wie Kartografie und Schreiben veranschaulicht der Autor das Zusammenspiel von Entdeckung und Verfeinerung und kritisiert den leistungsorientierten Ansatz beim Design von Programmiersprachen als hinderlich für Kreativität und Flexibilität. Der Autor plädiert für einen flexibleren und explorativeren Ansatz für die Softwareentwicklung, der den Geist agiler Methoden widerspiegelt.

Entwicklung

Sicherheitsumgehung: Entschlüsselung des Update-Mechanismus einer VM für einfache Flags

2025-06-15
Sicherheitsumgehung: Entschlüsselung des Update-Mechanismus einer VM für einfache Flags

Ein Student entdeckte, dass die Update-Dateien (*.gpg) in einer virtuellen Maschine eines Sicherheitskurses Token zum Einreichen von Aufgaben enthielten. Bei der Analyse des Update-Programms `installUpdate` stellte er fest, dass es GPG-Entschlüsselung verwendete, abhängig von den Dateien `/root/.vmPassphrase` und `/root/.gnupg`. Durch das Mounten der VM-Festplatte erhielt der Student diese Dateien, entschlüsselte die Updates, extrahierte die Token und beendete die Aufgaben vorzeitig. Die Updates enthielten Java-Code, der mit AES verschlüsselte Token generierte. Der Autor merkt an, dass dieser Angriff vom vollständigen Zugriff auf die VM-Festplatte abhing und schlägt die Verwendung von Remote-VMs als Verbesserung vor. Trotz des vorzeitigen Abschlusses betont der Autor die Bedeutung des Lernprozesses und des Abschlusses der Kursarbeit.

Entwicklung

ICONIC: Edle Skill-Icons für GitHub READMEs

2025-06-15
ICONIC: Edle Skill-Icons für GitHub READMEs

ICONIC ist eine Entwickler-fokussierte Bibliothek mit stilvollen, blasenförmigen Skill-Icons, designt für GitHub READMEs, Portfolios und Lebensläufe. Sie bietet klare und ästhetisch ansprechende Bubble-Icons, helle und dunkle Themenvarianten und einfache Einbettung in Markdown/HTML. Zusätzlich gibt es eine HTML-Vorschau-API (Django Backend) und herunterladbare SVGs für eine mühelose Präsentation der Fähigkeiten.

Entwicklung Icon-Bibliothek

arXivLabs: Experimentelle Projekte mit Community-Mitarbeitern

2025-06-15
arXivLabs: Experimentelle Projekte mit Community-Mitarbeitern

arXivLabs ist ein Framework, das es Mitarbeitern 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, Gemeinschaft, Exzellenz und Datenschutz der Benutzerdaten übernommen und akzeptiert. arXiv verpflichtet sich zu diesen Werten und arbeitet nur mit Partnern zusammen, die diese einhalten. Haben Sie eine Idee für ein Projekt, das der arXiv-Community einen Mehrwert bietet? Erfahren Sie mehr über arXivLabs.

Entwicklung

Python Core Dev Summit: JITs, Virtuelle Threads und die Zukunft

2025-06-15
Python Core Dev Summit: JITs, Virtuelle Threads und die Zukunft

Der jährliche Python Core Developers Summit zeigte spannende Diskussionen. Meta-Ingenieure erforschten steckbare JIT-Compiler, um die Entwicklung durch neue APIs zu vereinfachen. Ideen aus Java kurbelten Diskussionen über virtuelle Threads für Python an, was die Nebenläufigkeit verbessert. Der Gipfel umfasste auch Debatten über Null-Koaleszenz-Operatoren, KI-gestützte Codierungswerkzeuge und die Philosophie „schlechter ist besser“. Schließlich forderten Entwickler einen Fokus auf Speicher-Benchmarks und tauchten in die zukünftige Entwicklung des Typsystems von T-Strings ein.

Entwicklung

Wiederherstellung ungewöhnlich geformter App-Symbole in macOS 26 Tahoe

2025-06-15
Wiederherstellung ungewöhnlich geformter App-Symbole in macOS 26 Tahoe

macOS 26 Tahoe ersetzt die einzigartigen, ungewöhnlich geformten App-Symbole im Dock durch abgerundete iOS-Symbole, eine Änderung, die vielen Benutzern missfällt. Dieser Artikel bietet eine Lösung für Benutzer und Entwickler, um benutzerdefinierte Symbolformen wiederherzustellen. Benutzer können die .icns-Datei im Anwendungspaket ersetzen; Entwickler können NSApplication.shared.dockTile.contentView verwenden, um das Symbol zur Laufzeit zu ändern. Holen Sie sich Ihr Dock zurück in seinen früheren Glanz!

Entwicklung App-Symbole

Von SQL Server zu Key-Value-Speichern: Eine Autopsie einer gescheiterten Datenbankumstellung

2025-06-15

Ein erfahrener Entwickler berichtet über seine Erfahrung mit einer Datenbankumstellung bei einem früheren Arbeitgeber. Das ursprüngliche System, das SQL Server verwendete, litt unter Performance-Engpässen und häufigen Ausfällen aufgrund komplexer Stored Procedures. Die Umstellung entschied sich für einfache Key-Value-Speicher, doch aufgrund einer Datenmodell-Inkompatibilität und fehlender Transaktionsunterstützung stiegen die E/A-Operationen sprunghaft an, die Performance verschlechterte sich und ein komplexes Checkpoint-System wurde eingeführt. Die Umstellung löste letztendlich die ursprünglichen Probleme nicht und schuf neue Herausforderungen. Dieser humorvolle Bericht reflektiert die Wichtigkeit der Technologiewahl und des Architekturdesigns sowie die negativen Auswirkungen einer übermäßigen Vereinfachung.

Praktische Anleitung zum Kompilieren von C-Programmen auf macOS

2025-06-14

Dieser Beitrag beschreibt die Erfahrungen des Autors beim Kompilieren von C/C++-Programmen unter macOS, wobei die Herausforderungen und Lösungsansätze im Mittelpunkt stehen. Von der Installation von Compilern und der Verwaltung von Abhängigkeiten (mit Tools wie `apt-get` und `brew`) bis hin zur Navigation durch Makefiles und `./configure`-Skripte bietet der Autor eine praktische Anleitung. Wichtige Punkte sind der Umgang mit Compiler-Warnungen, die Behebung von Linker-Fehlern mithilfe von Umgebungsvariablen wie `CPPFLAGS` und `LDLIBS` und das selektive Kompilieren von Zielen mit `make`. Der Autor betont auch die Bedeutung des Verständnisses der C-Kompilierung, selbst für Nicht-C-Programmierer, aufgrund ihrer Verbreitung in Systemtools und -bibliotheken. Der Beitrag endet mit dem erfolgreichen Beitrag des Autors eines kompilierten Pakets zu Homebrew, was die praktischen Vorteile der Beherrschung des Kompilierprozesses zeigt.

Entwicklung

Entkopplung von Low-Level-Programmierung und Systemdesign: "Systemprogrammierung" neu gedacht

2025-06-14

Dieser Artikel untersucht die Entwicklung des Begriffs "Systemprogrammierung". Der Autor argumentiert, dass er zwei verschiedene Konzepte vermischt: Low-Level-Programmierung (Behandlung von Implementierungsdetails der Maschine) und Systemdesign (Erstellung und Verwaltung komplexer, interagierender Komponenten). Von Verbesserungen an Assemblersprachen in den 1970er Jahren über den Aufstieg von Skriptsprachen in den 1990er Jahren bis hin zu den heutigen Leistungsverbesserungen von Programmiersprachen sind die Grenzen der Systemprogrammierung zunehmend verschwommen. Der Autor schlägt vor, "Systemprogrammierung" als "Low-Level-Programmierung" neu zu definieren und Systemdesign als separates Gebiet zu betrachten. Er argumentiert, dass funktionale Programmierprinzipien im Systemdesign wertvoll sind und schlägt vor, Low-Level-Programmierung und Systemdesign im Informatikunterricht getrennt zu unterrichten, um einen gegenseitigen Austausch von Ideen zu fördern.

Entwicklung

Rocky Linux 10 veröffentlicht: Die Unterschiede zu RHEL-Alternativen werden größer

2025-06-14
Rocky Linux 10 veröffentlicht: Die Unterschiede zu RHEL-Alternativen werden größer

Rocky Linux 10, „Red Quartz“, ist allgemein verfügbar. Es unterstützt die RISC-V-Architektur, verzichtet aber auf ältere Raspberry Pi Modelle. Im Vergleich zu AlmaLinux 10 und RHEL 10, die Anfang des Jahres erschienen sind, zeigen sich subtile Unterschiede in Hard- und Software. Am auffälligsten ist die Anforderung von x86-64-v3 CPUs für RHEL 10 und Rocky Linux 10, während AlmaLinux 10 außergewöhnlicherweise auch x86-64-v2 unterstützt. Der KI-Assistent „Lightspeed“ von RHEL 10 fehlt außerdem in Rocky Linux 10. Obwohl funktional ähnlich, differenziert sich Rocky Linux 10 durch Hardwarekompatibilität, KI-Funktionen und kommerziellen Support von anderen RHEL-Alternativen und findet so seine eigene Marktnische.

Entwicklung

Programmieren ohne libc: Linux-Systemaufrufe mit strace meistern

2025-06-14

Der Autor hat kürzlich damit begonnen, Software ohne libc zu erstellen, um ein tieferes Verständnis von Linux-Systemaufrufen und internen Mechanismen zu erlangen. Dies beinhaltete die Erstellung einer minimalen Shell, eines Snake-Spiels, eines reinen ARM64-Assembler-HTTP-Servers und einer Thread-Implementierung. Das Debugging stützte sich stark auf strace, und der Artikel beschreibt zahlreiche nützliche strace-Optionen und Flags. Diese reichen vom Verfolgen von Kindprozessen und dem Ausgeben detaillierter Strukturinformationen bis hin zum selektiven Verfolgen von Systemaufrufen und sogar zum Injizieren von Systemaufruf-Fehlern für Debugging-Zwecke. Dies liefert wertvolle Einblicke in fortschrittliche Linux-Systemprogrammierung und -Debugging-Techniken.

Entwicklung

Argparse-Einschränkung bei der Schachtelung von sich gegenseitig ausschließenden Gruppen: Ein frustrierendes Rätsel

2025-06-14

Das Python-Modul argparse bietet zwar praktische Funktionen zum Verarbeiten von Befehlszeilenargumenten, einschließlich sich gegenseitig ausschließender Gruppen, weist aber eine frustrierende Einschränkung beim Verschachteln auf. Betrachten Sie ein Programm mit mehreren Timeout-Einstellungen, bei dem Benutzer entweder einzelne Timeouts anpassen oder sie vollständig deaktivieren können. Argparse unterstützt nicht die Verschachtelung einer "no-timeout"-Option in einer Gruppe einzelner Timeout-Optionen, was die Konfiguration umständlich macht. Während Sie eine sich gegenseitig ausschließende Gruppe in einer regulären Gruppe verschachteln können, ist das Gegenteil nicht unterstützt, und die offizielle Dokumentation gibt diese Einschränkung explizit an. Dies zwingt Entwickler dazu, manuell zu überprüfen, ob bestimmte Optionen verwendet wurden, was Komplexität hinzufügt.

Entwicklung

Wahrheitsorakel in Lisp: Eine kuriose Geschichte über Typentheorie, Curry-Howard-Isomorphismus und call/cc

2025-06-14

Dieser Beitrag versucht, ein „Wahrheitsorakel“ in Lisp zu schreiben – ein Programm, das die Wahrheit oder Falschheit beliebiger mathematischer Aussagen bestimmt. Der Autor führt den Curry-Howard-Isomorphismus ein und erklärt, wie logische Beweise Ausdrücken in der typisierten funktionalen Programmierung entsprechen. Mit der Racket-Funktion call/cc (isomorph zum Satz von Peirce) wird versucht, ein Programm zu implementieren, das zum Satz vom ausgeschlossenen Dritten isomorph ist. Unerwartet liefert das Orakel immer „falsch“, bis versucht wird, auf einen unmöglichen Typwert zuzugreifen. Dies offenbart die Unterschiede zwischen klassischer und konstruktiver Logik und den nicht-standardmäßigen Kontrollfluss von call/cc. Schließlich verwendet der Autor die Metapher eines „Pakts mit dem Teufel“, um dieses seltsame Verhalten zu erklären und den zeitreiseähnlichen Mechanismus hinter call/cc aufzuzeigen.

Entwicklung

Automatisierung täglicher Wetter-SMS

2025-06-14

Müde davon, jeden Morgen die Wetter-App zu öffnen? Der Autor untersuchte zwei Methoden: Zuerst eine Zapier-Automatisierung, die jeden Morgen gegen 7 Uhr eine SMS mit dem Wetter schickte. Da diese aber nicht anpassbar war und von einem Drittanbieter abhing, baute er ein flexibleres System mit TypeScript, Twilio und GitHub Actions. Die Open-Meteo-API liefert die Wetterdaten, Twilio sendet die SMS und GitHub Actions löst den Vorgang täglich um 6:45 Uhr (unter Berücksichtigung der Zeitzonen) aus. Obwohl die benutzerdefinierte Zusammenfassung weniger detailliert ist als die von Zapier, gewann er Kontrolle und Kosteneffizienz und plant, die Details der Zusammenfassung zu verbessern.

Entwicklung

arXivLabs: Gemeinschaftsentwicklung von arXiv-Funktionen

2025-06-14
arXivLabs: Gemeinschaftsentwicklung von arXiv-Funktionen

arXivLabs ist ein Framework, das es Mitarbeitern ermöglicht, neue arXiv-Funktionen direkt auf der Website zu entwickeln und zu teilen. Einzelpersonen und Organisationen, die teilnehmen, teilen die Werte von arXiv: Offenheit, Gemeinschaft, Exzellenz und Datenschutz der Benutzerdaten. arXiv engagiert sich für diese Werte und arbeitet nur mit Partnern zusammen, die sich daran halten. Haben Sie eine Idee für ein wertvolles Projekt für die arXiv-Community? Erfahren Sie mehr über arXivLabs.

Entwicklung

Netflix' Unified Data Architecture: Einmal modellieren, überall repräsentieren

2025-06-14
Netflix' Unified Data Architecture: Einmal modellieren, überall repräsentieren

Das explosionsartige Wachstum des Netflix-Content-Angebots – Filme, Serien, Spiele, Live-Events, Werbung – hat ein komplexes Netz an unterstützenden Systemen geschaffen. Um die Probleme mit duplizierten Modellen, inkonsistenter Terminologie und Datenqualität zu lösen, hat Netflix die Unified Data Architecture (UDA) entwickelt. UDA ist ein Wissensgraph, der es Teams ermöglicht, Modelle einmal zu definieren und diese konsistent in allen Systemen wiederzuverwenden. Mit Hilfe eines internen Metamodells namens Upper übersetzt UDA Domänenmodelle in verschiedene technische Datenstrukturen (GraphQL, Avro, SQL usw.) und automatisiert den Datenverschiebung und -transformation zwischen Containern. Dies steigert die Effizienz und Datenkonsistenz. Zwei Produktionssysteme, Primary Data Management (PDM) und Sphere, zeigen die Leistungsfähigkeit von UDA, indem sie autoritative Referenzdaten verwalten und Self-Service-Betriebsberichte erstellen.

Entwicklung Datenarchitektur

Vom Quant zum BCI: Ein Selbstlernplan für 2025

2025-06-14

Ein erfahrener Ingenieur mit Hintergrund in quantitativer Finanzmathematik und Softwareentwicklung wechselt in das spannende Feld der Brain-Computer-Interfaces (BCIs). Er hat einen 12-24 monatigen Selbstlernplan entwickelt, der in drei Phasen unterteilt ist: Grundlagen der Hardware (Bau einer Digitaluhr, Verstärkung bioelektrischer Signale), Zwischenstufe Systeme (Analog-/Digitalradio, FPGA-basierte Signalverarbeitung) und fortgeschrittene Themen (geschlossene Schleife der neuronalen Stimulation, drahtlose Datenübertragung). Dieser ehrgeizige Plan kombiniert Selbststudium, praktische Projekte und Community-Engagement mit dem Ziel, schließlich eine Stelle in der Wissenschaft, einem Startup oder der Industrie im BCI-Bereich zu finden.

Entwicklung Selbstlernplan

Neueste Fortschritte in der gemischt-ganzzahligen linearen Programmierung (MILP)

2025-06-14

Gemischt-ganzzahlige lineare Programmierung (MILP) ist dank der gesteigerten Effizienz moderner Solver zu einem Eckpfeiler der Operations Research geworden. Diese Solver können heute global optimale Lösungen in Sekunden finden für Probleme, die vor einem Jahrzehnt noch unlösbar waren. Diese Vielseitigkeit ermöglichte erfolgreiche Anwendungen in vielen Bereichen wie Transport, Logistik, Supply-Chain-Management, Revenue Management, Finanzen, Telekommunikation und Fertigung. Trotz dieses Erfolgs bleiben viele Herausforderungen bestehen, und MILP ist ein lebendiges Forschungsgebiet. Dieser Artikel gibt einen Überblick über die wichtigsten Fortschritte bei MILP-Lösungsmethoden, konzentriert sich auf rechnerische Aspekte und jüngste Verbesserungen der praktischen Leistung und betont Studien mit rechnerischen Experimenten. Die Übersicht gliedert sich in Branch-and-Cut-Methoden, Dantzig-Wolfe-Dekomposition und Benders-Dekomposition und schließt mit einer Diskussion über aktuelle Herausforderungen und zukünftige Entwicklungen.

Entwicklung

Wie man den schlechtestmöglichen Python-Code schreibt

2025-06-14
Wie man den schlechtestmöglichen Python-Code schreibt

Dieser humorvolle Leitfaden zeigt Ihnen, wie Sie den unverständlichsten und frustrierendsten Python-Code schreiben können. Durch eine Reihe von negativen Beispielen, wie die Verwendung kryptischer Variablennamen (wie `data1`, `temp`) und komplexer verschachtelter Schleifen, demonstriert der Autor, wie man wirklich schlechten Code erstellt. Das letztendliche Ziel ist es, die Bedeutung von sauberem und verständlichem Code hervorzuheben und die Entstehung unwartbarer technischer Schulden zu vermeiden.

Entwicklung

Linux Kernel 6.16 behebt Core-Dump-Schwachstellen: Abschied von der „dummen“ API

2025-06-14

Die Version 6.16 des Linux-Kernels verbessert die Behandlung von Core-Dumps erheblich und behebt langjährige Sicherheitsschwachstellen. Frühere API-Designs hatten Mängel, wie z. B. Core-Dump-Handler, die mit Root-Rechten ausgeführt wurden und somit attraktive Angriffsziele darstellten, sowie Race Conditions, die zu Schwachstellen führten. Die neuen Verbesserungen führen pidfd ein, um sicherzustellen, dass Handler mit dem richtigen abgestürzten Prozess arbeiten, und ermöglichen es Handlern, an einer Socket zu binden, um Core-Dumps zu empfangen, wodurch die Risiken der Privilegieneskalation reduziert und Angriffe effektiv verhindert werden.

Entwicklung Core-Dump

Volumenbeleuchtung in React Three Fiber: Raymarching mit Postprocessing

2025-06-14
Volumenbeleuchtung in React Three Fiber: Raymarching mit Postprocessing

Dieser Artikel befasst sich mit der Erstellung realistischer volumetrischer Beleuchtungseffekte in React Three Fiber durch die Kombination von Postprocessing und volumetrischem Raymarching. Der Autor erklärt sorgfältig die Transformationen von Koordinatensystemen, die Rekonstruktion von 3D-Strahlen aus dem Bildschirmraum und die Verwendung von Tiefenpuffern zur Leistungsoptimierung. Fortgeschrittene Techniken wie Lichtmodellierung mit SDFs, Schattenmapping und Lichtstreuung werden behandelt, was zu einem dynamischen volumetrischen Beleuchtungseffekt mit Schatten und Nebel führt. Mehrere Demos zeigen die Technik in Bögen und Weltraumszenen und untersuchen auch mehrere Lichtquellen und omnidirektionales Schattenwurf.

Green Tea GC: Ein speicherbewusster Ansatz zur Leistungssteigerung von Go

2025-06-14
Green Tea GC: Ein speicherbewusster Ansatz zur Leistungssteigerung von Go

Das Go-Team entwickelt Green Tea, einen experimentellen Garbage Collector, der darauf ausgelegt ist, Leistungseinbußen traditioneller Garbage-Collection-Algorithmen in Mehrkern-Systemen und nicht-uniformen Speicherarchitekturen zu beheben. Green Tea verbessert die räumliche und zeitliche Lokalität, indem es zusammenhängende Speicherblöcke anstelle einzelner Objekte scannt, wodurch die CPU-Überlastung der Garbage Collection deutlich reduziert wird. Erste Evaluierungen zeigen eine Reduzierung der GC-CPU-Kosten um 10–50 % bei einigen GC-intensiven Workloads. Zukünftige Arbeiten umfassen die Untersuchung von SIMD-Beschleunigung und einem Konzentrator-Netzwerk für weitere Leistungssteigerungen.

Entwicklung

WordPress-Bloggen mit Claude: Ein benutzerdefinierter MCP-Server

2025-06-14
WordPress-Bloggen mit Claude: Ein benutzerdefinierter MCP-Server

Innerhalb von drei Tagen erstellte der Autor einen benutzerdefinierten Model Context Protocol (MCP)-Server, der Claude direkt mit seinem WordPress-Blog verbindet. Dieser Server bewältigt die Komplexität der WordPress REST API und ermöglicht es Claude, gut formatierte HTML-Blogbeiträge zu erstellen, Kategorien und Tags automatisch zu verwalten und sogar Blog-Informationen abzurufen. Der Autor betrachtet dies als einen bedeutenden Fortschritt in der KI-gestützten Inhaltserstellung bei gleichzeitiger Beibehaltung der redaktionellen Kontrolle.

Entwicklung

arXivLabs: Experimentelle Projekte mit Community-Kollegen

2025-06-14
arXivLabs: Experimentelle Projekte mit Community-Kollegen

arXivLabs ist ein Framework, das es Mitarbeitern 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

FileDB: Ein von Bitcask inspirierter Key-Value-Store in Zig

2025-06-14
FileDB: Ein von Bitcask inspirierter Key-Value-Store in Zig

FileDB ist eine in Zig implementierte Key-Value-Datenbank, die von Riaks Bitcask-Paper inspiriert wurde. Sie verwendet eine Log-strukturierte Hashtabelle für Metadaten und hängt Datensätze an Disk-Dateien an, um einen hohen Durchsatz zu erreichen. Regelmäßige Komprimierung und Synchronisierung gewährleisten die Datenbeständigkeit. Benchmark-Tests ihres Redis-kompatiblen Clients zeigen Lesegeschwindigkeiten von über 100.000 Anfragen pro Sekunde und eine beeindruckende Schreibleistung.

Entwicklung Key-Value-Datenbank

sandboxfs: Ein gescheiterter Versuch, Bazels macOS-Sandboxing zu beschleunigen

2025-06-13
sandboxfs: Ein gescheiterter Versuch, Bazels macOS-Sandboxing zu beschleunigen

Ein Google-Ingenieur versuchte, die Leistung von Bazels Sandboxing auf macOS mit dem Projekt sandboxfs zu verbessern. sandboxfs nutzte ein Filesystem im User-Space, um virtuelle Dateihhierarchien effizienter zu erstellen und ersetzte damit Bazels ursprünglichen Ansatz mit symbolischen Links. Aufgrund der Tatsache, dass die Leistung von symbolischen Links auf macOS nicht der größte Engpass war, sowie aufgrund von Implementierungsproblemen und Änderungen im macOS-Ökosystem wurde sandboxfs letztendlich aufgegeben. Trotzdem glaubt der Autor, dass die Kernidee – die effiziente Erstellung von Sandboxes – immer noch vielversprechend ist, um die Leistungsprobleme von Bazels Sandboxing auf macOS zu lösen.

Entwicklung

Implementierung von Datalog in Python: Eine relationale Datenbanksprache, die leistungsfähiger als SQL ist

2025-06-13
Implementierung von Datalog in Python: Eine relationale Datenbanksprache, die leistungsfähiger als SQL ist

Dieser Artikel zeigt, wie man Datalog, eine relationale Datenbanksprache, die leistungsfähiger als SQL ist, mit Python implementiert. Datalog, eine Teilmenge von Prolog, ist nicht Turing-vollständig, zeichnet sich aber durch seine Fähigkeit zur Modellierung von Beziehungen aus. Der Artikel erklärt detailliert die grundlegenden Konzepte von Datalog, einschließlich Prädikate, Fakten, Regeln und Variablen, und bietet eine einfache Python-Implementierung mit dem naiven Bewertungs-Algorithmus. Mit dieser Implementierung können Sie Datalog-Programme erstellen und abfragen und die Eleganz und Leistungsfähigkeit dieses relationalen Modellierungsansatzes erleben.

Entwicklung

MUMPS: Der unbesungene Held der Gesundheitsdatenbanken

2025-06-13

MUMPS, eine in den 1960er Jahren entstandene Programmiersprache, wurde ursprünglich entwickelt, um die medizinischen Patientenakten im Massachusetts General Hospital zu verwalten. Seine einzigartige integrierte Datenbankfähigkeit hat es zur dominierenden Datenbank für Gesundheitssysteme und elektronische Gesundheitsakten in den USA gemacht, die über 78 % der Patienten betreuen. Die Geschichte von MUMPS ist eine Geschichte von Innovation und Anpassung, von den frühen Versionen auf dem PDP-7 bis zu den heutigen Open-Source-Implementierungen und kommerziellen Produkten. Es hat die rasante Entwicklung der Computertechnologie miterlebt und unterstützt weiterhin kritisch die Gesundheitsbranche.

Entwicklung Gesundheits-IT

arXivLabs: Experimentelle Projekte in Zusammenarbeit mit der Community

2025-06-13
arXivLabs: Experimentelle Projekte in Zusammenarbeit mit der Community

arXivLabs ist ein Framework, das es Mitarbeitern ermöglicht, neue arXiv-Funktionen direkt auf unserer Website zu entwickeln und zu teilen. Einzelpersonen und 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 diese einhalten. Haben Sie eine Idee für ein Projekt, das der arXiv-Community einen Mehrwert bietet? Erfahren Sie mehr über arXivLabs.

Entwicklung
1 2 60 61 62 64 66 67 68 214 215