Рубрика «Rust» - 3

Часть 1: Боль от использования Pinokio

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

Вычисляем коэффициент популярности крейтов Rust для работы и для хобби-проектов - 1

Взявшись за эту задачу, я около двух часов ваял небольшой скрипт, который будет скрейпить данные из базы крейтов Rust crates.ioЧитать полностью »

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

  1. Собственно сеть или аккумулятор;

  2. Индуктивности кабельных линий;

  3. Емкости DC звена инвертора;

  4. Магнитная система электродвигателя;

  5. Кинетическая энергия ротора и механизма.

Дополнительно влияют:

  1. Упругие деформации валов или канатов. (Зависит от механизма);

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

Привет! 👋

Меня зовут Данил, и сегодня я расскажу про свой проект — DotPlus.

Это кроссплатформенное настольное приложение на Rust для генерации QR и штрихкодов в офлайн-режиме, без браузеров, API и регистрации. Оно поддерживает как графический, так и консольный интерфейс, и работает с CSV-файлами для пакетной генерации.

🔧 Зачем это нужно?

Проект появился из личной необходимости: нужно было быстро и массово генерировать QR- и штрихкоды для логистики — без сторонних сервисов и вручную через Excel. Существующие решения часто:

Привет! 👋

Недавно я собрал небольшой, но бодрый pet-проект — Telegram AI Companion. Это Telegram-бот, который умеет болтать с вами, используя локальную языковую модель через LocalAI. Без OpenAI, без облаков — всё на своём железе.

Цель проекта — не революция в AI, а именно учебное и увлекательное погружение в Rust, асинхронность, Telegram API и локальные LLM-модели. Такой себе “бот-компаньон”, но больше для разработчика, чем пользователя :)

Если вам интересно:

  • Как соединить Telegram-бота с локальной LLM

  • Как запускать Rust-проекты в Docker

  • Как построить REST API и обрабатывать вебхукиЧитать полностью »

Метапрограммирование 2.0: макросы и генерация кода в современном мире - 1


Забудьте про скучные «Hello, World». Макросы и шаблоны давно стали полноценными инструментами архитектора кода: от хитрых C++-шаблонов до процедурных макросов Rust и Java-аннотаций, автоматически генерирующих целые фреймворки. 

В этой статье мы рассмотрим примеры, где metaprogramming избавляет от рутины и экономит часы работы над проектом. Детали как всегда под катом.Читать полностью »

hyper - это низкоуровневая HTTP-библиотека на Rust. Обычно она служит строительным блоком для более высокоуровневых библиотек, таких как axum, tonic, reqwest и других. Но иногда знание hyper могут требовать в вакансиях.

hyper предоставляет api как для клиента, так и для сервера, но в этой статье мы сосредоточимся исключительно на серверной части.

Первый "Hello, World!"

Создаём новый проект:

cargo new hyper-server

Добавим зависимости в Cargo.toml:

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

Trait'ы в Rust — это один из ключевых инструментов абстракции. Они позволяют определить поведение, которое можно реализовать для различных типов. Trait'ы обеспечивают способ выразить «что умеет делать» тип, не указывая его точной природы. В этой главе мы детально разберём базовые конструкции trait'ов и шаг за шагом перейдём к их применению в контексте динамической диспетчеризации.

Что такое Trait — и зачем он нужен?

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

trait Drawable {
    fn draw(&self);
}

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

Упячка давит

Упячка давит

Давно горел идеей разработать прототип игры Super Mario. Поэтому в этой статье мы рассмотрим создание 2D-платформера с анимацией, взрывами, полосой здоровья и движущимися врагами — полностью на Rust с использованием библиотеки macroquad.

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

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

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

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


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