![#[inline] в Rust — это не про инлайнинг. И вот почему вы расставляете его не там - 1 #[inline] в Rust — это не про инлайнинг. И вот почему вы расставляете его не там - 1](https://www.pvsm.ru/images/2026/03/10/inline-v-Rust-eto-ne-pro-inlaining-i-vot-pochemu-vy-rasstavlyaete-ego-ne-tam.png)
Есть такой ритуал у растеров. Открываешь профилировщик, видишь функцию с миллионом вызовов, и рука сама тянется написать #[inline(always)]Читать полностью »
![#[inline] в Rust — это не про инлайнинг. И вот почему вы расставляете его не там - 1 #[inline] в Rust — это не про инлайнинг. И вот почему вы расставляете его не там - 1](https://www.pvsm.ru/images/2026/03/10/inline-v-Rust-eto-ne-pro-inlaining-i-vot-pochemu-vy-rasstavlyaete-ego-ne-tam.png)
Есть такой ритуал у растеров. Открываешь профилировщик, видишь функцию с миллионом вызовов, и рука сама тянется написать #[inline(always)]Читать полностью »
14 месяцев назад я начал разрабатывать гонку под названием beaterCore. Идея была простой — с дедлайном 4 месяца сделать простую игру без пафоса. Ну, любой разработчик знает, что произошло дальше: без пафоса не вышло.
TL;DR: Обычный MTProxy с Fake TLS маскирует протокол, но палится при активном зондировании. Telemt при попытке «пощупать» ваш прокси извне отдаёт настоящий сайт с настоящим TLS-сертификатом. Для DPI и краулеров это
сайт.ru. Для вас это стабильный Telegram.
Эта статья посвящена тому, как я делал библиотеку локализации на Rust. Фокус будет на изменении проекта от минимального решения для себя до полноценной библиотеки.
В рамках статьи я буду использовать:
локализация - перевод
локаль - язык
выражение - значение(в начале работы &'static str), которое меняется в зависимости от локали
Они введены, чтобы было проще сопоставлять код и его описание.
Буквально на прошлой неделе я в очередной раз задеплоил бота в прод и тут же получил от пользователя скриншот с ошибкой. Кнопка «Подтвердить заказ» почему-то отправляла сообщение «Добро пожаловать!» вместо подтверждения. Классика.
При этом я «протестировал» бота — открыл Telegram, потыкал основные сценарии, убедился что /start работает. Но именно тот callback, который сломался, я проверять поленился. Знакомо?
В мире разработки есть негласное правило: не пишите свою криптографию. В финтехе должно быть похожее правило: не пишите свой леджер (ledger) на SQL, если планируете масштабироваться.
Меня зовут [Имя], и я хочу рассказать, как мы прошли классический путь «изобретения велосипеда», набили шишки на race condition-ах и в итоге поняли, что индустрии нужен не очередной необанк, а открытый стандарт финансового учета. Так появился проект Qazna.
В этой статье я не буду продавать вам продукт. Я покажу код, архитектурные решения и то, как мы пытаемся сделать «Linux для финансов».
Привет! 👋
Знаете это чувство, когда ты просто хочешь написать код, но вместо этого полдня ковыряешь bash-скрипты? Или когда твой Makefile разрастается до таких размеров, что открывать его страшно, а редактировать — опасно для психики?
Если да — добро пожаловать в клуб.
Меня зовут Даниил, и я устал. Устал от того, что инструменты, которые должны помогать, начинают мешать. Устал гуглить "как передать аргументы в make target" и "почему в bash if не работает". И в один прекрасный момент я решил: хватит.
Я взял Rust, закрылся в комнате и написал NestЧитать полностью »