KRepo: Spring Data для Ktor — без Spring и без боли
KRepo: Никаких имплементаций или инъекций. Под капотом — динамический прокси, кэширование метаданных и независимость от фреймворков: плагины под Exposed, JDBC или MongoDB реализуются отдельно.

Объектно-ориентированный язык программирования
KRepo: Никаких имплементаций или инъекций. Под капотом — динамический прокси, кэширование метаданных и независимость от фреймворков: плагины под Exposed, JDBC или MongoDB реализуются отдельно.
Всем привет. Ранее я уже публиковал статьи (раз и два), где рассказывал о проблемах IDEA Maven плагина, основная из которых — это импорт проектов. И о своем решении Easy Maven, как получить информацию о проекте с помощью нативного Maven плагина. Теперь я бы хотел поговорить о запуске и отладке проектов в IDEA. С ними на самом деле похожая проблема. Чтобы это все работало, нужно импортировать в IDEA все настройки компилятора из билд файлов, чтобы среда разработки могла сама компилировать и запускать проект. Но это не так то просто — постоянно появляются новые параметры и возможности компиляторов, также для каждого из JVM языка (Java, Kotlin, Groovy, Scala и так далее) есть свой компилятор со своими особенностями, annotation processors — которые надо дополнительно распознавать и загружать как jar‑файлы с их транзитивными зависимостями и импортировать в IDEA. Постоянно нужно за всем этим следить и нам опять приходить играть в догонялки. Только мы всегда находимся на шаг позади в роли отстающих и нужно тратить много ресурсов, чтобы заставить запускаться проект корректно из IDEA. Поэтому я решил и тут пойти другим путем — а зачем нам вообще все это делать и переносить настройки в IDEA, если мы можно просто выполнить Maven таск для соответствующего плагина — запуск теста или приложения? Поэтому я хотел бы остановиться на этом поподробнее и рассказать о своем решении.

Привет, Хабр! Я заметила, что в стартап-культуре и среди небольших команд бытует миф: «Мы слишком малы, чтобы нас атаковали». Я считаю, что сейчас это одно из опаснейших заблуждений, поэтому и решила написать статью, чтобы поделиться своими мыслями и некоторыми знаниями на эту тему.

Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.

Привет, Хабр!
В последние годы потоки данных в различных системах и между ними только увеличиваются, а в дальнейшем этот тренд наврятли изменится. Для работы с данными всегда требуются различные инструменты.
Apache NiFi — программный продукт с открытым исходным кодом, написанный на языке Java, предназначенный для автоматизации потоков данных между системами. Главная его задача: организовывать ETL-процессы. На GitHub у Apache NiFi имеется 5.9 тысяч звезд.
Эта статья посвящена написанию процессора для Apache NiFi на Java и требует базовых знаний в области Apache NiFi, опыт программирования на Java и IDE на борту компьютера.

25 сентября в Москве прошёл Java Rock Stars Meetup, в котором было всё: доклады, холивары о будущем Spring в России и много нетворкинга.
Пока готовился обзор прошедшего митапа, мы уже успели организовать новый и заключительный в этом году Java Rock Stars Meetup, который пройдёт 2 декабря в Москве в привычном месте — лофте Casa Picassa.
Регистрируйтесь на митап по ссылке.
А пока присоединяйтесь к нашему ТГ-каналу и чату Java Rock Stars Meetup, чтобы быть в курсе новостей митапа.

Всем привет!
Сейчас я работаю Senior Java Developer в банке, и за последние годы мне довелось пройти немало собеседований — разных по уровню, стилю и степени жесткости. Сегодня я хочу рассказать об одном из них и поделиться опытом, который может быть полезен тем, кто тоже готовится к новым вызовам.

Это довольно короткая статья, целью которой является пояснение того, что вообще такое "модуляризация" Spring Boot, почему она появилась и откуда, собственно, ноги растут.
Для многих Spring Boot это просто автоконфигурация. Само собой Spring Boot гораздо шире и включает в себя в том числе ещё и
Spring Boot Actuator
Spring Boot DevTools
Spring Boot Tools и т.д.

