RU

Как опубликовать внутренний API из DMZ, если соединения в LAN запрещены: пять подходов, которые мы проверили

Как опубликовать внутренний API из DMZ, если соединения в LAN запрещены: пять подходов, которые мы проверили Все пять схем мы собирали на  NEOM…

APIDMZАрхитектураБезопасностьHAProxyKafkaActiveMQ ArtemisWSO2NeoflexJava
Habr
RU

Senior Java — это кто? Почему одинаковый title ещё не означает одинаковую работу

Две вакансии называются Senior Java. В одной ищут Spring/PostgreSQL/Kafka backend, в другой JMM, GC, lock‑free и low latency. А в&nbs…

JavaSenior JavaJava DeveloperbackendseniorityIT-рекрутментнайм в ITвакансиитехническое лидерство
Habr
RU

Go сделали скучным — и после нейросетей это выстрелило

Go двадцать лет дразнили языком для дураков. Без дженериков, без перегрузок, без нормальных перечислений, без магии. Синтаксис учится за выходные, в…

golangязыки программированиягенерация кодаLLMобратная совместимостьдженерикимногопоточностькомпиляторыJavaPython
Habr
RU

"__TypeId__": как один Kafka-заголовок незаметно связывает микросервисы именами Java-классов

Если два сервиса обмениваются JSON, но один из них не может десериализовать сообщение без знания полного имени Java-класса другого сервиса - значит,…

Javaspring frameworkkafkaмикросервисы__TypeId__TYPE_MAPPINGSJsonSerializerJsonDeserializer
Habr
RU

Testcontainers в CI: почему тесты зелёные локально и красные на пайплайне

Локально Testcontainers запускается за секунды, тесты стабильно зелёные, а в CI тот же набор начинает падать в трёх запуска…

Testcontainersинтеграционное тестированиеDockerJavaнестабильные тестыконтейнерыGitLab CIпараллельные тестыуправление ресурсами
Habr
RU

Java для автоматизаторов: Алгоритмы, скорость и подводные камни

Когда автотестов становится много, каждый лишний цикл превращается в минуты ожидания на CI. Разбираем на реальных примерах, как оценка сложности алг…

JavaавтоматизацияалгоритмыBig OSeleniumWebDriverоптимизацияпроизводительностьтестирование
Habr
RU

Как приручить legacy-код: безопасная модернизация без заморозки фич

Как модернизировать legacy-код без остановки продукта: Strangler Fig Pattern, feature flags, shadow testing и безопасная миграция данных. Практика и…

ИнтернетAPIJavaGitОпросPythonRubyMySQLПрактикаSQLРефакторингРаботаTorGitHubБотыHRMITФинтехICORedisQAБэкендTwitterИграПриложениеСерверKubernetesБиблиотекианалитикOpenTelemetryPostgreSQLDeFiGrafanaБизнесLegacyТехникаСтатьи
Tproger
RU

Black-box тесты на Java: функциональные тесты за секунды и в параллель и почему я остался на своих

Я наткнулся на подход к функциональным тестам, который меня по-настоящему удивил. Тесты в нём вообще не знают, что внутри Spring: стучатся в реально…

функциональные тестыинтеграционные тестыblack-box тестыSpring BootTestcontainersJaCoCoflaky-тестыпокрытие кодаJavaтестирование
Habr
RU

Собираю гуманоидного робота по OpenLoong: заметки Java-разработчика

Привет, меня зовут Ашот Агабеков. Я Java backend‑разработчик. Основная моя профессиональная область — backend‑разработка, архитектура, интеграц…

OpenLoongгуманоидный роботробототехникаJavapet project3D-печатьFusion 360DIYOpen sourcearduino
Habr
RU

62 бесплатных урока июня: Java, Docker, LLM, SRE, DWH и другие темы для роста в IT

Карьерный рост в IT редко упирается только в «выучить еще один инструмент». Чаще проблема в другом: понять, какие технологии уже стали рабочей практ…

DockerKubernetesLLMJavakafkadevopsмикросервисыбесплатные урокипрофессиональное развитиеSRE
Habr
RU

C# мне нравится больше Java. Но в банковском enterprise мне всё равно понадобилась Java

C# я до сих пор считаю одним из самых удобных языков для backend разработки. В нём много вещей к которым быстро привыкаешь: свойства, LINQ, async/aw…

C#JavabackendenterpriseбанкиSpring Boot.NETмикросервисыимпортозамещениекарьера
Habr
RU

Сможете ли вы спроектировать Maven‑монорепозиторий для 5 микросервисов?

В этой статье мы разберём реальную задачу на проектирование Maven Multi‑Module: от циклических зависимостей и неправильного использов…

MavenмонорепозиториймикросервисыSpring Bootmulti-moduledependencyManagementMaven Wrapperархитектура сборкиJava
Habr