Рубрики
Технологии

Пост @alex_marshal — Java (+4) — N/P

Как записать «круглое» видео в мессенджере «ACCORD». Я пишу свой облачный мессенджер (мини-соцсеть) под пилотным названием Accord. Недавно я реализовал новую функцию отправки видеосообщений в форме «круглого» видео. Теперь любой пользователь может отправить своему собеседнику модное селфи без каких-либо специальных настроек. Чтобы отправить такое видео, достаточно открыть чат и выбрать в верхнем выпадающем меню пункт […]

Рубрики
Технологии

Словари MDict в закрытом приложении, или зачем я писал RIPEMD-128 вручную

Добавлял в свою читалку офлайн-словари и упёрся в MDX, формат словарей MDict. Проприетарный, официальной спеки от создателей нет. Готовые Java-парсеры под GPL, а у меня закрытое приложение, тащить нельзя. Значит, пишу свой, с нуля и без зависимостей. Рассказываю, как формат устроен внутри, где я споткнулся, и почему пришлось руками писать RIPEMD-128, чтобы прочитать даже оглавление […]

Рубрики
Технологии

Prepared Statement и Java: как не облажаться на собеседовании

На PreparedStatement обычно заканчивается вводный курс по JDBC / PostgreSQL. Все довольно просто, пока не задумываешься: а работает ли оно как надо в моем крутом инновационном приложении? Дальше интереснее: как PostgreSQL выбирает custom или generic plan? кто именно кэширует statements? как с этим дружат ORM и внешние пулы? По закону подлости все выясняется на собеседовании, […]

Рубрики
Технологии

Агент написал код за 12 секунд и чинил его 40 минут: как я на самом деле сравнила ИИ-агентов

Все обзоры меряют одно — как быстро агент работает с кодом. Но на моём боевом Java-проекте на тысячи строк самый «быстрый» агент выдал решение за 12 секунд, а потом 40 минут гонял сборку в терминале, пытаясь заставить код компилироваться. Кто быстрее работает с кодом — тот дольше его чинит, а типовые сравнения этап починки не […]

Рубрики
Технологии

Как xtunnel может создать дыру в приложении

Xtunnel xtunnel — российский туннель, который позиционирует себя аналогом ушедшего из России ngrok. Сегодня, работая над учебным проектом, я заметил за ним любопытное поведение. Например, мы ставим на логине токен как http only куку (ниже и дальше будет представлен код на Java Spring, но подобное поведение аналогично во всех языках): Нормальные туннели не трогают такие […]

Рубрики
Технологии

Kafka Consumer в тестовой автоматизации: архитектурный разбор

Привет, Хабр! На связи Егор Лаптев — QA Fullstack Java в SENSE на проекте крупного российского банка. End-to-end тесты UI проверяют только то, что видно на экране: кнопка нажалась, форма открылась, данные отобразились. Но в распределённых системах значительная часть бизнес-логики уходит за кадр — в асинхронные события, которые летят через Kafka. Если событие не дошло […]

Рубрики
Технологии

Уязвимость пришла из зависимости, которую вы не добавляли: ловим дыры в Spring до прода в GitLab

В статье разбираем на боевом примере (Spring Boot 4.1, Java 21, GitLab 19.1), как поймать уязвимую зависимость в merge request — до прода, не уронив пайплайн. Подключаем SBOM‑сканер нового поколения, включаем reachability, чтобы отсеять весь шум, и ставим security‑гейт, который реагирует, только на уязвимости, которые несет в себе конкретный MR.

Рубрики
Киберспорт

В Minecraft появился «Пестрый лес» с тополями и заброшенными лагерями

Разработчики Mojang выпустили первый снапшот версии 26.3 для Minecraft Java Edition, добавив в игру новый биом «Пестрый лес» (Dappled Forest). Вместе с ним в игре появились тополя трех цветов, заброшенные лагеря с лутом и шерстяные ступеньки. Тестовая версия уже доступна в официальном лаунчере. Главные нововведения: Новый биом «Пятнистый лес» (Dappled Forest) — уютная осенняя местность, […]

Рубрики
Технологии

[Перевод] Project Valhalla: 10 спустя

В новом переводе от команды Spring АйО рассмотрим решение старой проблемы в Java: полноценные классы часто слишком дорогие для памяти и процессора. Пример — массив из миллиона, например, точек Point. Сейчас это обычно не миллион точек подряд, а миллион ссылок на объекты в куче. У каждого объекта есть служебные данные, его нужно создать, потом убрать […]

Рубрики
Технологии

[Перевод] Project Valhalla: 10 спустя

В новом переводе от команды Spring АйО рассмотрим решение старой проблемы в Java: полноценные классы часто слишком дорогие для памяти и процессора. Пример — массив из миллиона, например, точек Point. Сейчас это обычно не миллион точек подряд, а миллион ссылок на объекты в куче. У каждого объекта есть служебные данные, его нужно создать, потом убрать […]