Обновить
237.47

Rust *

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

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

Защита LLM за 3ms: как я построил open-source иммунную систему для AI

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

340% рост AI-атак за 2025 год, а защита LLM всё ещё — «закиньте промпт в облако, подождите 200ms». Я построил альтернативу: SENTINEL — open-source стек из C, Rust и Python, который фильтрует jailbreak за <3ms on-premise. Ключевая фича — Micro-Model Swarm: рой из моделей <2000 параметров, который ловит то, что не видят регулярки.

Читать далее

Введение в Yttri — Что это и почему это нужно?

Время на прочтение6 мин
Охват и читатели12K

Устали прыгать между Jira, Confluence, Notion, Calendar и почтой? Я написал Yttri — мощный комбайн на Rust + Tauri для управления всей цифровой жизнью. Локальный AI, графовая база знаний, приватность и никакой облачной зависимости. Рассказываю, как объединить хаос в одну систему и почему Local-First победит.

Читать далее

Как я написал ASR-движок на Rust: от разочарования в одной модели до мульти-модельной архитектуры

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели8K

Привет, Хабр! В предыдущей статье я рассказывал, как портировал модель синтеза речи Qwen3-TTS на Rust. Тот проект (RustTTS) получился достаточно успешным — один бинарник, мгновенный старт, никаких Python-зависимостей.

Естественным продолжением стала обратная задача — распознавание речи (ASR, Automatic Speech Recognition). Логика казалась простой: у Qwen есть и TTS и ASR, архитектуры похожи, опыт с Candle уже есть, значит справимся за пару недель. Ну... не совсем.

Читать далее

Партизанский Telegram: как поднять прокси-невидимку, прикидываясь онлайн-магазином

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели101K

Привет, Хабр!

Это продолжение серии про обход блокировок Telegram. В первой части мы подняли MTProxy на nineseconds/mtg с Fake TLS. Работает, подключаешь и забываешь. Но есть нюанс.

Fake TLS маскирует протокол. DPI смотрит на пакеты и видит обычный TLS к 1c. Всё красиво, пока к вашему серверу не придёт краулер и не попробует на него зайти.

Читать далее

Git в браузере. Расширяем возможности с помощью LFS

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели6.9K

Привет, Хабр! Я Паша, разработчик Gramax — Open Source платформы для управления документацией в подходе Docs as Code.

В прошлой статье я рассказывал о том, как мы переводили наше приложение с Isomorphic Git на libgit2, как засунули его в веб-версию приложения при помощи Emscripten и с какими трудностями столкнулись в процессе.

На этот раз — как мы оптимизировали хранение файлов ресурсов каталога (в большинстве случаев, изображений) при помощи Git LFS, тем самым ускорив его клонирование и синхронизацию.

Читать далее

Пишем свою мобильную ОС с нуля на Rust. Часть 2. Менеджер памяти

Уровень сложностиСредний
Время на прочтение37 мин
Охват и читатели8.7K

В прошлой части мы загрузили своё мобильное ядро, вывели "Hello world" в UART и нарисовали квадратик на экране.

В этой части я покажу, как улучшилось ядро за это время: поддержка новых устройств (запуск и отладка в QEMU и Raspberry Pi 5), разбиение на модули, и, наконец, полноценный менеджер памяти. В этом нам очень поможет система типов Rust.

Читать далее

Как я писал библиотеку для локализации на Rust

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.8K

Эта статья посвящена тому, как я делал библиотеку локализации на Rust. От разработки для своего приложения до полноценного универсального решения.

Читать далее

Делаем приложение на Расте с GUI нестандартным способом

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели10K

Вашему вниманию предлагается небольшой "пятничный этюд", в рамках которого мы прирастим пользовательский интерфейс к программе, написанной на Расте, но несколько необычным способом.

Читать далее

Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели8.6K

В данной статье я расскажу, с какими проблемами, связанными с бинарником, столкнулось моё решение при запуске на Arch Linux у моих знакомых, и почему у меня оно работает нормально на Debian 12 и 13. Также я разберу преимущества и недостатки текущей реализации, покажу возможные пути решения и альтернативы, а лучшее решение применю на практике.

Я снова попрошу Сергея и Ивана запустить моё приложение на Arch Linux, чтобы проверить его работу.

Заваривайте чай, доставайте вкусняшки — пора «удобрять почву для выращивания помидоров»! 🍅

Читать далее

Как я написал TTS-движок на Rust за месяц: путь от Python к production-ready решению

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели14K

Что будет, если выкинуть Python-обвязку и сделать TTS по-взрослому?

Я взял Qwen3-TTS и за месяц собрал RustTTS: компактный бинарник, быстрый старт, стриминг и контролируемый инференс без “venv на 2 ГБ”.

Покажу, как устроен пайплайн (text → tokens → audio), где реально узкие места, какие оптимизации дают эффект, и почему RTF на CPU может быть конкурентным, если не стрелять себе в ногу архитектурой.

Читать далее

Пишем свой git: минимальная реализация на Rust

Время на прочтение5 мин
Охват и читатели9.3K

Контроль версий долгое время был для меня «чёрным ящиком»: я не понимал, как именно хранятся файлы, как формируются diff’ы и из чего состоят коммиты. А поскольку я люблю изобретать велосипеды, почему бы не попробовать реализовать git самому?

Читать далее

Тестирование Telegram-ботов в CI/CD: токены не нужны

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.3K