Всем привет!
Я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти не один десяток собеседований, выслушать массу неожиданных вопросов и потратить немало времени на подготовку. И вот что я понял: Kafka - одна из самых любимых и в то же время самых коварных тем на технических интервью. Независимо от уровня кандидата, вопросы по Kafka появляются почти всегда - от базовой архитектуры до тонкостей гарантий доставки и работы consumer groups.
Сегодня я хочу помочь подготовиться к вопросам по Kafka, вопросы будут разной сложности, будет интересно. Поехали!

На днях вышла новая версия GigaIDE Community Edition. Долгожданное обновление, которое помимо обновления базовой платформы до IntelliJ 2025.1 и мультиагентной системы на базе GigaCode, имеет собственный маркетплейс плагинов. Особенно стоит отметить, что команда GigaIDE пошла по пути максимальной открытости и добавила возможность переключаться между различными маркетплейсами прямо в интерфейсе GigaIDE.

Микросервисы легко разрастаются до зоопарка эндпоинтов, где каждый сервис живёт по своим правилам, а клиенту приходится знать обо всех. В статье разберем, как API Gateway превращает этот хаос в единую точку входа: берёт на себя маршрутизацию, аутентификацию, агрегацию запросов и наблюдаемость. На простом примере с Spring Cloud Gateway рассмотрим, как собрать такой слой поверх Java-сервисов и упростить жизнь и разработчикам, и внешним потребителям API.

Всем привет!
Я Senior Java Developer в банке, и за эти годы мне довелось пройти немало собеседований. Где-то было спокойно, где-то — как в допросной, с каверзными вопросами, странными задачами и вечным «а почему так, а не иначе?». В процессе я собрал целую коллекцию тем, которые всплывают снова и снова, особенно когда дело касается баз данных.
Сегодня хочу поделиться этим опытом и разобрать вопросы, которые чаще всего задают именно по SQL-базам.

CookBook maven plugin. CDI, отладка и тестирование. Цель статьи - рассказать об опыте разработки плагина.

Приглашаем на вебинар, на котором поговорим, как защитить сборки, избежать зависимостей от внешних репозиториев и повысить надёжность.
Вебинар бесплатный, нужно только зарегистрироваться.

О программировании с помощью AI-агентов трубят из-за каждого угла. Последнее время появилось достаточно много инструментов, которые буквально пишут код за разработчика. Наша команда следит за индустрией ИИ в разработке достаточно давно. Помимо внедрения ИИ в сам процесс разработки наших продуктов, мы активно занимаемся интеграцией Amplicode с современными AI-агентами и не только. И у нас есть свои мысли на этот счет :-)

При разборе продакшн heap dump я обнаружил странность: Hibernate Query Plan Cache занимал почти треть памяти. Обычный IN (:ids) внезапно генерировал тысячи SQL-планов и раздувал heap.
Почему так происходит и как полностью решить проблему с помощью ANY(:ids) — разбираю пошагово на реальном примере

Команда Spring АйО подготовила перевод статьи о том, как Spring Framework 7 приносит нативную поддержку API-версионирования — темы, которая годами оставалась на разработчиках и собирала тонны костылей. Теперь Spring Framework предлагает единый, продуманный механизм как для серверной, так и для клиентской стороны. Что это меняет для архитектуры и разработки на Spring — разберёмся в статье.

Данный пост посвящён детальному разбору вещественного типа данных с плавающей точкой удвоенной точности double

Всем привет!
Сейчас я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти множество собеседований, столкнуться с десятками непростых вопросов и вложить кучу времени в подготовку. И со временем я заметил одну закономерность: Spring — одна из самых объёмных и любимых тем на Java‑собеседованиях, причём спрашивают её у кандидатов любого уровня.
Поэтому в этой статье я хочу помочь вам уверенно подготовиться к вопросам по Spring, также покажу примеры задач, которые дают на собеседованиях. Поехали!

На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.