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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес
🤔 Что такое супер-трейт в Rust?

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

👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
😱 Вышел Rust 1.85.0!

В этом выпуске не только добавлены асинхронные замыкания, но и полностью новая версия Rust Edition, Rust 2024!
Смотреть изменения

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
😅 MinDNS

Минимальный DNS-сервер, написанный на Rust, с системой правил и журналированием.
Гитхаб

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

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

👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#статьи
🤯 Rust: безопасный парсинг с нулевым копированием

В мире программирования производительность и безопасность данных — это два важных аспекта, которые часто находятся в конфликте. Однако Rust предлагает уникальные инструменты, позволяющие разрабатывать эффективные и безопасные парсеры, используя zero-copy технику. В этой статье автор делится своими находками и рассказывает, как Rust помогает избежать избыточных аллокаций памяти, сохраняя при этом строгую безопасность.

📌 Что такое zero-copy парсинг?
Zero-copy — это техника обработки данных без создания дополнительных копий в памяти. В Rust это достигается за счёт продвинутой системы владения и заимствования (ownership & borrowing). Вместо копирования байтов Rust позволяет ссылаться на данные напрямую, что значительно ускоряет обработку.
ТЫК на itnext
(понадобится VPN)

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 mail-server

Безопасный и современный почтовый сервер «все в одном» (IMAP, JMAP, POP3, SMTP)
Гитхаб

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#собес
🤔 Расскажи про Rust

Rust - это язык программирования для системного программирования с акцентом на безопасность памяти и высокую производительность. Этот вопрос проверяет понимание базовых характеристик Rust.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Maelstrom

Это инструмент для запуска тестов, который обеспечивает изоляцию каждого теста в отдельном контейнере!

Основные особенности Maelstrom

🟠 Изоляция тестов: Каждый тест запускается в своем собственном легковесном контейнере, что предотвращает взаимное влияние тестов друг на друга и обеспечивает чистоту окружения.

🟠 Поддержка нескольких языков: Maelstrom предоставляет инструменты для работы с тестами на Rust (cargo-maelstrom), Go (maelstrom-go-test) и Python (maelstrom-pytest), предлагая простую интеграцию с существующими проектами.

🟠 Масштабируемость: Возможность настройки кластера для распределенного выполнения тестов, что позволяет увеличивать пропускную способность тестирования путем добавления новых рабочих узлов.

🟠 Высокая производительность: Собственная реализация контейнеров на Rust обеспечивает низкие накладные расходы и быструю инициализацию, что ускоряет процесс тестирования по сравнению с традиционными методами.
Гитхаб

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Пишем простой драйвер на Rust

Популярность Rust неуклонно растёт, а с ней и сопутствующая экосистема. И оно не удивительно, ведь это единственный современный язык, который обеспечивает безопасность памяти и многопоточной обработки на этапе компиляции, предоставляя мощную и богатую систему сборки (cargo), а также всё больше различных пакетов (крейтов).

В своей повседневной работе я по-прежнему придерживаюсь C++, так как основная её часть связана с низкоуровневым программированием систем и ядра, а из этого языка легко задействовать написанный на С Windows API и COM API.

Rust — это язык для системного программирования, то есть он может справляться с теми же задачами, что и C/C++. Основное неудобство при этом создаёт громоздкий синтаксис, необходимый для преобразования типов С в типы Rust. Но это неудобство можно преодолеть, используя подобающие обёртки и макросы.

Короче говоря, я решил попробовать написать простой и полезный драйвер WDM. Это будет Rust-версия драйвера «Booster», о котором я пишу в своей книге (Windows Kernel Programming), позволяющего изменять приоритет любого потока на любое значение.
Читать статью

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#полезное
😬 Rust-libp2p

Это библиотека, реализующая стек протоколов libp2p на языке Rust. Она предназначена для создания peer-to-peer (P2P) сетевых приложений и децентрализованных систем.

Основные особенности и предназначение инструмента:

🟠Модульность и масштабируемость
Предоставляет набор компонентов для построения сетевого взаимодействия, таких как обнаружение узлов, мультиплексирование соединений, маршрутизация и шифрование.
Безопасность и производительность: Использование Rust обеспечивает высокую безопасность памяти и производительность, что особенно важно в распределённых системах.
🟠Применение в децентрализованных проектах
Инструмент используется в таких проектах, как IPFS, блокчейн-сети и другие распределённые приложения, где необходим надёжный обмен данными между участниками сети.
Гитхаб

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😅 В резюме: уверенный пользователь пк

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Dioxus

Это современный фреймворк для разработки UI на Rust, похожий на React, но с преимуществами производительности и безопасностью Rust. Он поддерживает рендеринг на Web, Desktop, Mobile и даже TUI.
Гитхаб

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 Scooter

Э
то интерактивное приложение для поиска и замены текста непосредственно в терминале.

Разработанный на Rust и лицензированный по MIT, Scooter предлагает удобный и быстрый способ редактирования файлов, что особенно полезно для разработчиков и системных администраторов.

Основные особенности и интересные аспекты проекта

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

🟠Поддержка регулярных выражений
Помимо поиска по фиксированным строкам, Scooter поддерживает использование регулярных выражений с возможностью задействования capture-групп. Это позволяет создавать сложные шаблоны для замены, адаптированные под конкретные задачи.

🟠Интеграция с системными файлами
Scooter учитывает файлы, указанные в .gitignore и .ignore, что позволяет исключать ненужные каталоги из поиска и сосредоточиться на актуальных данных.

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

🟠Интеграция с редакторами
Существуют конфигурации для интеграции с популярными редакторами, такими как Neovim и Helix, что позволяет запускать Scooter в виде плавающего окна, не покидая среды разработки.

Scooter представляет интерес благодаря своей простоте и эффективности, а также тому, что он решает реальную проблему – быстрое и точное редактирование большого объема текстовой информации в командной строке. Это делает его полезным инструментом для разработчиков, системных администраторов и всех, кто работает с текстовыми файлами в терминале.
Гитхаб

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😅 Punktf

Punktf - кроссплатформенный менеджер dotfiles, написанный на Rust, который упрощает управление и синхронизацию конфигурационных файлов на разных системах.

Для Rust-разработчика проект полезен своей производительностью, безопасностью и удобством автоматизации настройки среды, что облегчает перенос конфигураций между устройствами.
brew install michidk/tools/punktf
Гитхаб

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
POV: как программисты комментируют свой код.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#статьи
👍 5 алгоритмов на Rust, которые должен знать каждый разработчик

Кто-то приходит в Rust ради безопасной работы с памятью, кто-то — ради скорости, а кто-то просто потому, что «все нормальные языки уже попробовал». Но что бы ни привело вас в этот уголок низкоуровневой мощи, без хорошего знания алгоритмов далеко не уедешь.

Писать код на Rust — это не просто бороться с borrow checker, но и делать его действительно эффективным. Ведь никакой язык не спасет от тормозов, если алгоритмы выбраны неудачно.

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

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