Обновить

Существует ли совершенный Java-код?

В реальной жизни не всегда можно сделать так, чтобы код был красивым, читаемым, без «костылей» и оптимизированным. А статьи в сезоне Java one love помогут примирить внутреннего перфекциониста с реалистом (или хотя бы облегчить боль первого).

Итак, учимся на чужих граблях, когда лучше послушать совет «‎Работает? Не трогай!», а когда, наоборот, экспериментировать и пробовать новые подходы:

? Ускоряем java-рефлексию в 2023

? Динамическое создание слушателей в Kafka 

? Релиз Jmix 2.0 — новой версии платформы для быстрой разработки бизнес-приложений на Java

? Байки джависта

?️ Нагрузочное тестирование API без использования UI

Если у вас есть Java-опыт — делитесь им на Хабре и получайте призы. Поторопитесь — осталась всего неделя до конца → https://u.habr.com/java1love 

Сезон длится до 15 сентября. Спонсор Сезона Java one love — Мир Plat.Form.

Теги:
Рейтинг0
Комментарии0

Почему UFW не спасает от Docker: анатомия сетевой подставы и что ищут боты в открытых портах БД

Типичная картина при переезде на свежий VPS. Подняли чистую Ubuntu или Debian под новый проект, сразу навели базовый порядок: ufw default deny incoming, снаружи оставили только 22, 80 и 443. Глянули ufw status — всё четко, лишнего не торчит. Дальше ставится Docker, через компоуз взлетает бэкенд с PostgreSQL и Redis. Чтобы удобно ходить в базу с ноута через DBeaver и гонять миграции, на автомате дописываем ports: - "5432:5432". Кажется, что мы в домике: наружу ничего не светит, фаервол же режет всё, кроме веба и SSH.

А через пару дней прилетает абуза от хостера или срабатывает алерт в мониторинге: все ядра в полке, в htop резвится какой‑нибудь kdevtmpfsi или kinsing, а вместо таблиц в базе лежит одна записка README_TO_RECOVER с биткойн‑кошельком. Грабли старые, как сам Docker. Но на них с завидной регулярностью наступают и джуны, и вполне опытные админы, привыкшие доверять выводу ufw status.

Почему UFW не спасает от Docker: анатомия сетевой подставы и что ищут боты в открытых портах БД

Публикации