Category: Entwicklung

Warum GUIs mindestens 2,5 Mal gebaut werden müssen: Eine Kritik an Lean Software Development

2025-06-03
Warum GUIs mindestens 2,5 Mal gebaut werden müssen: Eine Kritik an Lean Software Development

Dieser Artikel kritisiert die Grenzen von Lean Software Development und argumentiert, dass die Analogie zwischen Softwareentwicklung und Fabrikfertigung grundlegend falsch ist. Softwareentwicklung ähnelt eher einem Designprozess, der iterative Experimente erfordert, um herauszufinden, was Benutzer wirklich wollen. Am Beispiel der GUI-Entwicklung zeigt der Autor, wie der Bau von GUIs oft mehrere Iterationen erfordert, bevor ein zufriedenstellendes Ergebnis erzielt wird, ganz anders als der lineare Fluss einer Fabrikproduktionslinie. Das Konzept „Verschwendung“ in Lean Software Development erweist sich als schwer auf Software anwendbar, da es die Bedeutung von Exploration und Entdeckung vernachlässigt. Der Autor argumentiert, dass erfolgreiche Softwareentwicklung eher einem Entdeckungsprozess als einem Herstellungsprozess ähnelt, der ein tiefes Verständnis der Benutzerbedürfnisse und kontinuierliche Verbesserungen durch Iteration erfordert.

Entwicklung Lean Entwicklung

Informationssoftwaredesign: Der Triumph der Grafik, das Scheitern der Interaktion?

2025-06-03

Bret Victor hinterfragt in seinem Aufsatz die traditionellen Prinzipien des Softwaredesigns und argumentiert, dass die meisten Softwareprogramme (Informationssoftware) sich auf die Präsentation von Informationen konzentrieren, nicht auf die Interaktion. Er plädiert für ein Informationssoftwaredesign, das auf dem Grafikdesign basiert und die Benutzerinteraktion durch intelligente Visualisierungen und Kontextbewusstsein reduziert. Der Aufsatz verwendet Beispiele wie Fahrpläne, Online-Buchhandlungen und Filmauflistungen, um traditionelle interaktive Designs mit grafikorientierten Ansätzen zu vergleichen. Er schlägt Methoden zur Kontextinferenz vor, die Umgebungserkennung und historische Daten nutzen. Victor appelliert an die Software-Designbranche, die visuelle Kommunikation zu priorisieren und das Design von Informationssoftware zu revolutionieren, um intuitivere und effizientere Benutzererlebnisse zu schaffen.

Entwicklung Softwaredesign

KI in den Geisteswissenschaften: Ein zweischneidiges Schwert

2025-06-03
KI in den Geisteswissenschaften: Ein zweischneidiges Schwert

Dieser Artikel untersucht den tiefgreifenden Einfluss von generativer KI auf die geisteswissenschaftliche Bildung. Der Autor argumentiert, dass es töricht ist, die Auswirkungen von KI zu ignorieren, da KI-Sprachmodelle auf geisteswissenschaftlichem Wissen und Fähigkeiten beruhen. KI zeigt ein immenses Potenzial in Bereichen wie Übersetzung, Klassifizierung und anderen, während geisteswissenschaftliche Fähigkeiten immer wichtiger für die KI-Forschung selbst werden. Durch seine persönliche Erfahrung bei der Entwicklung historischer Lernspiele zeigt der Autor die Anwendung von KI im Unterricht, weist aber auch darauf hin, dass der Missbrauch von KI zu vermindertem Engagement der Schüler und einer Verschärfung der Bildungsungleichheit führen kann. Letztendlich fordert der Autor Lehrende auf, aktiv an der Entwicklung maßgeschneiderter KI-Lernwerkzeuge mitzuwirken, KI-Missbrauch zu verhindern und die grundlegenden Werte einer qualitativ hochwertigen Bildung zu wahren.

OAuth 2.1 Provider Framework für Cloudflare Workers: Eine KI-unterstützte Sicherheitsbibliothek

2025-06-03
OAuth 2.1 Provider Framework für Cloudflare Workers: Eine KI-unterstützte Sicherheitsbibliothek