Типичная настройка CI для Telegram-бота: в секретах лежит токен, тесты ходят в реальный API, пайплайн занимает 10-15 минут и периодически падает на ровном месте. Таймауты, rate limits, протухший токен, который забыли обновить. Знакомая ситуация.

В этой статье разберём, как настроить CI/CD для Telegram-бота так, чтобы не нужны были ни токены, ни сеть, ни повторные запуски упавших тестов.

Читать далее

Почему мы терпим факс в эпоху ИИ: Манифест Суверенной Инфраструктуры

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели7K

Неделю назад мы опубликовали статью «Почему финтеху нужен капитальный ремонт„, а до этого „От стартапа к протоколу: Почему мы решили написать свой „PostgreSQL для финансов“„. Мы получили много комментариев — от умеренных до резко критических. И я хочу начать с благодарности.“““»

Спасибо тем, кто нашел баги в нашем UI (мы всё поправили). Спасибо тем, кто писал «зачем это нужно, если есть PostgreSQL?». Спасибо даже тем, кто называл проект «велосипедом„.“»

Именно ваша критика заставила нас пересмотреть приоритеты и за неделю реализовать то, что мы откладывали месяцами: Atomic PvP (атомарный обмен валют) и ISO 20022 "в ядре".

Мы поняли, что не смогли донести главную мысль. Qazna - это не просто "еще один леджер". Это попытка ответить на вопрос, который IT-сообщество почему-то боится задавать.

Читать далее

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

Unsafe Rust для FFI: безопасные обёртки над C-библиотеками без утечек памяти

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.9K

Rust хорош своей безопасностью, но рано или поздно приходится выйти за пределы уютного мирка borrow checker. Нужно подключить проверенную C-библиотеку, использовать системный API или просто переиспользовать существующий код. И тут начинается unsafe.

Правильно приготовленный unsafe позволяет создать безопасный API поверх небезопасного кода, сохранив все гарантии Rust для пользователей библиотеки.

Разберём, как писать FFI-обёртки, которые не подтекают и не падают.

Читать далее

С 5 минут до 15 секунд: параллельные тесты с базой данных для Telegram-ботов

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.3K

Тесты выполняются 5 минут. Вы вносите маленькое изменение, запускаете cargo test и ждёте. Проверяете телефон. Всё ещё ждёте. К моменту, когда тесты заканчиваются, вы уже забыли, над чем работали.

Читать далее

Почему ваши тесты для Telegram-ботов работают неправильно (и как это исправить)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.6K

15-20 минут на ручное тестирование. После каждого коммита. 47 состояний диалога. Бесконечные «а этот edge case я проверил?». Flaky тесты с реальным API. Rate limits от Telegram. Проблема не в коде - проблема в том, как вы его тестируете. Ручное тыканье в Telegram не масштабируется. Тесты с реальным API - медленные и flaky. Свои моки писать - неделя работы. Я нашёл способ лучше: 50 интеграционных тестов за 2 секунды. Без сети. Без токенов.

50 интеграционных тестов за 2 секунды

BlueVein: как я потратил месяц, чтобы не тратить 56 часов в год на переподключение Bluetooth устройств в dual-boot

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.8K

Переключаешься между Linux и Windows в dual-boot? Тогда ты точно знаком с этой проблемой: каждый раз нужно переподключать все Bluetooth-устройства. Наушники, мышь, клавиатуру, геймпад — всё заново.

Даже подумать страшно:
3 устройства × 90 секунд × 3 переключения в день × 250 дней = 56 часов в год впустую.

Я потратил месяц на решение этой проблемы и написал BlueVein — утилиту для автоматической синхронизации Bluetooth-ключей между ОС.

Читать далее

Rust 1.93.0: обновление встроенного musl, глобальный аллокатор и tls, cfg в asm

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7K

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

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

$ rustup update stable

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

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

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

Почему финтеху нужен капитальный ремонт: Манифест инженерной честности

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Когда я открываю приложение своего необанка в 2026 году, я вижу будущее. FaceID срабатывает за миллисекунды. Анимации плавные, как шелк (120fps). Чат-бот на базе LLM мгновенно анализирует мои расходы и дает советы по инвестициям.

Кажется, что мы живем в киберпанке.

Но когда я нажимаю кнопку «Отправить перевод» за границу, киберпанк заканчивается. Мои деньги исчезают со счета и уходят в трехдневное путешествие через черную дыру под названием «корреспондентские счета».

Добро пожаловать в главную тайну финтеха: У нас лучшие IT-инженеры, лучшие интерфейсы и лучший AI. Но наши деньги ходят по трубам, которые проложили в середине 20-го века. И эти трубы сгнили.

Читать далее

От стартапа к протоколу: Почему мы решили написать свой «PostgreSQL для финансов»

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.1K

В мире разработки есть негласное правило: не пишите свою криптографию. В финтехе должно быть похожее правило: не пишите свой леджер (ledger) на SQL, если планируете масштабироваться.

Меня зовут [Имя], и я хочу рассказать, как мы прошли классический путь «изобретения велосипеда», набили шишки на race condition-ах и в итоге поняли, что индустрии нужен не очередной необанк, а открытый стандарт финансового учета. Так появился проект Qazna.

В этой статье я не буду продавать вам продукт. Я покажу код, архитектурные решения и то, как мы пытаемся сделать «Linux для финансов».

Читать далее