Habr📅 19.08.2026 11:30⏱️ 2 мин
Ученики начальной школы могут заучивать таблицу умножения однозначных чисел, но простого запоминания будет недостаточно, когда учитель задаст задачу на умножение трёхзначных чисел. Здесь требуется алгоритм: учеников учат выстраивать числа друг над другом и умножать каждую цифру нижнего числа на каждую цифру верхнего. На протяжении тысячелетий матем...
Читать полностью →Habr📅 19.08.2026 11:28⏱️ 1 мин
Имя пакета в реестре часто оказывается первым сигналом того, что компоненту можно доверять. Разработчик видит название вроде google-cloud-storage, opentelemetry-sdk или apache-airflow-providers-slack раньше, чем открывает исходный код, и ожидает, что знакомый префикс указывает на известный проект. В PyPI это ожидание пока ничем не подтверждено: рее...
Читать полностью →Habr📅 19.08.2026 11:27⏱️ 1 мин
Готовое решение в статье — как реализовать вход в Telegram через РФ сервисы: VK ID, Яндекс ID и MAX.Мы оставили Telegram как удобную точку входа и канал доставки, а идентификацию вынесли в отдельные ID-сервисы. Идея простая: разделить «кто пользователь» (identity) и «куда ему слать уведомления» (channel identity). Пользователь авторизуется через VK...
Читать полностью →Habr📅 19.08.2026 11:26⏱️ 1 мин
Меня зовут Василий Миловидов, я системный архитектор в крупной компании. Мы строим обмен между сервисами на событиях: сервис меняет агрегат в PostgreSQL, в той же транзакции кладёт задачу в outbox на River, воркер публикует событие в Kafka с ключом aggregate_id.Разбирая соседнюю задачу, я обнаружил, что эта схема не даёт гарантии, которую мы в неё ...
Читать полностью →Habr📅 19.08.2026 11:22⏱️ 1 мин
Привет, Хабр! В целом, про миграцию и импортозамещение высказался уже практически каждый утюг нашей необъятной родины. Почему мы вообще снова хотим подсветить эту тему? Потому что прошло уже достаточно времени, чтобы осознать: миграция — это не просто оперативное решение проблемы, а новый подход к созданию и поддержанию ИТ-инфраструктуры. Мы в комп...
Читать полностью →Habr📅 19.08.2026 11:20⏱️ 1 мин
Меня зовут Роман, я работаю продактом в Альфа-Банке. В первые дни работы ко мне перешла команда разработки, которая сформировалась буквально за 2 месяца до меня. Прошлый продакт работал на 3 команды, времени на всех не хватало, поэтому команда встретила меня холодно. Как я это понял? По ретро — несмотря на то, что мы не закрывали планируемые задачи...
Читать полностью →Habr📅 19.08.2026 11:17⏱️ 1 мин
Меня зовут ZolAnd, я - независимый инженер-разработчик embedded-систем в основном для дома и сельской усадьбы. В какой-то момент мне захотелось собрать под одной крышей разношёрстный парк ZigBee-устройств от разных производителей, работать с ним локально, без обязательной привязки к облаку, и при этом иметь возможность не только интегрировать чужие...
Читать полностью →Habr📅 19.08.2026 11:15⏱️ 1 мин
В прошлой статье я рассказывал о случайно попавшем ко мне образце ChainVeil - вредоносном ПО из источника, который на тот момент не был зафиксирован в публичных исследованиях. На этот раз первым сигналом стал мой собственный supply chain‑мониторинг. Он сообщил о новом npm‑пакете plugin-react-vite. На первый взгляд это выглядело как очередной тайпск...
Читать полностью →Habr📅 19.08.2026 10:56⏱️ 1 мин
Cлучилось то, что я обычно советую не делать: я не выбрал из существующих 14 форматов, а сделал 15-й. Читать далее...
Читать полностью →Habr📅 19.08.2026 10:44⏱️ 1 мин
Я автор aiochlite — асинхронного клиента ClickHouse на aiohttp. Раньше мой декодер RowBinary читал каждое числовое поле отдельно. Если брать 200 тысяч строк с десятью числовыми колонками, получалось два миллиона таких чтений, хотя все данные уже были в памяти.Сначала я думал использовать Cython, C или Rust. Но потом решил попробовать оптимизировать...
Читать полностью →