Diese TypeScript-Bibliothek implementiert die Provider-Seite des OAuth 2.1-Protokolls mit PKCE-Unterstützung für Cloudflare Workers. Sie fungiert als Wrapper und automatisiert die Token-Verwaltung und Benutzerauthentifizierung. Entwickler schreiben reguläre Fetch-Handler; die Bibliothek kümmert sich um die Authentifizierung. Sie ist unabhängig von der Benutzerverwaltung und UI-Frameworks und speichert nur Hashes, keine Geheimnisse. Interessanterweise war die Entwicklung der Bibliothek an dem KI-Modell Claude beteiligt, wobei die Sicherheitsüberprüfung durch Cloudflare-Ingenieure das Potenzial von KI in der Softwareentwicklung bestätigt. Die Bibliothek bietet auch einen neuartigen Ansatz zur Aktualisierung von Refresh-Tokens, der Sicherheit und Ausfallsicherheit bei vorübergehenden Fehlern in Einklang bringt.

MonsterUI: Moderne Web-UIs in reinem Python erstellen

2025-06-03
MonsterUI: Moderne Web-UIs in reinem Python erstellen

Sind Sie es leid, zwischen HTML, CSS und Python zu wechseln, um einfache Web-UIs zu erstellen? MonsterUI ist da, um das zu beheben! Es basiert auf FastHTML und ermöglicht es Ihnen, schöne, responsive Webanwendungen mit nur Python zu erstellen. MonsterUI nutzt moderne Bibliotheken wie Tailwind, FrankenUI und DaisyUI und bietet vorformatierte Komponenten und intelligente Standardwerte, wobei der volle Zugriff auf Tailwind CSS erhalten bleibt. Es vereinfacht das Styling und lässt Sie sich auf Funktionen konzentrieren, anstatt sich Utility-Klassen zu merken. Zu den Funktionen gehören Themes, Basiskomponenten, semantische Textstile, intelligente Layout-Hilfen, gängige UI-Muster und höherwertige Komponenten für erhöhte Produktivität.

Entwicklung

Amazon veröffentlicht Dafny-basierten Programmierüberprüfungskurs

2025-06-02

Amazon hat Lehrmaterialien zur Programmverifikation mit Dafny veröffentlicht. Der Kurs geht über die grundlegende Dafny-Programmierung hinaus und untersucht seine Fähigkeiten als Proof-Assistant. Er ist in drei Teile gegliedert: Teil 1 stellt die Programmiersprache Dafny vor; Teil 2 untersucht Dafny als Proof-Assistant und behandelt formale Beweismethoden wie die natürliche Deduktion; und Teil 3 wendet dieses Wissen auf die Programmverifikation an und behandelt funktionale, imperative und objektorientierte Programme. Diese Ressource eignet sich sowohl für Anfänger als auch für erfahrene Dafny-Entwickler und bietet einen umfassenden Ansatz zur Programmverifikation.

Entwicklung formaler Beweis

Extremes Modellieren bei MongoDB: Konformitätsprüfung in der Praxis

2025-06-02

MongoDB-Ingenieure experimentierten mit TLA+-Spezifikationen und zwei Konformitätsprüfungstechniken (Trace-Checking und Testfallgenerierung), um zu überprüfen, ob die Implementierungen ihrer Produkte den Spezifikationen entsprechen. Das Trace-Checking-Experiment, durchgeführt auf dem MongoDB-Server, zielte darauf ab, die Implementierung des Raft-Konsensusprotokolls zu validieren; das Testfallgenerierungs-Experiment, auf dem MongoDB Mobile SDK, zielte darauf ab, den Algorithmus der operativen Transformation zu validieren. Die Ergebnisse zeigten, dass das Trace-Checking aufgrund der Schwierigkeit, den Zustand eines Multithreading-Programms zu erfassen, und Diskrepanzen zwischen Spezifikation und Implementierung fehlschlug, während die Testfallgenerierung erfolgreich einen Fehler im Algorithmus aufdeckte und eine 100%ige Zweigabdeckung erreichte. Der Artikel fasst die gewonnenen Erkenntnisse zusammen und präsentiert aktuelle Fortschritte in diesem Bereich, wobei die Bedeutung einer kontinuierlichen Konformitätsprüfung für die allgemeine Akzeptanz von TLA+ hervorgehoben wird.

Entwicklung Konformitätsprüfung

