Rust Backend | YeaHub
177 subscribers
50 photos
15 videos
152 links
Теория, подготовка к интервью и курсы для Rust разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
👍 Библиотека Rustworkx - это высокопроизводительное средство для работы с графами на Python, написанное на Rust.

Она была разработана как альтернатива NetworkX, но с упором на производительность: реализация на Rust даёт значительный прирост скорости при сохранении удобного Python-интерфейса через PyO3. Поддерживаются как направленные, так и ненаправленные графы, деревья, DAG-и, и всё это — с кастомными атрибутами узлов и рёбер.

rustworkx предоставляет большое количество алгоритмов: обходы в глубину/ширину, кратчайшие пути (Dijkstra, A*), топологическую сортировку, поиск мостов, минимальные остовные деревья, изоморфизм графов, и многое другое.

Особенно полезна для задач, где критична производительность графовых операций: квантовые вычисления, биоинформатика, планировщики, оптимизация.

Установка:


pip install rustworkx

Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #RabbitMQ
🤔 Что такое RabbitMQ?

RabbitMQ — это брокер сообщений, который организует передачу данных между различными приложениями или компонентами через очереди. Он позволяет эффективно распределять задачи, обеспечивать асинхронность и масштабируемость.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
😬 1-ого июня Илон Маск придумал телеграм анонсировал новый XChat.

Новый XChat теперь доступен с шифрованием, самоуничтожением сообщений, возможностью отправки любых типов файлов и поддержкой аудио- и видеозвонков.

Приложение создано на Rust и использует шифрование (как в Биткойн) и новую архитектуру.

А еще можно звонить без номера телефона.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #Rust
🤔 В чём разница между .unwrap() и .expect() в Rust?

Метод .unwrap() вызывает панику, если значение отсутствует, отображая стандартное сообщение об ошибке. Метод .expect() делает то же самое, но позволяет указать собственное сообщение об ошибке.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
📞 PurrCrypt — шифратор на Rust, который маскирует серьёзную криптографию под мурлыканье котиков.

Под забавным интерфейсом — настоящая эллиптическая криптография, как у биткоина.
И да, есть режим с собаками
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Rust
🤔 Как можно изменять переменные в Rust?

B Rust данные по умолчанию неизменяемы. Чтобы сделать переменную изменяемой, используется ключевое слово mut .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😱 Chain-Fox — кроссплатформенный блокчейн-кошелёк с открытым исходным кодом

Chain-Fox — это лёгкий, но функциональный десктопный кошелёк для работы с блокчейнами, разработанный на Rust с использованием Tauri и React. Проект ориентирован на безопасность, прозрачность и максимальную простоту.

Ключевые возможности:
🔎 Работа без необходимости запускать узел (light wallet)
🔎 Поддержка нескольких кошельков и аккаунтов
🔎 Отображение баланса и истории транзакций
🔎 Генерация новых адресов и экспорт ключей
🔎 Кроссплатформенность: работает на Windows, macOS и Linux

Стек технологий:
- Ядро написано на Rust
- Интерфейс — на React + Tauri
- Криптография через secp256k1
- Хранение данных — sled

Отлично подходит для:
🟠 Изучения разработки блокчейн-кошельков
🟠 Создания кастомных криптографических интерфейсов
🟠 Прототипирования криптосервисов на основе Tauri
Гитхаб

Открытый код — разбирай, форкай, дорабатывай. Это хороший пример, как Rust + React дают мощный и лёгкий кошелёк.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Как создать бесконечный цикл в Rust?

Для создания бесконечного цикла используется ключевое слово looр . Для выхода из цикла применяется ключевое слово break .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😊 Quadratic — электронные таблицы нового поколения с кодом и ИИ. Проект предоставляет гибридную среду, где формулы, Python и SQL работают бок о бок, позволяя анализировать миллионы строк прямо в браузере без потерь производительности.

