Рубрика «Rust»

Полиморфизм, сколько в этом слове красивого и даже таинственного. Происходит оно от греческого πολύμορφος что означает — многообразный.  В программировании это понятие встречается часто и является обыденным для понимания большинством разработчиков. Но так ли обстоят дела на самом деле? 

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

Читать полностью »

Не так давно, с версии 9.2, в QEMU появилась возможность создания моделей устройств на языке Rust. Пока в режиме эксперимента.

Я люблю этот язык и не смог пройти мимо и не попробовать реализовать модель на нем. Целью преследовал обучение и удовлетворение любопытства. Я решил поделиться проделанными шагами и результатами. Возможно, это будет для кого-то полезным.

Повествование я решил разбить на несколько частей:

  1. Разбор интеграция Rust в QEMU (В данной части представлена только он).

  2. Читать полностью »

Всем привет! Пишу свою первую статью - не судите строго :-)

Сегодня хочу рассказать вам о своём проекте, а точнее показать его в деле. Надеюсь, вам будет интересно!

Введение

Netter - инструмент для быстрого и лёгкого поднятия серверов. Он поддерживает следующий функционал:

  • Запуск HTTP / HTTPS серверов;

  • Тонкая настройка логики обработки на каждый маршрут с помощью язык описания маршрутов (RDL). Используется собственный интерпретатор;

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

Читать полностью »

Python, Java, C++ и Go — как появились популярные языки программирования - 1

Привет! Мы уже рассказывали о «вымерших» языках программирования, пришла очередь самых популярных в 2025 году. Языки не придумывают «чтобы было» — для этого всегда есть предпосылки: рассказываем, кто, когда и зачем их создал. А еще делимся интересными фактами, которых вы могли не знать — а теперь будете :)Читать полностью »

Тян из 80х

Тян из 80х

Здравствуйте, уважаемые читатели!

В этой статье я хотел бы поделиться необычным и вдохновляющим проектом — реализацией арканоида в текстовом VGA-режиме, написанного полностью на Rust, без использования стандартной библиотеки и даже без аллокации памяти (#![no_std] + no_alloc).

Читать полностью »

Хочу сразу пояснить, что я лично пишу на Go уже около 10 лет и уходить от него не планирую (и я не пиарю Rust). Но тем не менее мне интересно мнение других разработчиков, которые работают или работали с Go на больших проектах. Во многом я согласен с недостатками Go, описанными ниже, так как сам сталкиваюсь с этими проблемами и на не самых больших проектах. Вот мой перевод статьи.

1. Простота Go не справляется со сложностью

Главное достоинство Go — его простота. Отсутствие сложных функций, сюрпризов и магии. Для небольших сервисов или инструментов это идеально.

Читать полностью »

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

FFmpeg — это признанный стандарт в индустрии, который умеет почти всё. Его используют популярные программы, такие как VLC, YouTube и OBS. Однако у FFmpeg есть свои подводные камни, которые могут доставить разработчикам головную боль:

  1. Высокий порог входаЧитать полностью »

Радиомаяк для LibreSDR и финальные доработки - 1

Прошлую свою заметку закончил на желании разобраться как управлять передачей на LibreSDR и организовать вывод PTT. Некоторым хитрым образом это удалось сделать. Кроме того, исследовал возможность писать на Rust для LibreSDR с использованием библиотеки libiio. Получилось сделать автономный CW маяк, работающий прям на LibreSDR без использования других компьютеров.

Читать полностью »

Java — один из наиболее часто используемых языков программирования, который мы еще не обсуждали в нашем Rust Interop Guide. В этой статье мы рассмотрим три различных метода вызова кода Rust из Java: JNI, JNR-FFI и Project Panama. Мы покажем различия между этими методами и проведем базовый бенчмаркинг для сравнения их производительности. Эти методы работают не только для Java, но и для других языков JVM, таких как Kotlin. Здесь мы в основном сосредоточимся на Java, но примеры Kotlin доступны в ветке KotlinЧитать полностью »

Пишем простой драйвер на Rust - 1


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

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js