LLM-unterstützte Programmierung: Hype oder Revolution? Die Perspektive eines erfahrenen Entwicklers

2025-06-02
LLM-unterstützte Programmierung: Hype oder Revolution? Die Perspektive eines erfahrenen Entwicklers

Der erfahrene Programmierer Thomas Ptacek widerlegt die Annahme, dass KI-Programmierwerkzeuge nur ein kurzlebiger Trend sind. Er argumentiert, dass zwar der von LLMs generierte Code nicht perfekt ist und menschliche Überprüfung und Verfeinerung erfordert, er aber die Programmier-Effizienz drastisch steigert, insbesondere bei sich wiederholenden Aufgaben. Mittels Agents können LLMs autonom Code schreiben, testen und debuggen, wodurch die Belastung des Programmierers deutlich reduziert wird. Der Autor behauptet, dass LLMs nicht dazu bestimmt sind, Programmierer zu ersetzen, sondern leistungsstarke Assistenten zu werden, die die gesamte Entwicklungseffizienz steigern, insbesondere bei der Bearbeitung großer Mengen sich wiederholender Arbeit.

(fly.io)
Entwicklung

Die Kunst der Gruppierung von Attributwerten in HTML: Für leserlicheren Code

2025-06-02
Die Kunst der Gruppierung von Attributwerten in HTML: Für leserlicheren Code

Dieser Artikel stellt eine verbesserte Methode zur Organisation von HTML-Klassenattributen vor. Durch Hinzufügen von Leerzeichen, Zeilenumbrüchen oder anderen Zeichen innerhalb des Klassenattributwerts können verschiedene CSS-Klassen übersichtlicher gruppiert werden. Beispielsweise mit `[card] [section box] [bg-base color-primary]` oder `card | section box | bg-base color-primary` anstelle von `card-section-background1-colorRed`. Obwohl dieser Ansatz nicht ohne Einschränkungen ist (Optimierer können Leerzeichen entfernen, Präprozessoren können Werte neu ordnen), kann er die Lesbarkeit und Wartbarkeit des Codes verbessern, insbesondere in großen Projekten. Der Autor zeigt auch kreativere Möglichkeiten, die Lesbarkeit von Klassenattributen mit Emojis oder Kommentaren zu verbessern, und erinnert die Leser an die Bedeutung von Codeverständnis und Teamwork.

Entwicklung

macOS CoreAudio Zero-Day-Schwachstelle aktiv ausgenutzt: Eine detaillierte Analyse

2025-06-02
macOS CoreAudio Zero-Day-Schwachstelle aktiv ausgenutzt: Eine detaillierte Analyse

Im April 2025 veröffentlichte Apple einen Patch für einen aktiv ausgenutzten CoreAudio-Bug: CVE-2025-31200, eine Speicherfehler-Schwachstelle. Ein Sicherheitsforscher analysierte den Bug detailliert, indem er alte und neue Binärdateien verglich und die fehlerhafte Funktion identifizierte: apac::hoa::CodecConfig::Deserialize. Die Schwachstelle rührte von einem fehlerhaften Umgang mit der Größe eines Arrays während der Verarbeitung von Audiodaten her. Angreifer konnten dies für Out-of-Bounds-Lesen/Schreiben ausnutzen, was zum Absturz des Systems führte. Durch Reverse Engineering und dynamische Analyse reproduzierte der Forscher die Schwachstelle und enthüllte die Exploitierungsmethode. Sie nutzt den Apple Positional Audio Codec (APAC) aus, wobei eine speziell gestaltete Audiodatei verwendet wird, um Array-Größen zu manipulieren und Out-of-Bounds-Speicherzugriff zu erreichen. Obwohl dies zu einem Absturz führte, birgt diese Schwachstelle ein erhebliches Potenzial für komplexere Angriffe.

Entwicklung

Vanta: Ein leichter Verhaltensanalysator für Netzwerkpakete – Ein Dankeschön eines Studenten

2025-06-02
Vanta: Ein leichter Verhaltensanalysator für Netzwerkpakete – Ein Dankeschön eines Studenten