Особенность инструмента — технологичный стек (Rust, WebAssembly, WebGL). Интерфейс с поддержкой 60 FPS и масштабированием как в Figma делает работу с большими данными неожиданно плавной.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Приведите пример impl-блока в Rust

impl -блок используется для добавления методов к структурам или перечислениям. Это позволяет инкапсулировать логику, связанную с определённым типом данных.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🛞 PartyDeck‑RS — мультиплеерный лаунчер с разделённым экраном для Linux/SteamOS

partydeck‑rs — это лаунчер, написанный на Rust, который позволяет запускать до 4 копий одной игры одновременно — с автопозиционированием окон, разграничением контроллеров и сохранений.

Основные возможности

🟠 Запуск до 4 экземпляров игры с автоматическим размещением окон на одном экране
🟠 Поддержка как Linux-игр, так и Windows-версий через Proton
🟠 Эмуляция Steam Multiplayer API для запуска нескольких копий локально
🟠 Контроллеры без конфликтов — каждый экземпляр видит только свой контроллер благодаря bubblewrap
🟠 Профили игроков: отдельные сохранения и настройки
🟠 Поддерживает SteamOS (без дополнительной настройки)

Установка и использование

1⃣ Скачать [релиз](#) (например, `partydeck-rs-0.3.2`) и распаковать.
2⃣ На SteamOS (версия 3.7+): запустить partydeck-rs или добавить PartyDeckKWinLaunch.sh как non‑Steam игру — и отключить Steam Input в настройках
3⃣ На Desktop Linux с KDE Plasma:
- Убедиться, что установлены Gamescope и bubblewrap
- Запустить partydeck-rs из терминала

При первом запуске автоматически скачиваются UMU Launcher и Goldberg Steam Emu

Последние версии

- v0.3.2 "Laying Low" (3 июня 2025):
- Исправлено создание папки AppData/LocalLow для Proton-игр
- Встроен новый handler для Luma Island
- v0.3.1 "Dual‑Sensed" (2 июня 2025):
- Улучшена поддержка PS4/PS5 контроллеров через ProtonGE {index=6}
- v0.3.0 "Steamed Hams" (2 июня 2025):
- Автоматический поиск Steam-установок
- Проверка обновлений и начало работы над автообновлением
- Обновлён формат handler’ов (имена полей Steam API)
- Включён шаблон handler’а для упрощённого создания

Ограничения и планы

🟢 Не поддерживает AppImage/Flatpak — только исполняемые файлы
🟢 Пока работает только на одном экране; мульти‑монитор и мышь/клавиатура — в планах- UI простое, без прогресс‑баров — заморозка интерфейса возможна
🟢 Желание улучшить контроллер‑ориентированный UI, но пока нет планов

Архитектура

Используются:

🔵 KWin-session для управления окнами
🔵 Gamescope для каждого экземпляра и обработки контроллеров
🔵 Bubblewrap — разграничение устройств и директорий
🔵 Steam Runtime/Proton — для совместимости Windows-игр
🔵 Goldberg Steam Emu — для эмуляции Steam‑сети в мультиплеере
Зачем это нужно

Это удобное решение для локального кооператива на ПК, особенно на одном экране. Игры, изначально не поддерживающие split-screen, теперь можно запускать вместе с друзьями.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Чем отличается enum o struct в Rust?

Struct используется для объединения данных, где все поля всегда присутствуют, что удобно для хранения сложных объектов с фиксированными свойствами. Enum, напротив, позволяет хранить одно значение из нескольких вариантов, что делает его полезным для представления состояния или выбора ИЗ НеСкольких опций.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 toydb — это распределённая SQL-база данных, реализованная на Rust с нуля, включая журнал предзаписи (write-ahead log), хранилище на основе B-деревьев, транзакции с сериализуемой изоляцией, согласование с помощью Raft и SQL-парсер/исполнитель.

Особенности:

🟠 Полная реализация Raft с поддержкой снапшотов
🟠 SQL-парсер и исполнитель, поддерживающий выборку, фильтрацию, агрегацию, соединения, подзапросы и т.д.
🟠 Хранилище ключ-значение на основе B-деревьев с журналом предзаписи
🟠 Механизм MVCC с сериализуемой изоляцией и детекцией конфликтов
🟠 Планировщик транзакций с дедлок-детекцией
🟠 Управление схемой SQL (таблицы, индексы, и т.д.)

Цель проекта — изучение реализации распределённых баз данных с нуля. Он не предназначен для использования в продакшене.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Как вы можете использовать cargo для создания и тестирования кода на Rust?

Cargo - это система управления проектами и пакетный менеджер для Rust. Команда cargo build используется для сборки проекта, a cargo test запускает тесты. Флаг --release позволяет компилировать проект с оптимизацией для производственной среды.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Новый SQL-клиент на Rust rsql
Лёгкий, быстрый и мощный инструмент для работы с файлами и базами данных из терминала.

Что умеет

🟠 Поддержка множества форматов: CSV, JSON, Parquet, Excel, XML, YAML, Avro и др.
🟠 Подключение к SQLite, PostgreSQL, MySQL, SQL Server, DuckDB, Snowflake, CrateDB и даже DynamoDB
🟠 Работа с архивами: Gzip, Zstd, Brotli, LZ4, Bzip2 и др.
🟠 Удобная CLI: автодополнение, подсветка, история, интерактивный REPL
🟠 Вывод в разных форматах: Markdown, HTML, JSON, CSV, plaintext
🟠 100 % безопасный Rust-код — #![forbid(unsafe_code)]
🟠 Кастомизация: Vi/Emacs режимы, локализации, собственные темы вывода

Установка

curl -LsSf https://raw.githubusercontent.com/theseus-rs/rsql/main/install.sh | sh


Пример использования

# Одноразовый запрос к SQLite
rsql --url "sqlite://file.db" -- "SELECT * FROM users LIMIT 5;"

# Интерактивная сессия с PostgreSQL
rsql --url "postgres://user:pass@localhost/db"


Добавлены драйверы CrateDB и FlightSQL

Появился metadata-catalog для удобной навигации по источникам данных

Улучшены примеры, обновлены зависимости, повышена стабильность

GitHub

rsql — универсальный инструмент, который понравится аналитикам, разработчикам и data-инженерам, нуждающимся в максимально быстром и простом SQL-клиенте.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Почему программы, написанные на Rust, потребляют небольшой объем памяти?

Rust выделяет память только по мере необходимости и освобождает её автоматически сразу после завершения операции. Отсутствие сборщика мусора позволяет минимизировать затраты памяти, так как память не остаётся выделенной дольше, чем требуется.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 «Zero To Production In Rust»

Это субъективное введение в разработку backend-приложений на Rust.

Этот репозиторий служит вспомогательным материалом к книге: он содержит несколько снимков (состояний) кодовой базы проекта рассылки по электронной почте, отражающих её развитие по мере продвижения по книге.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Почему Rust имеет такую высокую производительность?

Rust достигает высокой производительности, компилируясь напрямую в машинный код. Он не использует интерпретатор или сборщик мусора, что позволяет программам работать с минимальными накладными расходами. Оптимизации на уровне компиляции делают Rust идеальным выбором для задач, требующих высокой скорости выполнения.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Сегодня узнал про атрибут #[cold] — его используют для функций, которые вызываются редко. Это помогает компилятору оптимизировать производительность кэша инструкций, сосредотачивая внимание на «горячих» функциях.

Атрибут #[cold] также можно применять к вариантам enum'ов, чтобы улучшить размещение в памяти.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
#Собес #Rust
🤔 Что происходит с заимствованными данными после завершения функции?

При заимствовании данных их владение остаётся у первоначального владельца, а не передаётся функции. Поэтому данные остаются доступными после завершения функции.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM