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

#[inline] в Rust — это не про инлайнинг. И вот почему вы расставляете его не там - 1

Есть такой ритуал у растеров. Открываешь профилировщик, видишь функцию с миллионом вызовов, и рука сама тянется написать #[inline(always)]Читать полностью »

Как я искал замену MinIO S3 и написал свой S4 на Rust - 1

Спойлер для тех кто не в курсе:

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

Cегодня редко встретишь разработчика, который хоть раз бы не слышал о Rust. После долгого хайпа и зародившегося мема RIIR (rewrite it in Rust - перепиши это на Rust) ажиотаж вокруг языка как будто бы поутих. Но оказалось, все и вправду по-тихому переписывается на Rust (если мой дебют не утонет в минусах, постараюсь написать статью-исследование на тему, где уже Rust надежно поселился в системе).

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

Изображение из демо-версии игры

Изображение из демо-версии игры

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 для финансов».

Проблема: Ловушка UPDATE accounts

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

Привет! 👋

Знаете это чувство, когда ты просто хочешь написать код, но вместо этого полдня ковыряешь bash-скрипты? Или когда твой Makefile разрастается до таких размеров, что открывать его страшно, а редактировать — опасно для психики?

Если да — добро пожаловать в клуб.

Меня зовут Даниил, и я устал. Устал от того, что инструменты, которые должны помогать, начинают мешать. Устал гуглить "как передать аргументы в make target" и "почему в bash if не работает". И в один прекрасный момент я решил: хватит.

Я взял Rust, закрылся в комнате и написал NestЧитать полностью »


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