Vanta ist ein leichter, schneller und kommandozeilenbasierter Netzwerk-Verhaltensanalysator, der Protokoll-Ebene-Flüsse rekonstruiert und strukturierte Aktivitäten aus erfassten Daten extrahiert. Im Gegensatz zu vollwertigen GUI-Tools wie Wireshark konzentriert sich Vanta auf Klarheit, Struktur und Einfachheit – ideal für benutzerdefinierte Skripte und minimale Setups. Er unterstützt das Parsen von HTTP, DNS und TLS (mit partiellem Fingerprinting), rekonstruiert automatisch bidirektionale Flüsse und gibt übersichtliche JSON-Zusammenfassungen aus. Entwickelt auf einem MacBook Air M1 von einem Studenten als Dankeschön an Universitäten, die internationale Studenten unterstützt haben.

Entwicklung

Onlook: Ein visuell orientierter Open-Source-Code-Editor für Designer

2025-06-02
Onlook: Ein visuell orientierter Open-Source-Code-Editor für Designer

Onlook ist ein visuell orientierter Open-Source-Code-Editor, der mit Next.js und TailwindCSS entwickelt wurde. Designer können direkt im Browser-DOM bearbeiten und Code-Änderungen in Echtzeit sehen. Er bietet KI-Unterstützung, Drag-and-Drop-Layout-Anpassungen und die Möglichkeit, mit Rechtsklick auf ein Element direkt zum Code zu springen. Onlook befindet sich in der aktiven Entwicklung und freut sich über Beiträge der Community.

Entwicklung

Senior Backend Entwickler gesucht: Verteidigen Sie das Schlachtfeld des Gehirns

2025-06-02
Senior Backend Entwickler gesucht: Verteidigen Sie das Schlachtfeld des Gehirns

Piramidal sucht einen erfahrenen Softwareentwickler zum Aufbau und zur Wartung der Backend-Infrastruktur seiner führenden Plattform für neuronale Daten. Der ideale Kandidat verfügt über mehr als 5 Jahre Erfahrung in produktorientierten Unternehmen, Kenntnisse in Python und anderen Backend-Sprachen, Containerisierung/Orchestrierung (z. B. Kubernetes), relationalen Datenbanken (z. B. Postgres/MySQL) und Webtechnologien (z. B. JavaScript, React). Er wird eng mit ML-Ingenieuren und internen Kunden zusammenarbeiten, um sichere, effiziente und angenehme Benutzerinteraktionen und Automatisierungen zu schaffen. Das Unternehmen widmet sich dem Einsatz von Technologie zur Maximierung des menschlichen Potenzials, der Verteidigung der kognitiven Freiheit und der Bekämpfung der Kommerzialisierung und Manipulation von Köpfen.

Drei optimierte Algorithmen zur Berechnung der Kanten polygonaler Netze

2025-06-02
Drei optimierte Algorithmen zur Berechnung der Kanten polygonaler Netze

Dieser Beitrag präsentiert drei äquivalente Algorithmen zur Berechnung der Kanten eines polygonalen Netzes, die progressive Optimierungsschritte darstellen, um dasselbe Ergebnis mit steigender Effizienz zu erzielen. Beginnend mit einer Beschreibung der Darstellung der Netztopologie und der Kantenkonzepte werden drei Ansätze detailliert beschrieben: ein map-basierter Algorithmus (Komplexität O(n log n)), ein sort-basierter Algorithmus (Komplexität O(n log n)) und ein neuartiger Algorithmus mit niedrigerer Valenz (Komplexität O(n)). Der Autor vergleicht deren Leistung und hebt den innovativen Charakter und die potenziellen Anwendungen im Spieleentwicklung des Algorithmus mit niedrigerer Valenz hervor.

Entwicklung Netzverarbeitung

Der Aufstieg und Fall (und die mögliche Wiederauferstehung?) von Stack Overflow

2025-06-02
Der Aufstieg und Fall (und die mögliche Wiederauferstehung?) von Stack Overflow

Stack Overflow war einst ein Zufluchtsort für Entwickler und florierte dank einer Kultur der gegenseitigen Hilfe und des Wissensaustauschs. Ein gamifiziertes Reputationssystem förderte jedoch unbeabsichtigt den Wettbewerb statt der Zusammenarbeit und nagte langsam an der lebendigen Community. Das Aufkommen von KI verschärft diesen Trend noch weiter und lässt über die Zukunft von Entwickler-Communities nachdenken. Der Werdegang von Stack Overflow dient als Warnung: Technologieplattformen, die authentische Communities statt bloßer Content-Generierung priorisieren, haben größere Chancen zu florieren, insbesondere im Zeitalter der KI.

