Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
90 - Telegram Web
Telegram Web
#статьи
😊 Пишем простой драйвер на 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
#собес
🤔 Как создать бесконечный цикл в Rust?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
#статьи
👍 Training a Rust 1.5B Coder LM with Reinforcement Learning (GRPO)

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

Авторы применяют метод обучения с подкреплением (GRPO) с использованием обратной связи от инструментов Rust (компилятор и система сборки cargo). Это позволяет модели учиться генерировать код, который успешно компилируется, проходит линтер (cargo clippy) и unit-тесты.

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

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

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

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

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 PgDog — это инструмент для горизонтального масштабирования PostgreSQL, объединяющий функции шардирования, пула соединений и балансировщика нагрузки.

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

Основные особенности PgDog:

Шардирование: PgDog способен автоматически распределять данные между несколькими шардами, обеспечивая эффективное управление большими объёмами информации.

Пул соединений: Поддерживает транзакционное и сессионное пуллинг, позволяя тысячам клиентов использовать ограниченное количество соединений с сервером PostgreSQL, что оптимизирует использование ресурсов.

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

Благодаря этим возможностям, PgDog может управлять сотнями баз данных и обрабатывать сотни тысяч соединений, что делает его мощным инструментом для масштабирования и оптимизации производительности PostgreSQL-систем.
Гитхаб

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
3
2025/07/11 18:50:03
Back to Top
HTML Embed Code: