Пара new в горячем методе может вообще не попасть в кучу — а после безобидного if внезапно вернуть аллокации обратно. Разбираемся, как C2 принимает такие решения, где ломается скалярная замена и как проверить всё это через JMH и диагностические флаги JVM. Разобраться в JVM
README редко ломается в один момент.Обычно он просто постепенно перестаёт соответствовать проекту: переименовали команду, перенесли файл, удалили .env.example, сменили package manager — а инструкция осталась прежней.В итоге новый пользователь копирует команду из README и получает…
Ученики начальной школы могут заучивать таблицу умножения однозначных чисел, но простого запоминания будет недостаточно, когда учитель задаст задачу на умножение трёхзначных чисел. Здесь требуется алгоритм: учеников учат выстраивать числа друг над другом и умножать…
Имя пакета в реестре часто оказывается первым сигналом того, что компоненту можно доверять. Разработчик видит название вроде google-cloud-storage, opentelemetry-sdk или apache-airflow-providers-slack раньше, чем открывает исходный код, и ожидает, что знакомый префикс указывает на известный проект. В PyPI это…
Готовое решение в статье — как реализовать вход в Telegram через РФ сервисы: VK ID, Яндекс ID и MAX.Мы оставили Telegram как удобную точку входа и канал доставки, а идентификацию вынесли в отдельные ID-сервисы. Идея простая: разделить «кто пользователь» (identity) и «куда ему слать уведомления» (channel identity). Пользователь авторизуется через VK ID, Яндекс ID или MAX, а telegram_id позже привязывается к его аккаунту исключительно для отправки ленты — не для входа. Читать далее
Меня зовут Василий Миловидов, я системный архитектор в крупной компании. Мы строим обмен между сервисами на событиях: сервис меняет агрегат в PostgreSQL, в той же транзакции кладёт задачу в outbox на River, воркер публикует событие в Kafka с ключом aggregate_id.Разбирая…
Привет, Хабр! В целом, про миграцию и импортозамещение высказался уже практически каждый утюг нашей необъятной родины. Почему мы вообще снова хотим подсветить эту тему? Потому что прошло уже достаточно времени, чтобы осознать: миграция — это не просто оперативное решение…
Меня зовут Роман, я работаю продактом в Альфа-Банке. В первые дни работы ко мне перешла команда разработки, которая сформировалась буквально за 2 месяца до меня. Прошлый продакт работал на 3 команды, времени на всех не хватало, поэтому команда встретила меня холодно.…
Меня зовут ZolAnd, я - независимый инженер-разработчик embedded-систем в основном для дома и сельской усадьбы. В какой-то момент мне захотелось собрать под одной крышей разношёрстный парк ZigBee-устройств от разных производителей, работать с ним локально, без обязательной привязки к…
В прошлой статье я рассказывал о случайно попавшем ко мне образце ChainVeil - вредоносном ПО из источника, который на тот момент не был зафиксирован в публичных исследованиях. На этот раз первым сигналом стал мой собственный supply chain‑мониторинг. Он сообщил…