Entwicklung

ThorVG: Eine plattformübergreifende Vektorgrafik-Bibliothek, die die WebGPU-Revolution anführt

2025-06-02
ThorVG: Eine plattformübergreifende Vektorgrafik-Bibliothek, die die WebGPU-Revolution anführt

ThorVG bietet mehrere Implementierungen von Raster-Engines, sodass Sie die beste für Ihre Anwendung und Systemeinstellungen auswählen können. Es ist besonders im Web-Ökosystem führend. Durch die Nutzung der Compute-Shader und des modernen, ressourcenschonenden GPU-Zugriffs von WebGPU ermöglicht ThorVG eine aggressive Optimierung und breitere Anwendungen. Es unterstützt vollständig Vektor-Rendering-Funktionen über WebGPU hinaus und abstrahiert die Hardware-Beschleunigung (Metal, Vulkan, DirectX) für nahtlose plattformübergreifende Kompatibilität.

Entwicklung

Android System Font Iterator Bug Jagd: Eine Geschichte versteckter Symbole

2025-06-02

Dieser Blogbeitrag beschreibt die Behebung eines überraschend langwierigen Bugs. Android definiert verschiedene API-Level, wobei einige Symbole erst ab einer bestimmten Version verfügbar sind. Firefox für Android (Fenix) verwendet `ASystemFontIterator_open`, das erst ab API 29 verfügbar ist. Für Abwärtskompatibilität verwendet Fenix `__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__` und `__builtin_available` für Kompilierzeit- und Laufzeitprüfungen. Das Firefox-Buildsystem verwendet jedoch standardmäßig die ausgeblendete Sichtbarkeit (`-fvisibility=hidden`), wodurch das schwache Symbol `ASystemFontIterator_open` in der gemeinsam genutzten Bibliothek undefiniert wird und zu Abstürzen führt. Die Lösung bestand in einer einfachen Änderung, um die Standard-Sichtbarkeit beim Einbinden von Android-System-Headern vorübergehend zu ändern.

Entwicklung

Verkleinerung des Rust-Zieldateiverzeichnisses: Ein neuer Compiler-Flag

2025-06-02

Große Zieldateiverzeichnisse sind ein häufiges Problem für Rust-Entwickler. Dieser Beitrag beschreibt eine neue Methode, um ihre Größe deutlich zu reduzieren. Ein neuer Compiler-Flag, `-Zembed-metadata=no`, kombiniert mit einem neuen Cargo-Flag, `-Zno-embed-metadata`, verhindert redundante Metadaten-Speicherung in `.rlib`- und `.rmeta`-Dateien. Tests zeigen eine Reduzierung um bis zu 36,3 % im Release-Modus. Dieses Feature ist derzeit instabil (nightly), mit Plänen, es zum Standard zu machen, aber Abwärtskompatibilität muss sorgfältig geprüft werden.

Entwicklung

AttendLists Ruby on Rails Stack: Ein tiefer Einblick

2025-06-02
AttendLists Ruby on Rails Stack: Ein tiefer Einblick

AttendList, ein Anwesenheitstracker für Google Meet, verwendet ein Ruby on Rails Backend, das mit einer Chrome-Erweiterung interagiert. Dieser Artikel beschreibt die Infrastruktur und die gewählten Gems von AttendList, von Hintergrundjobs, Authentifizierung und Blogging bis hin zu Deployment und zusätzlichen Funktionen. Der Kern-Stack umfasst PostgreSQL, Redis, Sidekiq und RSpec. Die Authentifizierung nutzt Devise mit Google OAuth und einem inkrementellen Autorisierungsfluss. Die View-Layer verwendet Tailwind CSS und ViewComponents. Performance und Profiling werden mit Bullet und Rack Mini Profiler gehandhabt. Der Autor beschreibt auch seine kostengünstige Hosting-Lösung mit Hetzner-Servern und der Hatchbox-Deployment-Plattform.

Entwicklung

