Обновить
127.33

Rust *

Мультипарадигмальный компилируемый язык

Сначала показывать
Порог рейтинга
Уровень сложности

Генерируем Rust обёртку для FMOD

Время на прочтение27 мин
Количество просмотров3.5K

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

Это руководство содержит общий обзор и конкретные приемы написания сложной Rust обёртки для звукового движка FMOD с помощью парсера pest и квази-цитирования.

Читать далее

Оптическое распознавание символов с помощью Rust и WebAssembly

Время на прочтение6 мин
Количество просмотров6.4K

После переписывания Cyberscore я захотел отправить на сайт какие-нибудь результаты. Последнее, во что я играл, это Pokémon Legends: Arceus, по которой на Cyberscore есть около 3000 таблиц результатов. Я не собирался отправлять столько рекордов вручную, поэтому начал придумывать инструмент для автоматизации этого процесса.

Эта статья посвящена двум вещам: процессу извлечения результатов из JPG с помощью Rust и встраиванию этого функционала во фронтенд Cyberscore.
Читать дальше →

Как устроен современный веб-синтезатор

Время на прочтение13 мин
Количество просмотров5.5K

За годы развития браузеры обзавелись множеством API и функциональных возможностей, благодаря которым превратились в невероятно мощные платформы приложений. Яркий пример — это современный веб-синтезатор, подробностями об устройстве которого делимся к старту курса по Fullstack-разработке на Python.

Читать далее

Ошибки, которые не ловит Rust

Время на прочтение61 мин
Количество просмотров21K

Мне по-прежнему интересны языки программирования. Но сегодня уже не так сильно, и не из-за того, что они позволяют мне делать, а, скорее, из-за того, что они мне делать не позволяют.

В конечном итоге, возможности того, что можно сделать при помощи языка программирования, редко ограничены самим языком: нет ничего, что можно сделать на C++, но нельзя повторить на C, при наличии бесконечного количества времени.

Если язык полон по Тьюрингу и компилируется в ассемблерный код, каким бы ни был интерфейс, вы общаетесь с одной и той же машиной. Вы ограничены возможностями оборудования, количеством его памяти (и её скоростью), подключенной к нему периферией, и так далее.

На самом деле, достаточно лишь команды mov.

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

Кроме того, есть такие аспекты, как производительность, отладкопригодность (если такого слова нет, то его стоит придумать) и дюжина других факторов, которые стоит рассмотреть при «выборе языка».
Читать дальше →

Rust 1.59.0: встроенный ассемблер, деструктурирующее присваивание, отключение инкрементальной компиляции

Время на прочтение5 мин
Количество просмотров11K

Команда Rust публикует новую версию языка — 1.59.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Читать далее

Простой показометр

Время на прочтение3 мин
Количество просмотров9.9K

С детства мне нравятся всякие мигающие лампочки на панелях управления, движущиеся стрелки и шкалы приборов – непременный атрибут фантастических фильмов о будущем и полетах в космос. Когда мне в руки попал светодиодный матричный индикатор с алиэкспресс, не смог себе отказать в удовольствии как-то применить его в хозяйстве. В результате проекта выходного дня родился очередной показометр, при создании которого пригодились знания stm32 и rust.

Подробности

Минимальная реализация Lua на Rust

Время на прочтение24 мин
Количество просмотров9.9K
После того, как вы освоите это руководство, в вашем распоряжении окажется минимальная реализация Lua (парсер, компилятор, виртуальная машина), написанная на Rust с чистого листа. Этот проект получил название Lust, его код можно найти на GitHub.

Читать дальше →

Rustenstein 3D: программируем, как будто сейчас 1992 год

Время на прочтение11 мин
Количество просмотров11K
image

Дважды в год компания NextRoll организует мероприятие Hack Week, на котором сотрудники на неделю берутся за проект по своему выбору. Это превосходная возможность для экспериментов, изучения новых технологий и объединения с людьми из всех отделов компании. Узнать о Hack Week подробнее можно здесь.

Так как NextRoll всё активнее использует язык программирования Rust, на Hack Week инженеры обычно пытаются получить опыт работы с ним. Ещё одним популярным вариантом выбора является работа над видеоиграми, и, как вы уже могли догадаться, мы часто видим в проектах сочетание видеоигр и языка Rust.

В прошлом году группа сотрудников работала над развитием моей игры rpg-cli. На этот раз захотелось пойти дальше и взять проект, который показывает некоторые из сильных сторон Rust: низкоуровневым программированием, высоконагруженными вычислениями и операционной совместимостью данных с языком C. Поэтому мы решили портировать на Rust классическую игру Wolfenstein 3D.
Читать дальше →

Tarantool: ускорение разработки с Rust

Время на прочтение17 мин
Количество просмотров13K

