| Date | Title | Description |
| 03.02.2026 | Выпуск Rust Coreutils 0.6.0 | 2 февраля 2026 года состоялся релиз открытого проекта Rust Coreutils 0.6.0 (uutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более сотни утилит, включая wc, ls, tail, se, sort, cat, chmo... |
| 29.01.2026 | Разработчик представил vcad — Rust-библиотеку для параметрического CAD-моделирования | Инженер Кам Педерсен (Cam Pedersen) выпустил Rust-библиотеку vcad, предназначенную для параметрического CAD-моделирования. С помощью кода можно задать практически любую деталь и экспортировать в STL и других форматах.
Автор vcad работает в ... |
| 29.01.2026 | Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы | Всем доброго дня! В предыдущей статье Kawai-Focus 2.1: переезд на новый стек я:
Объяснил, почему перехожу с Kivy на новый стек;
Перевёл часть кода на новый стек: FastAPI + Vue.js + Tauri + Ionic;
Собрал приложение для Linux в формате AppIma... |
| 28.01.2026 | Тестирование Telegram-ботов в CI/CD: токены не нужны | Типичная настройка CI для Telegram-бота: в секретах лежит токен, тесты ходят в реальный API, пайплайн занимает 10-15 минут и периодически падает на ровном месте. Таймауты, rate limits, протухший токен, который забыли обновить. Знакомая ситу... |
| 28.01.2026 | Представлен проект Astrological CPU Scheduler для планирования загрузки ЦП на основе астрологических принципов | Разработчик Лукас Зампьери представил открытый проект Astrological CPU Scheduler (scx_horoscope). Это полностью функциональный планировщик sched_ext, который принимает реальные решения по планированию загрузки ЦП на основе положения планет ... |
| 27.01.2026 | С 5 минут до 15 секунд: параллельные тесты с базой данных для Telegram-ботов | Тестовый набор выполняется 5 минут. Вы вносите маленькое изменение, запускаете cargo test и ждёте. Проверяете телефон. Всё ещё ждёте. К моменту, когда тесты заканчиваются, вы уже забыли, над чем работали.
У меня в phrase_bot было 10 тестов,... |
| 26.01.2026 | Почему ваши тесты для Telegram-ботов работают неправильно (и как это исправить) | Буквально на прошлой неделе я в очередной раз задеплоил бота в прод и тут же получил от пользователя скриншот с ошибкой. Кнопка «Подтвердить заказ» почему-то отправляла сообщение «Добро пожаловать!» вместо подтверждения. Классика.
При этом ... |
| 20.01.2026 | «Лучшие» практики Rust, которые вас подведут | Что общего между документацией Rust и советами бабушки? И то, и другое звучит разумно, пока не начнёшь применять буквально ко всему. «Используй дженерики для переиспользования кода», «оборачивай общие данные в Arc», «создавай типизированные... |
| 20.01.2026 | Всего одна строка кода, из-за которой 24-ядерный сервер стал работать медленнее ноутбука | Допустим, вы написали код для решения задачи, которая хорошо распараллеливается. Каждый поток занимается своим участком работы и не зависит от других, поэтому потоки почти не должны координироваться друг с другом, за исключением самого посл... |
| 19.01.2026 | Как мы переписали ядро Trino на Rust | CedrusData Engine — это lakehouse-движок, основанный на Trino. На реальных пользовательских нагрузках наш продукт рутинно превосходит по производительности другие технологии (Trino, Doris, Dremio, StarRocks) в 1.5-3 раза. С еще более значит... |
| 15.01.2026 | Генерация 3D-мешей из текста | Привет, Хаброжители!
Недавно мне захотелось научиться преобразовывать текст в 3D-меши для последующего рендеринга, так, чтобы такими объектами можно было манипулировать в рамках моего проекта Geotoy и на языке Geoscript. Я занялся исследова... |
| 26.12.2025 | Компилятор языка моделирования в одиночку: от C++ к Rust — находки и откровения | Сумма входящих потоков (выходящие идут с минусом) равна скорости изменения массы жидкости в ёмкости
Тема специального языка для моделирования многокомпонентных динамических систем давно меня зацепила и хотелось написать свою реализацию для ... |
| 22.12.2025 | Всё, что нужно знать про аллокаторы в Rust (и как написать свой) | Мне в Rust всегда заходила одна штука. Он довольно быстро приучает не держать в голове мусор из серии «а я точно это освободил??». Большая часть рутины с памятью уезжает в автоматизм языка, и ты можно прям выдохнуть и думать про данные и ин... |
| 22.12.2025 | Охота за недостающим типом данных: история о графах | (Ориентированный) граф — это набор узлов, соединённых стрелками (рёбрами). В узлах и рёбрах могут содержаться данные. Вот примеры графов:
Все графы вычерчены при помощи graphviz https://www.hillelwayne.com/post/graph-types/img/graph-example... |
| 15.12.2025 | Rust, mmap и 10 миллионов пикселей: делаем производительный Log Viewer для VS Code | Наверняка у каждого бэкендера или девопса была такая ситуация:
Нужно срочно посмотреть, что случилось на проде. Вы скачиваете server.log, по привычке кликаете на него в VS Code... и всё.
Редактор зависает, кулеры ноутбука взлетают, интерфей... |
| 05.12.2025 | joerl :: привычная акторная модель из эрланга в расте | Если б миром правил краб бы —
правил если б миром краб б,
я б сказал бы, что пора бы
снаряжать большой корабль,
отправляться б за моря бы
посоветовал тогда б
я б — непросто жить у краба
под клешней, как слабый раб.
— «Краб на корабль карабк... |
| 04.12.2025 | Почему в Rust всё правильно | Программирование, да и вообще IT в целом — это всегда про компромиссы. Выигрывая в одном, мы обязательно проигрываем в другом. Не существует той самой «серебряной пули», то есть инструмента, решающего абсолютно все задачи. Точно так же нет ... |
| 14.07.2025 | Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB | Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Wind... |
| 12.03.2025 | Компактные структуры данных | Введение
Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество1. Я обнар... |
| 06.02.2025 | Как стать властелином отладчика: помогут ELF, DWARF и много магии | Привет, Хабр! Меня зовут Константин, я работаю в команде файлового доступа в YADRO. Помимо основной работы, я пишу в open source, работаю над несколькими проектами — в том числе над дебаггером BugStalker (BS) на Rust.
В этой статье речь пой... |
| 31.01.2025 | RabbitMQ на Rust: библиотека Lapin | Привет, Хабр!
Сегодня рассмотрим библиотеку Lapin в Rust. Lapin — это библиотека, реализующая протокол AMQP 0.9.1, она помогает взаимодействовать с RabbitMQ.
Многоканальная работа: один TCP‑соединение поддерживает множество каналов.
Поддерж... |
| 24.01.2025 | The Rise of ReBack: A Backup Utility Built on Rust | In the world of software development, the need for reliable backup solutions is as essential as a safety net for a tightrope walker. When disaster strikes, having a solid backup can mean the difference between chaos and calm. Enter ReBack, ... |
| 22.01.2025 | Создание бэкап-утилиты ReBack на Rust: от проблем до решения | Привет, Хабр!
Меня зовут Иван, я автор Telegram‑канала и сайта «Код на салфетке». Уже три года я изучаю Python, а последний год занимаюсь фрилансом.
В разработке мне очень нравится Python, но в какой‑то момент я понял, что пора двигаться «в... |
| 14.01.2025 | Как просто добавить ИИ в приложения на Rust: универсальный опенсорсный инструмент | Системный разработчик ИТ-компании «Криптонит» написал статью про новый инструмент на Rust, который облегчает запуск моделей машинного обучения и их внедрение в приложения. Дальше публикуем текст от первого лица.
Привет, Хабр! Меня зовут Мих... |
| 25.12.2024 | Решение Advent of Code на этапе компиляции с использованием макросов Rust | Писать качественный софт сложно. Написание тестов, обдумывание возникших сайдэффектов, муки выбора между оптимизацией скорости выполнения и использованием памяти. Идеальная программа — та, которая никогда не запускается. Никаких тебе мук вы... |
| 24.12.2024 | The RAM Myth: Unpacking the Illusions of Memory Performance | In the world of computing, myths often cloud the truth. One such myth is the belief that modern RAM operates like an ideal memory system. This notion leads many to think that simply having more RAM guarantees better performance. However, th... |
| 22.12.2024 | Миф о RAM | Миф о RAM — это верование о том, что память современного компьютера напоминает идеальную память с произвольным доступом. Кэш люди считают оптимизацией для малых данных: если они умещаются в L2, то будут обрабатываться быстрее; если нет, то ... |
| 01.12.2024 | Допустим, вы решили изучить Rust | Поначалу всё будет хорошо. И вы будете изучать Rust, и думать, какие хорошие люди его написали. В нём есть автоопределение типов, безопасные указатели aka ссылки, столько синтаксического сахара, что любой Kotlin позавидует, и плюс ко всему ... |
| 16.11.2024 | Navigating the Waters of Rust's Unsafe Code and Locking Mechanisms in Hibernate | In the world of programming, the balance between safety and performance is a tightrope walk. Rust, a language celebrated for its memory safety, often finds itself at odds with the need for speed and efficiency. This article explores the nua... |
| 15.11.2024 | Небезопасный Rust сложнее C | Для некоторых из вас содержание этой статьи окажется знакомым, особенно, если вы писали встраиваемый или unsafe код на Rust. Но я этого не делал, поэтому решил, что будет полезным задокументировать свой опыт максимально подробно. Так что пр... |
| 31.10.2024 | Асинхронный Rust в трех частях. Часть третья: IO | Асинхронный Rust в трех частях
Введение
Часть первая: Futures
Часть вторая: Tasks
Часть третья: IO
Конечно, async/await были придуманы не для сна. Нашей целью с самого начала был ввод‑вывод (I/O), а в особенности сетевой ввод‑вывод. Вооружи... |
| 28.10.2024 | Асинхронный Rust в трех частях. Часть вторая: Tasks | Асинхронный Rust в трех частях
Введение
Часть первая: Futures
Часть вторая: Tasks
Часть третья: IO
Во введении мы сказали, что async/await это про futures и задачи. В первой части мы рассмотрели futures и теперь пришло время задач. Благо, м... |
| 26.10.2024 | The Asynchronous Revolution in Rust: Understanding Futures and Tasks | Asynchronous programming is like a dance. It allows multiple tasks to move in harmony without stepping on each other's toes. In Rust, this dance is orchestrated through the use of futures and tasks, which enable developers to write efficien... |
| 25.10.2024 | Асинхронный Rust. Часть первая: Futures | Асинхронный Rust в трех частях
Введение
Часть первая: Futures
Часть вторая: Задачи
Часть третья: IO
Во введении мы посмотрели на пример асинхронного Rust без какого‑либо объяснения, как он работает. Это дало нам несколько вопросов для размы... |
| 24.10.2024 | Пошаговое повышение производительности алгоритма | Недавно мне довелось работать над новым алгоритмом приближённого поиска ближайших соседей, который называется RaBitQ. Автор этого алгоритма уже предоставил достаточно скоростную реализацию на C++. Я попытался переписать этот алгоритм на Rus... |
| 18.10.2024 | Как написать D-Bus сервис, работающий на системной шине, на Rust | Привет, Хабр! На связи Федотов Максим, ведущий разработчик в "Открытой Мобильной Платформе". В этой статье я хочу поделится нашим опытом создания D-Bus-сервиса на Rust, который работает на системной шине.
Если Вы только недавно на... |
| 25.09.2024 | Создаём быстрые gRPC-сервисы с Tonic и Rust | Привет, Хабр!
Сегодня посмотрим, как с помощью фреймворка Tonic и языка Rust создавать gRPC-сервисы для задач машинного обучения. Если в вашем проекте нужно максимально эффективно строить распределённые системы, а производительность и асинх... |
| 15.09.2024 | Портируем декодер AV1 с С на Rust для повышения быстродействия и безопасности | AV1 становится всё более значимым видеоформатом, которому требуется безопасный и производительный декодер. Исходя из этой идеи, мы в тандеме с командой из Immutant создали rav1d, портировав на Rust написанный на С декодер dav1d. Перед вами ... |
| 09.09.2024 | The WebP Compression Conundrum: A Dive into Efficiency and Accessibility | In the digital age, speed is king. Websites must load quickly to keep users engaged. But how do we achieve that? Enter WebP, a modern image format that promises to compress images without sacrificing quality. It’s like a magician pulling a ... |
| 08.09.2024 | WebP — формат сжатия веб-страниц | Я хочу, чтобы посетители моего сайта наслаждались им, так что я забочусь об accessibility и проверяю, что даже без JavaScript тут есть, на что смотреть. Я забочусь о том, насколько быстро грузятся страницы, ведь на некоторых из них есть бол... |
| 04.09.2024 | Магическая система типов Rust | if !is_valid_email(&form.email) || !is_valid_password(&form.password) { return HttpResponse::BadRequest().finish(); }
Этот код — кусок дерьма; кошмар, который вот-вот случится. Чтобы понять, почему и как это исправить, сначала нужно... |
| 02.09.2024 | Фреймворки для работа с данными на Rust. Часть 1 | Привет, Хабр!
Если бы мне сказали, что я однажды заменю привычный Python или Scala для работы с данными на Rust, я бы, пожалуй, ухмыльнулся и продолжил привычное дело. Но времена меняются, и Rust вполне уверенно пробивает себе дорогу в мир ... |
| 01.09.2024 | The Power of Middleware in Rust: A Deep Dive into Tower and Actix Web | In the world of web development, middleware acts as the unsung hero. It quietly processes requests and responses, adding functionality without disrupting the core application. Two prominent frameworks in Rust, Tower and Actix Web, showcase ... |
| 01.09.2024 | Navigating the Data Landscape: A Journey from PostgreSQL to ClickHouse | In the fast-paced world of data engineering, the choice of database can make or break a project. This is a tale of a small team that embarked on a significant migration journey. They transitioned from PostgreSQL to ClickHouse, seeking speed... |
| 31.08.2024 | Воспроизводим гитарные табулатуры на Rust
Ruxguitar
Парсинг табулатуры
Создание UI
Издаём звуки
Соединяем всё вместе
Работа на будущее
Заключение... | Если вы когда-нибудь пробовали учиться гитаре, то есть вероятность, что вы знакомы с гитарными табулатурами.
Это простой способ визуализации музыки для гитары, альтернативный нотам, при котором символами ASCII обозначаются струны и лады.
На... |
| 28.08.2024 | Продолжаем работать с Actix Web (часть 1) | Привет, сегодня я продолжу свою статью и покажу реальный пример приложения на Actix web.
Немного лирики для начала.
Я буду писать, используя raw sql с помощью библиотеки sqlx, базой данных послужит Postgresql.
Сервисом будет примитивный мес... |
| 28.08.2024 | Начало работы с Actix Web | Привет, сегодня я попытаюсь объяснить все то, что я хотел бы знать в начале пути разработки на Actix Web.
Немного лирики для начала.
Rust - мультипарадигменный компилируемый язык программирования общего назначения, разрабатываемый Mozilla. ... |
| 27.08.2024 | Tower — библиотека для асинхронных middleware | Привет, Хабр! Ведущий системный программист компании "Криптонит" Михаил Доронин поделился опытом написания промежуточного ПО — middleware. Оно часто используется в веб-разработке. Например, веб-сервер может использовать middleware... |
| 25.08.2024 | Как я ускорила парсинг строк в serde_json на 20% | Недавно я писала код, завязанный на производительность, и поняла, что рассказы про мой опыт могут быть захватывающим чтивом. Учить как думать так же важно, как и учить писать код, но делают так редко, и мне кажется, что то, на что я угрохал... |
| 23.08.2024 | XML-RPC: вызываем все, везде и сразу | У нас было пятьдесят операционных систем, десяток языков программирования и бесконечное множество библиотек и фреймворков всех сортов и расцветок, а также кофе, немного времени и щепотка здравого смысла. Не то чтобы это был необходимый запа... |
| 09.08.2024 | Вскрываем средства для DDoS-атак на российскую ИТ-инфраструктуру. Часть вторая | Введение
По разным источникам, в 2023 году было зафиксировано несколько миллионов DDoS-атак на российские информационные системы. И судя по статистике, их количество только растёт. В связи с этим, а также по многочисленным просьбам коллег м... |
| 02.08.2024 | Программируем микроконтроллер STM32 на Rust | Rust — отличный язык, но насколько он подходит для разработки встраиваемых систем? В этом посте будет подробно рассказано, как обустроить инструментарий для такой разработки. Кроме того, мы рассмотрим один удивительный аспект Rust, проявляю... |
| 10.07.2024 | Как правильно тестировать конкурентные структуры данных | Есть потрясающая библиотека Rust под названием loom, которую можно использовать для тщательного тестирования неблокируемых (lock-free) структур данных. Я давно хотел разобраться, как она работает. И сейчас хочу! Но недавно я случайно реализ... |
| 29.06.2024 | Жизнь – боль: как одновременно поддерживать в Rust синхронный и асинхронный код | Введение
Присаживайтесь поудобнее и послушайте стариковскую байку: что случилось, когда я попросил у Rust слишком многого.
Допустим, вы хотите написать на Rust новую библиотеку. Всё, что для этого требуется — обернуть её в публичный API, че... |
| 26.06.2024 | Учимся летать: симуляция эволюции на Rust. 4/5 | Это предпоследняя часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.
Первая часть
Вторая часть
Третья часть
В сегодняшнем выпуске:
Сексуальные многоугольники
Сертифицированные ISO диаграм... |
| 25.06.2024 | Создание парсеров на Rust | Привет, Хабр!
Представьте себе котика, который пытается понять синтаксис человеческого языка. Сначала он разглядывает слова, затем прислушивается к интонациям, а потом решает, что всё это слишком сложно, и отправляется ловить мышей.
Но благ... |
| 25.06.2024 | Lock-free структуры данных в Rust | Привет, Хабр! Сегодня поговорим о lock-free (или же без использования блокировок) структурах данных и атомарных операциях в Rust.
Каждый lock может стать узким местом, тормозящим всю систему. Базовые методы синхронизации, типо мьютексов и с... |
| 19.06.2024 | Учимся летать: симуляция эволюции на Rust. 3/5 | Это третья часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.
Первая часть
Вторая часть
В предыдущей статье мы реализовали простую FFNN (feedforward neural network — нейронная сеть прямог... |
| 12.06.2024 | Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio | В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы поз... |
| 09.06.2024 | Рисуем фракталы на Rust и CUDA | Фракталы — это бесконечные самоподобные фигуры. Они определяются простыми математическими формулами, которые создают удивительную красоту!
В этой статье мы рассмотрим алгоритм визуализации одного из самых известных фракталов на языке Rust с... |
| 09.06.2024 | Учимся летать: симуляция эволюции на Rust. 2/5 | Это вторая часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.
Первая часть
В этой статье мы заложим основы нашего проекта и реализуем простую FFNN (feedforward neural network — нейронная ... |
| 31.05.2024 | Сложно ли генерировать 1024-битные простые числа? | Простые числа удивительны!
С одной стороны, их легко объяснить: это просто числа, которые делятся только на единицу и на себя; с другой стороны, они содержат в себе бесконечную сложность. Они встречаются во множестве разных сфер, от математ... |
| 30.05.2024 | Почему я отказался от разработки игр на Rust, часть 4 | Часть 1
Часть 2
Часть 3Dynamic borrow checking вызывает неожиданные вылеты после рефакторинга
В процессе написания статьи я обнаружил ещё один случай вылета нашей игры из-за пересекающегося World::query_mut. Я работаю с hecs уже около двух ... |
| 29.05.2024 | Туториал по Tokio. 2/2
Кадрирование
Подробно об асинхронности
Выбор
Потоки | Hello world!
Представляю вашему вниманию вторую часть туториала по Tokio.
Первая часть
Tokio — это асинхронная среда выполнения (runtime) кода Rust. Она предоставляет строительные блоки, необходимые для разработки сетевых приложений любого ... |
| 21.05.2024 | Туториал по Tokio. 1/2
Обзор
Настройка
Привет, Tokio
Создание потоков
Общее состояние
Каналы
Ввод-вывод | Hello world!
Представляю вашему вниманию первую часть туториала по Tokio.
Tokio — это асинхронная среда выполнения (runtime) кода Rust. Она предоставляет строительные блоки, необходимые для разработки сетевых приложений любого размера.
Соде... |
| 13.05.2024 | Книга рецептов Rust. 2/2
10. Кодирование
11. Обработка ошибок
12. Файловая система
13. Разное
14. Операционная система
15. Обработка текста
16. Веб-разработка... | Hello world!
Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust.
Первая часть
Содержание
10. Кодирование
10.1. Наборы символов
... |
| 07.05.2024 | Книга рецептов Rust. 1/2
1. Алгоритмы
2. Командная строка
3. Сжатие
4. Параллелизм
5. Криптография
7. База данных
8. Дата и время
9. Инструменты для разработки... | Hello world!
Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust.
Содержание
1. Алгоритмы
1.1. Генерация произвольных значений
1... |
| 30.04.2024 | Почему я отказался от разработки игр на Rust, часть 1 | Предисловие: этот пост представляет собой очень длинный перечень мыслей и проблем, возникавших у меня за годы работы; также в нём рассматриваются некоторые из аргументов, которые мне часто говорили. В посте выражено моё мнение, сформировавш... |
| 26.04.2024 | Кратко про юнит-тесты в Rust | Привет!
Юнит-тесты позволяют предотвратить ошибки и значительно упростить процессы рефакторинга и поддержки кода. Их реализация существует во всех языках программирования и Rust - не исключение.
Юнит-тесты в Rust обычно располагаются в том ... |
| 10.04.2024 | 9 полезных крейтов в Rust | Привет, Хабр!
Rust, как любимый многими разработчиками знаменит своей скоростью и безопасностью. Но его истинная сила заключается в экосистеме крейтов — библиотек и инструментов, которые могут превратить сложные и трудоёмкие задачи в удивит... |
| 10.04.2024 | Пишем калькулятор на Rust с GUI | Зачем еще один калькулятор? Да незачем, просто как тестовый проект для рассмотрения GUI-библиотеки.
Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не ... |
| 02.04.2024 | Rust — это не «memory safe C» | TL;DR:
— в Rust намного больше достоинств, чем просто скорость и безопасность;
— в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD;
— Rust — не сложный язык, особенно если не гна... |
| 28.03.2024 | Практическое руководство по Rust. Бонус
Параллельный Rust
Асинхронный Rust | Hello world!
Представляю вашему вниманию бонусную часть практического руководства по Rust.
Первая часть
Вторая часть
Третья часть
Четвертая часть
Другой формат, который может показаться вам более удобным.
Руководство основано на Comprehensi... |
| 20.03.2024 | Практическое руководство по Rust. 4/4 | Hello world!
Представляю вашему вниманию четвертую и последнюю часть практического руководства по Rust.
Первая часть
Вторая часть
Третья часть
Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и ра... |
| 15.03.2024 | Охота на недостающий тип данных | Направленный граф — это набор узлов, связанных стрелками (рёбрами). Как узлы, так и рёбра могут содержать данные. Вот несколько примеров:
Все графы созданы с помощью graphviz (источник)
В сфере разработки ПО графы используются повсеместно:
... |
| 21.02.2024 | Практическое руководство по Rust. 2/4 | Hello world!
Представляю вашему вниманию вторую часть практического руководства по Rust.
Первая часть
Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владе... |
| 14.02.2024 | Начало работы с Axum — самым популярным веб-фреймворком Rust | Когда дело доходит до выбора серверного веб-фреймворка в экосистеме Rust, можно запутаться из-за большого количества вариантов. В прошлом, лидером по популярности был Rocket, но сейчас за первенство сражаются Axum и actix-web, и Axum все бо... |
| 31.01.2024 | Большая шпаргалка по Rust. 2/2
Организация кода
Обработка ошибок | Hello world!
Представляю вашему вниманию вторую часть большой шпаргалки по Rust.
Первая часть.
Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает ... |
| 02.12.2023 | std fs в Rust медленнее, чем Python? Нет, это аппаратный баг | В этой статье я поделюсь с вами долгой историей, которая начинается с op.read() opendal, а заканчивается неожиданным поворотом. Это путешествие оказалось для меня достаточно поучительным, надеюсь, и для вас оно будет таким же. Я постараюсь ... |
| 30.11.2023 | Разработчик выпустил инструмент на Rust для конвертации изображений в ASCII-графику | Разработчик Доминик Кодспоти (Dominic Codespoti) выпустил утилиту на Rust, предназначенную для конвертации изображений в ASCII-графику. Инструмент работает через терминал и позволяет настраивать размер рисунка.
Установить утилиту можно с по... |
| 17.11.2023 | Чем хорош Rust для продакшена? | За последние годы интерес к Rust значительно вырос. Отчасти этому способствовало то, что ведущие участники технологической индустрии, такие как Microsoft, Google и Amazon рассказали о своём опыте использования этого языка в реализации крити... |
| 11.11.2023 | Пишем интеграционные тесты для Actix Web | Модульные и Интеграционные тесты являются неотъемлемой частью жизни современного разработчика. И если с написанием простейших тестов описанных в различных обучающих статьях проблем обычно не возникает, то ситуация коренным образом меняется,... |
| 01.11.2023 | SQLx: raw SQL в Rust | Когда речь заходит об использовании SQL, экосистеме Rust есть что нам предложить: к счастью, нам доступны несколько отличных готовых к использованию решений. SQLx — это чисто асинхронный, независящий от рантайма SQL-крейт, позволяющий испол... |
| 27.10.2023 | Как в 180,000 раз ускорить анализ данных с помощью Rust | В этой статье я опишу одно из последних своих дерзновений в сфере оптимизации производительности с помощью Rust. Надеюсь, что в ней вы откроете для себя какие-то новые приёмы для написания быстрого кода на Rust.
Контекст следующий: представ... |
| 27.10.2023 | Конкурентный отказ | Любая задача может быть завершена несколькими способами:
Нормальное завершение, после которого мы получаем результат (например, Ничего/Единица).
Сообщение об ошибке.
Принудительное завершение, после которого программа может остаться в неопр... |
| 22.10.2023 | Тест производительности Web-фреймворков для Rust | В этой статье мы сравним производительность 3 наиболее популярных бекэнд-фреймворков для Rust: Axum, Actix и Rocket.Методика тестирования
На каждом из фреймворков мы напишем простой веб-сервис имеющий три эндпоинта:
POST /test/simple Приним... |
| 04.10.2023 | Неограниченный доступ к знаниям: библиотека Стандартных Шаблонных Конструкций | Есть много причин почему доступ научным статьям и книгам должен быть свободным:
Это прекрасно.
Знания меняют реальность в лучшую сторону. Вы хотите лечиться у врачей, которые в курсе последних достижений медицины? Летать на безопасных самол... |
| 29.09.2023 | Идиоматическая обработка ошибок в Rust | Вы забудете о необработанных исключениях, если научитесь обращаться с ошибками, как это принято в Rust
Обработка ошибок – важнейшая часть любого языка программирования, а в Rust предлагается для этого уникальный мощный подход. Rust, в отлич... |
| 05.08.2023 | Что такое формальная верификация | Это обзорная статья, в которой очень поверхностно и не подробно рассказывается о том, что такое формальная верификация программного кода, зачем она нужна и чем она отличается от аудита и тестирования.
Формальная верификация — это доказатель... |
| 28.07.2023 | Regex engine internals as a library. Part 4 | Содержание
Краткий экскурс
Проблемы
Проблема: сложная композиция
Проблема: сложность тестирования
Проблема: запрос на нишевые API
Проблема: полностью скомпилированные ДКА
По пути с regex-cli
Поток данных
Литеральные оптимизации
Мотивация ли... |
| 23.07.2023 | Regex engine internals as a library. Part 3 | Содержание
Краткий экскурс
Проблемы
Проблема: сложная композиция
Проблема: сложность тестирования
Проблема: запрос на нишевые API
Проблема: полностью скомпилированные ДКА
По пути с regex-cli
Поток данных
Литеральные оптимизации
Мотивация ли... |
| 19.07.2023 | Regex engine internals as a library. Part 2 | Содержание
Краткий экскурс
Проблемы
Проблема: сложная композиция
Проблема: сложность тестирования
Проблема: запрос на нишевые API
Проблема: полностью скомпилированные ДКА
Следуй с regex-cli
Поток данных
Литеральные оптимизации
Мотивация лит... |
| 17.07.2023 | Криптография на Rust и немного FFI | Частичный перевод моей статьи с Medium
Начнем с того, что эта статья как и большинство моих статей родилась в процессе разработки. В данном конкретном случае - разработки внешней крипто-библиотеки для генерации крипто-кошельков.
Да, определ... |
| 16.07.2023 | Regex engine internals as a library. Part 1 | На протяжении последних нескольких лет, я переписывал крейт regex, чтобы лучше задействовать внутреннюю композицию, и сделать её проще для добавления оптимизаций, управляя корректностью. На пути этого переписывания я создал новый крейт rege... |
| 05.07.2023 | Создание своей библиотеки на Rust: от cargo init до cargo publish | Вступление
Приветствую, растиане, сегодня мы поговорим о сборке и публикации собственного крейта на crates.io.
Rust - open-source язык программирования, благодаря чему каждый может внести свой вклад в его развитие разными способами. Одним и... |
| 11.06.2023 | Rust моей мечты — несостоявшийся язык | В одном недавнем подкасте о том, кто сейчас главный в Rust, вновь всплыл вопрос о том, кому быть BDFL (великодушным пожизненным диктатором), и Джереми Соллер сказал (это был чемпионский заход на приз «за преуменьшение века»): «Я считаю, Гре... |
| 10.05.2023 | RSync на стероидах с поддержкой Windows | На Хабре периодически рассказывают о новых инструментах для синхронизации данных. Это интересная тема. Такие программы используются:
для синхронизации файлов на разных устройствах,
дедупликации,
резервного копирования,
сжатия.
Малейшая опти... |
| 05.05.2023 | 32 полезных Rust крейта, о которых вы могли не знать | В этой статье хочу поделиться информацией о крейтах для языка rust, про которые вы могли не знать. Большинство из них позволяют писать меньше шаблонного кода или улучшают его читаемость. Эта статья будет полезна для разработчиков всех уровн... |
| 05.05.2023 | Дополнить Rust-библиотеку примерами? Легко | Когда вы пишете библиотеку, которая в дальнейшем будет задействована во множестве других проектов, крайне важно продумать, как именно разработчики будут работать с ней своем коде.
Один из лучших способов позаботиться о том, чтобы работа с в... |
| 19.03.2023 | Использовать unwrap() в Rust — это нормально | Предисловие
Сравнительно недавно на Хабре была опубликована статья «Rust: ни в коем случае не используйте unwrap() в продакшене». Мягко говоря, тезисы, высказываемые в данной статье, спорны и содержат мало обоснования. Предлагаю читателям в... |