Cuss: Eine mehrsprachige Bibliothek zur Erkennung von Schimpfwörtern

2025-06-02
Cuss: Eine mehrsprachige Bibliothek zur Erkennung von Schimpfwörtern

Cuss ist eine Open-Source-Bibliothek, die Listen von Schimpfwörtern in mehreren Sprachen zusammen mit einer Vertrauensbewertung bereitstellt. Sie ist nicht dazu gedacht, Filter für Schimpfwörter zu erstellen (was der Autor nicht empfiehlt), sondern eher für die Forschung im Bereich der Verarbeitung natürlicher Sprache. Die Bibliothek unterstützt verschiedene Installationsmethoden (npm, esm.sh usw.) und enthält mehrere Sprachversionen (Englisch, Arabisch, Spanisch, Französisch, Italienisch, Portugiesisch usw.). Jedes Wort wird von 0 bis 2 bewertet, was die Wahrscheinlichkeit angibt, dass es als Schimpfwort verwendet wird. Darüber hinaus enthält die Bibliothek weitere Wortlisten, wie z. B. Schlagworte, gebräuchliche Wörter usw.

arXivLabs: Gemeinschaftsarbeit an neuen arXiv-Funktionen

2025-06-02
arXivLabs: Gemeinschaftsarbeit an neuen arXiv-Funktionen

arXivLabs ist ein experimentelles Framework, das es Mitarbeitern ermöglicht, neue arXiv-Funktionen direkt auf der Website zu entwickeln und zu teilen. Einzelpersonen und Organisationen, die daran beteiligt sind, unterstützen 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 diese teilen. Haben Sie eine Idee für ein Projekt, das der arXiv-Community zugutekommt? Erfahren Sie mehr über arXivLabs.

Entwicklung

Kan: Der Open-Source Trello-Killer?

2025-06-02
Kan: Der Open-Source Trello-Killer?

Kan ist ein Open-Source-Projektmanagement-Tool, das eine robuste Alternative zu Trello sein soll. Es bietet Kanban-Boards, Teamzusammenarbeit, Trello-Import, Label-Filterung, Kommentare, Aktivitätsprotokolle und plant zukünftig Templates und Integrationen. Der Code ist Open-Source und Beiträge sind willkommen!

Entwicklung Trello-Alternative

Arbeitslosigkeit im Bereich Informatik: Das Ende des Booms?

2025-06-02
Arbeitslosigkeit im Bereich Informatik: Das Ende des Booms?

Trotz seiner Popularität weist das Informatikstudium eine überraschend hohe Arbeitslosenquote auf. Ein aktueller Bericht platziert es auf Platz sieben der beliebtesten Studiengänge mit einer Arbeitslosenquote von 6,1 %. Der Technologieboom hat die Nachfrage befeuert, aber die darauf folgenden Entlassungen bei Giganten wie Amazon und Google haben die Lage verändert. Experten führen dies auf ein Überangebot an Absolventen zurück, denen es an praktischer Erfahrung mangelt, gepaart mit steigenden Anforderungen der Branche und einem schrumpfenden Einstiegsmarkt. Die „Schnell-reich-werden“-Narrative rund um das Programmieren kollidieren mit den harten wirtschaftlichen Realitäten.

Entwicklung

arXivLabs: Experimentelle Projekte mit Community-Mitarbeitern

2025-06-02
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, 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

Tmux: Ein tiefer Einblick in Terminal-Multiplexing

2025-06-02
Tmux: Ein tiefer Einblick in Terminal-Multiplexing

Tmux ist ein leistungsstarker Terminal-Multiplexer, mit dem Sie mehrere Terminalsitzungen, Fenster und Bereiche gleichzeitig verwalten können. Stellen Sie sich tmux als Terminal-Manager vor: Ein Server verwaltet mehrere Sitzungen; jede Sitzung enthält mehrere Fenster; jedes Fenster kann in mehrere Bereiche aufgeteilt werden, wobei jeder einen separaten Programm oder Shell ausführt. Mehrere Clients können sich gleichzeitig mit derselben Sitzung verbinden. Eine Präfix-Taste (normalerweise Strg+b) ermöglicht es Ihnen, die Komponenten von tmux einfach zu steuern und zu verwalten, um ein effizientes Terminal-Management zu gewährleisten.