Tarantool, как известно, поддерживает любой язык, который совместим с C и компилируется в машинный код. В том числе есть возможность реализации хранимых функций и модулей на Lua и C. Тем не менее, уже в двух своих проектах мы использовали Rust (в одном полностью перенесли Lua-код на Rust) и получили 5-кратное увеличение производительности по сравнению с Lua и сопоставимый результат, который дает по производительности C.

Читать далее

ULE — самописное MC Java ядро. Часть #1.1 — HelloWorld и изменения…

Время на прочтение16 мин
Количество просмотров7.9K

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

Переход с Go на Rust дал огромный прирост производительности и теперь ядро сверх быстрое. Ядро использует всего 128KB ОЗУ и запускается за менее 1мс)

Читать далее

Вангеры 3D: пример использования Emscripten в Rust

Время на прочтение5 мин
Количество просмотров10K

Вангеры в 2022 году продолжают удивлять, прежде всего людьми которые когда-то полюбили эту игру, но сегодня не забывают и вкладывают много сил, делая её лучше, современнее. Оригинальная игра получила обновление с поддержкой полноценного 3D, да не абы какого, а кросс платформенного - работающего на всех системах и даже в браузере. Статья о том, как нетипичная связка технологий помогла запустить обновление в браузере.

Читать далее

Как одной строкой сделать 24-ядерный сервер медленнее ноутбука

Время на прочтение11 мин
Количество просмотров24K


Лучше учиться на чужих ошибках, поэтому мы в М.Видео-Эльдорадо стремимся изучать зарубежный опыт. Предлагаем и вам посмотреть перевод статьи Петра Колачковского, получившего черный пояс по прокачке производительности своего железа.
Читать дальше →

Эволюция разумна?

Время на прочтение14 мин
Количество просмотров7.1K

Приветствую, хабрчане! Сегодня речь пойдёт об одном, на мой взгляд, интересном варианте алгоритма для самообучающейся системы. Идея подобной статьи зрела давно, однаĸо руĸи всё не доходили.

Рассматриваемую ниже модель можно споĸойно отнести ĸ областям эволюционного моделирования и роевого интеллеĸта, однаĸо с заделом на дальнейшую интеграцию с существующими наработĸами в области нейросетей. Но, обо всём попорядĸу...

Читать далее

Ближайшие события

Программирование микроконтроллера PIC32 с помощью Rust

Время на прочтение8 мин
Количество просмотров14K

Простой проект для начинающих электронщиков, которые непрочь попрактиковаться в программировании микроконтроллеров серии PIC32MX на Rust. Здесь мы соберем макетную плату со светодиодом, напишем короткую программу, чтобы им помигать, и загрузим эту программу в микроконтроллер, попутно разобрав нюансы работы с контейнерами Rust и программатором.
Читать дальше →

Пишем с комфортом на Rust в Visual Studio Code

Время на прочтение3 мин
Количество просмотров41K

Хочешь писать на Rust, но не знаешь в чём?

Нет денег на CLion или Intellij Ultimate, но тебе нужно отлаживать код?

Очень нравится Visual Studio Code, но при виде кучи плагинов разбегаются глаза?

Если на любой из вопросов выше ты ответил "да" - залетай.

Залететь

Rust 1.58.0: захватываемые идентификаторы, пути поиска в Windows, больше #[must_use] в стандартной библиотеке

Время на прочтение4 мин
Количество просмотров5.8K

Команда Rust рада представить новую версию языка — 1.58.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.58.0 вам достаточно выполнить команду:


rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.58.0 на GitHub.


Что стабилизировано в 1.58.0


В Rust 1.58 появились захваченные идентификаторы в форматируемых строках, изменился путь поиска в Windows для Command, в стандартной библиотеке стало больше аннотаций #[must_use], а также были стабилизированы некоторые функции.

Читать дальше →

Мониторинг веб-приложения на Rust с использованием Prometheus и Grafana

Время на прочтение13 мин
Количество просмотров14K

В статье показано как настроить мониторинг веб-приложения на Rust. Приложение выставляет наружу Prometheus метрики, которые визуализируются с помощью Grafana. Мониторинг осуществляется для проекта mongodb-redis demo, детально рассмотренного здесь. В итоге получена следующая архитектура:


architecture

Читать дальше →

Логика в протоколе. Генерируем сетевое решение

Время на прочтение20 мин
Количество просмотров3.6K

Ниже разговор пойдет о проектировании и реализации сетевых приложений; о том как скрестить ужа с ежом rust с typescript; о том как тяжело жить без протокола и как же легко и хорошо с ним; о том как написать работающий чат за 10 минут на typescript/rust или не за 10, но всё равно быстро… В общем под катом долгий, местами нудный рассказ, а в конце даже небольшой интерактив. Всем кому нравятся слова: порядок, предсказуемость и протокол… прошу.

Читать далее

RustCon Russia 2021: как прошла конференция, и о чем там говорили

Время на прочтение5 мин
Количество просмотров5.1K

RustCon Russia 2021: как прошла конференция, и что на ней обсуждали

Читать далее