A collection of Rust programming challenges demonstrating various concepts including async I/O, concurrent processing, and multi-producer/consumer patterns.
Async log streaming and categorization by log level from remote Apache logs.
Key concepts: Tokio async runtime, streaming HTTP requests, regex pattern matching, file I/O
IPv4 address extraction and frequency analysis from Linux system logs.
Key concepts: Async streaming, IP address parsing, BTreeMap for sorted statistics, regex
Multi-threaded robot assembly simulation using producer-consumer pattern with channels.
Key concepts: Crossbeam channels, fan-in pattern, graceful shutdown, atomic state management
Remote file system operations with both TCP and UDP implementations.
Key concepts: TCP vs UDP protocols, client-server architecture, streaming vs chunked file transfers, session management, binary serialization
You'll need Rust installed on your system. If you don't have Rust installed yet, follow the instructions below.
-
Open a terminal and run:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Follow the on-screen instructions (typically just press Enter to accept defaults)
-
Restart your terminal or run:
source $HOME/.cargo/env
-
Verify the installation:
rustc --version cargo --version
-
Download and run rustup-init.exe
-
Follow the on-screen instructions
-
Restart your terminal
-
Verify the installation:
rustc --version cargo --version
Each challenge is a standalone Rust crate. Navigate to the respective directory and follow the instructions in its README.
- Rust 2024 edition or later
- Cargo package manager (installed automatically with Rust)