Entwicklung Terminal-Multiplexing

Datenbankkonsistenz: Über die Grundlagen hinaus

2025-06-02
Datenbankkonsistenz: Über die Grundlagen hinaus

Dieser Artikel befasst sich mit den Herausforderungen bei der Aufrechterhaltung der transaktionalen Konsistenz von Datenbanken in Umgebungen mit hoher Parallelität. Anhand eines Spring-Boot-Beispiels zeigt der Autor, wie Standard-Paginierung und Idempotenzprüfungen zu Dateninkonsistenzen (fehlende Zeilen oder doppelte Aktualisierungen) führen können, wenn große Mengen an Verkaufsdaten verarbeitet werden. Der Artikel erläutert detailliert die Datenbankisolationsstufen (READ UNCOMMITED, READ COMMITED, REPEATABLE READ, SERIALIZABLE) und optimistische/pessimistische Sperrstrategien. Letztendlich löst der Autor durch die Verwendung der Isolationsstufe REPEATABLE READ und optimistischer Sperrung Dateninkonsistenzen effektiv und verbessert die Leistung deutlich.

Entwicklung Wettbewerbskontrolle

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-06-02
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 übernommen 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

iPhone Agent: Steuern Sie Ihr iOS-Gerät mit GPT-4.1

2025-06-02
iPhone Agent: Steuern Sie Ihr iOS-Gerät mit GPT-4.1

PhoneAgent ist eine iOS-App, die das GPT-4.1-Modell von OpenAI nutzt, um Ihr iPhone über mehrere Apps hinweg zu steuern. Durch Zugriff auf die Accessibility-Struktur kann sie Aufgaben wie das Senden von Nachrichten, das Herunterladen von Apps und das Tätigen von Anrufen ausführen. Sie verwendet Xcodes UI-Testing-Framework, benötigt keinen Jailbreak, ist aber experimentell und hat bekannte Einschränkungen, wie z. B. die Behandlung lang laufender Aufgaben und Animationen. Die App sendet den App-Inhalt an die OpenAI-API und kommuniziert über einen TCP-Server mit UI-Tests.

Entwicklung

HIP: Eine Single-Source-Portable Runtime-API für AMD- und NVIDIA-GPUs

2025-06-02
HIP: Eine Single-Source-Portable Runtime-API für AMD- und NVIDIA-GPUs

HIP ist eine C++-Runtime-API und Kernel-Sprache, die es Entwicklern ermöglicht, portable Anwendungen für AMD- und NVIDIA-GPUs aus einem einzigen Quellcode zu erstellen. Zu den Hauptmerkmalen gehören hohe Leistung mit minimalem Overhead, Unterstützung für Single-Source-C++-Programmierung (einschließlich Templates, Lambdas usw.) und die Möglichkeit, die besten Entwicklungstools auf jeder Plattform zu nutzen. Das HIPIFY-Tool automatisiert die Konvertierung von CUDA zu HIP, während eine manuelle Optimierung für plattformspezifische Feinabstimmung möglich ist. HIP unterstützt neue Projekte und bietet einfache Portierungsmöglichkeiten für bestehenden CUDA-Code, ist aber kein direkter Ersatz und erfordert einige manuelle Arbeit für die vollständige Portierung und Optimierung.

Entwicklung

„Nur JavaScript?“: Es komplizierter als man denkt

2025-06-02

In der Welt der Programmierung ist „Nur JavaScript“ ein oft falsch verwendeter Ausdruck. Dieser Artikel untersucht die Komplexität von JavaScript und zeigt, dass viele scheinbar einfache .js-Dateien tatsächlich auf Browser-APIs, Node.js-Umgebungsvariablen, JSX-Kompilierung, Preprozessoren, TypeScript-Typannotationen usw. angewiesen sind. Die Wahl der Laufzeitumgebung und der Toolchain beeinflusst die Ausführung des Codes stark. Der Autor verwendet eine Reihe von Beispielen, um zu veranschaulichen, dass nur „Vanilla“-JavaScript-Code, getrennt von spezifischen Laufzeitumgebungen und Toolchains, wirklich als „Nur JavaScript“ bezeichnet werden kann.

Entwicklung
1 2 69 70 71 73 75 76 77 214 215