9 Repos
Layered stream wrappers that apply real-time operations like hashing, encryption, or decompression.
Distinct from Streaming I/O: Distinct from Real-Time Data Streaming as it focuses on a decorator-style pipeline for individual streams, not event-driven platforms.
Explore 9 awesome GitHub repositories matching software engineering & architecture · Streaming Data Transformations. Refine with filters or upvote what's useful.
Okio is a Java I/O library providing a set of tools for efficient byte-stream processing and file system operations. It functions as a buffered byte stream handler and streaming data transformer, utilizing a cross-platform file system API to manage data movement. The project is distinguished by its use of pooled mutable byte buffers that treat sequences as queues to reduce memory copying and garbage collection churn. It further decouples file operations from the host operating system through an abstraction-based file system, allowing for consistent path manipulation and atomic operations acro
Layers sources to perform real-time operations such as decompression, decryption, or hashing as data is read.
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Implements data transformation via transducers and internal buffers within a streaming pipeline.
Fluvio ist eine verteilte Event-Streaming-Plattform und eine Cloud-native Streaming-Engine, die für das Sammeln, Persistieren und Replizieren von Echtzeit-Datenströmen über einen verteilten Cluster hinweg entwickelt wurde. Sie fungiert als Echtzeit-Datenpipeline für den Aufbau zustandsbehafteter Workflows, die Daten zwischen externen Quellen und Senken aufnehmen, anreichern und exportieren. Die Plattform zeichnet sich durch die Verwendung von WebAssembly zur Ausführung kompilierter Module für In-Line-Datentransformationen und -filterung aus. Dies ermöglicht die Ausführung benutzerdefinierter Geschäftslogik, um Informationen während der Übertragung umzuformen, ohne den Cluster neu starten zu müssen. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich connector-basierter Datenaufnahme aus externen Protokollen, log-strukturierter unveränderlicher Speicherung mit Zero-Copy-IO und horizontaler Clusterskalierung. Es unterstützt die Erstellung komplexer ereignisgesteuerter Pipelines, die zustandsbehaftete Verarbeitung, fensterbasierte Aggregationen und partitionierte Datenverteilung nutzen. Die Engine kann als leichtgewichtiges Binärprogramm auf diversen Systemarchitekturen bereitgestellt werden, einschließlich ARM64-IoT-Geräten für die Datenverarbeitung am Edge.
Executes custom functions to process or modify data in motion during production or consumption.
Dieses Projekt bietet eine formale Spezifikation und eine Reihe von Standard-Java-Interfaces für die asynchrone Stream-Verarbeitung. Es definiert ein standardisiertes Protokoll für die Weitergabe von Elementsequenzen zwischen Publishern und Subscribern über verschiedene Threads hinweg, wobei der Fokus auf einer Reactive-Streams-Spezifikation für die JVM liegt. Das Projekt konzentriert sich auf Interoperabilität durch die Bereitstellung einer gemeinsamen API, die es ermöglicht, dass verschiedene asynchrone Streaming-Bibliotheken zusammenarbeiten. Dies wird durch einen Standardsatz von Interfaces und Bridging-Mechanismen erreicht, die zwischen inkompatiblen Streaming-Spezifikationen übersetzen. Die Spezifikation deckt ein nicht-blockierendes Backpressure-Protokoll ab, um den Datenfluss zu regulieren und Systemüberlastungen zu verhindern, indem Subscriber aufgefordert werden, Bedarf zu signalisieren. Sie definiert zudem den Lebenszyklus von Streams, einschließlich Abonnement-Management, Elementverarbeitung und signalbasierter Beendigung zur Ressourcenbereinigung. Das Projekt enthält ein Framework zur Überprüfung des Stream-Verhaltens, um die Verarbeitungslogik gegen Regeln für Backpressure und asynchrone Ereignisse zu validieren.
Provides capabilities to manipulate data as it flows through a processing stage by acting as both consumer and provider.
This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an in-depth examination of the runtime, focusing on how the engine manages memory handles, executes asynchronous operations, and implements core module logic. The guide specifically analyzes the integration of native C++ classes and functions into JavaScript and documents the behavior of the libuv event loop. It includes detailed references for optimizing performance by identifying V8 compiler bailouts and profiling execution to improve resource efficiency. The material covers a
Analyzes the use of layered stream wrappers to modify or compress data in real-time.
Dieses Projekt ist ein instruktives Repository und eine Lernressource, die eine umfassende Sammlung von Studiennotizen, Programmierleitfäden und ausführbaren Codebeispielen bietet. Es dient als Leitfaden für Java SE- und Java-Webentwicklung und enthält eine Bibliothek mit Code-Samples, die gängige Algorithmen und technische Implementierungen demonstrieren. Das Repository konzentriert sich auf die Analyse des Sprachkerns und der Laufzeitumgebung, mit detaillierten Tutorials zu Multithreading und Concurrency. Es bietet praktische Implementierungen von Softwarearchitekturen und Entwurfsmustern, wie etwa Singleton- oder Strategie-Pattern, sowie Einblicke in die Java Virtual Machine und Bytecode. Das Projekt deckt ein breites Spektrum an Fähigkeiten ab, darunter Sprachgrundlagen wie Generics und Annotations, Grundlagen der Webentwicklung wie HTTP-Request-Handling und Session-Management sowie Concurrency-Primitive für Thread-Lebenszyklen und Ressourcen-Synchronisation. Zudem sind Hilfsprogramme für Sicherheit, Datenverarbeitung und dynamische Seitengenerierung enthalten.
Implements stream-based data transformations using filtering, mapping, and reducing operations.
Diese Bibliothek ist ein CSV-Datenserialisierer und Stringifier für die Transformation strukturierter Datensätze in kommagetrennte Werte. Sie bietet Tools für die Konvertierung von Datensätzen in Klartext mittels synchroner, callback-basierter oder stream-basierter Implementierungen. Das Projekt zeichnet sich durch eine Streaming-Implementierung mittels der nativen Node.js-Transform-API aus, die die Verarbeitung großer Datensätze ermöglicht, ohne alle Datensätze in den Arbeitsspeicher zu laden. Es enthält zudem ein flexibles Formatierungssystem zur Definition spezifischer Trennzeichen, Anführungszeichen, Escape-Zeichen und Header-Konfigurationen. Das Toolset deckt die Automatisierung von Datenexporten und das Mapping von Datensätzen zu Strings ab, was die programmatische Generierung von Dateien aus Datenbankeinträgen oder API-Antworten ermöglicht.
Implements a Node.js transform stream to process large datasets for CSV conversion without overloading memory.
This project is a comprehensive learning resource and technical reference for reactive programming with RxJS. It provides a structured curriculum, curated examples, and an indexed operator catalog to help developers shift from imperative to declarative programming using observable data streams and functional operators. The repository features a library of reactive UI patterns and implementation recipes. These cover practical applications such as type-ahead search, game loops, gesture-based interactions like swipe-to-refresh, and security overlays like lockscreens. The resource covers a broad
Provides a comprehensive set of operators to reshape and map emitted values using projection functions.
This project serves as a comprehensive educational roadmap and curriculum for mastering professional Android application development. It provides a structured learning path that guides developers through the essential system design principles, architectural patterns, and technical skills required to build, test, and deploy scalable mobile software. The resource distinguishes itself by organizing complex technical topics into a logical sequence, covering everything from foundational mobile development tooling to advanced software engineering practices. It emphasizes industry-standard patterns
Modifies or converts emitted data into different formats or types before it reaches the final consumer.