[Перевод] Обнаружение взаимоблокировок на JVM с помощью Fray

Команда Spring АйО подготовила перевод про Fray — инструмент для обнаружения и воспроизведения ошибок многопоточности в Java-программах. Основанный на научных исследованиях и написанный на Kotlin, Fray использует технику теневой блокировки для выявления взаимоблокировок и других проблем синхронизации. Он уже доказал свою эффективность на таких проектах, как Kafka, Flink и Lucene.

https://habr.com/ru/companies/spring_aio/articles/976924/

#jvm #java #blocking #kotlin #jvm_hacks #spring #spring_boot #spring_framework #springboot #spring_data

Обнаружение взаимоблокировок на JVM с помощью Fray

Команда Spring АйО подготовила перевод про Fray — инструмент для обнаружения и воспроизведения ошибок многопоточности в Java-программах. Основанный на научных исследованиях и написанный на Kotlin,...

Хабр

[Перевод] Как сократить расходы на токены и повысить точность LLM

Когда количество доступных LLM инструментов (tool-ов) разрастается, традиционные подходы к tool calling становятся непрактичными — утилизация токенов улетает ещё до начала общения. К тому же, модели становится сложнее выбрать нужный набор tool-ов для решения проблемы. В новом переводе от команды Spring АйО читаем о паттерне Tool Search Tool, предложенном Anthropic и реализованном в Spring AI с помощью ToolSearchToolCallAdvisor. Он позволяет LLM динамически находить нужные инструменты по мере необходимости, экономя до 64% токенов и повышая точность.

https://habr.com/ru/companies/spring_aio/articles/976178/

#llm #tool #java #kotlin #spring #spring_boot #spring_framework #springboot #spring_security #spring_data

Как сократить расходы на токены и повысить точность LLM

Когда количество доступных LLM инструментов (tool-ов) разрастается, традиционные подходы к tool calling становятся непрактичными — утилизация токенов улетает ещё до начала общения. К тому же, модели...

Хабр

Как приручить iText8: превращаем HTML в PDF без седых волос

Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать договоры в PDF». Знакомо? Я оказался в похожей ситуации год назад. Задача казалась тривиальной: взять HTML-шаблон счёта, подставить данные и получить красивый PDF. «Часа на два работы», — подумал я. Как ошибался...

https://habr.com/ru/articles/975930/

#iText8 #pdf_generation #html_to_pdf #Spring_Boot #Thymeleaf #конвертация_pdf #генерация_документов

Как приручить iText8: превращаем HTML в PDF без седых волос

Введение — Зачем нам вообще PDF? Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать...

Хабр

Elasticsearch: реляционная база данных против поискового движка — Битва Титанов

В мире разработки часто возникает соблазн использовать знакомый инструмент для всех задач. Зачем изучать что-то новое, если есть проверенная реляционная база данных (РСУБД), такая как PostgreSQL или MySQL? Однако, когда дело доходит до реализации мощного, быстрого и релевантного поиска, этот подход терпит неудачу. Elasticsearch — это не просто база данных, это распределенный поисковый и аналитический движок. В этой статье мы проведем детальное сравнение Elasticsearch и реляционных баз данных, разберемся в их архитектурных различиях и определим, когда каждый из инструментов становится титаном в своей нише. Чтобы статья была максимально практико-ориентированной, мы рассмотрим, как с помощью Spring Boot быстро поднять приложение с интегрированным Elasticsearch и реализовать поиск, который «летает».

https://habr.com/ru/companies/otus/articles/975368/

#Elasticsearch #реляционные_базы_данных #полнотекстовый_поиск #PostgreSQL #Spring_Boot #масштабирование_поиска #индексирование_данных

Elasticsearch: реляционная база данных против поискового движка — Битва Титанов

Автор статьи: Сергей Прощаев (@sproshchaev) Руководитель направления Java-разработки в FinTech   В мире разработки часто возникает соблазн использовать знакомый инструмент для всех задач. Зачем...

Хабр

[Перевод] Hibernate Validator 9.1: самый мощный апгрейд за последние годы

Что, если ваш валидатор стал бы в 3 раза быстрее и потреблял бы вдвое меньше памяти — без единой правки бизнес-логики? Именно это случилось с Hibernate Validator 9.1: ушли тяжёлые коллекции, пришёл умный стек. Каскадная валидация теперь летает, даже при циклах в графе объектов. Плюс бонус: меньше мусора в памяти, меньше аллокаций, быстрее интерполяция сообщений. В бенчмарках — просто космос. Все это – в новом переводе от команды Spring АйО . Комментарий Поливаха Михаила : Несмотря на то, что с валидацией мы напрямую работаем не часто, имейте в виду, что Spring Boot и ваши @RestController -ы под капотом всё равно используют hibernate-validator. Поэтому почитайте, не поленитесь.

https://habr.com/ru/companies/spring_aio/articles/975422/

#java #kotlin #hibernate #validator #performance #performance_optimization #orm #spring #spring_boot #spring_framework

Hibernate Validator 9.1: самый мощный апгрейд за последние годы

Что, если ваш валидатор стал бы в 3 раза быстрее и потреблял бы вдвое меньше памяти — без единой правки бизнес-логики? Именно это случилось с Hibernate Validator 9.1: ушли тяжёлые коллекции, пришёл...

Хабр

Миграция демо-проекта на Spring Boot 4, Spring 7.0, JDK 25

Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты: Тесты на дженериках. Параметризация AssertJ и сравнение Json через объекты Контроллеры на дженериках: пишем кода в 3 раза меньше Миграция Java Spring Boot на Kotlin Работа с документами в Java Как многие знают, недавно вышел Spring Boot 4 / Spring 7.0. В постах компании @spring_aio есть несколько статей по новому функционалу. Я мигрировал наш небольшой учебный демо-проект Spring Boot 3.x HATEOAS ( ссылка на GitHub ) на Spring Boot 4 и добавил API версионирование. В статье даю ссылки на новый функционал, описываю шаги миграции и код проекта. Буду рад читателям:)

https://habr.com/ru/articles/974962/

#Java #springboot #spring_boot #spring_framework #spring_boot_4 #миграция #версионирование #api_versioning

Миграция демо-проекта на Spring Boot 4, Spring 7.0, JDK 25

Что нового? Spring Boot 4 и Spring Framework 7: Новый функционал кратко и доступно описан здесь: Spring Boot 4 и Spring Framework 7: Ключевые фичи и изменения . Перечислим главное: Spring Boot 4...

Хабр

“JavaScript — это плохо, а Java — это хорошо”. AI, вайб-кодинг, Spring и рынок труда: что волнует джавистов сегодня

На конференции Joker 2025 у нас была отличная возможность понять, как живётся Java-сообществу. Как AI влияет на Java-разработку? Вайб-кодинг — полезный инструмент или угроза рабочим местам? Spring — незаменимый фреймворк или слишком тяжёл для многих задач? Что с рынком труда и зачем кандидаты накручивают опыт? И главное — зачем писать на Java, если есть JavaScript? Смотрите на YouTube и VK Видео

https://habr.com/ru/companies/axiomjdk/articles/973764/

#axiomjdk #axiom_jdk #java #jdk #конференция #jokerconf #vibecoding #ai #spring #spring_boot

“JavaScript — это плохо, а Java — это хорошо”. AI, вайб-кодинг, Spring и рынок труда: что волнует джавистов сегодня

На конференции Joker 2025 у команды Axiom JDK была отличная возможность пообщаться с опытными разработчиками и понять, как живётся Java-сообществу. – Как AI продолжает влиять на Java-разработку? ...

Хабр

Как мы оптимизировали тестирование с помощью API-сервисов

Иногда в процессе разработки внезапно выясняется, что привычные подходы к тестированию перестают работать: автотесты громоздкие, данные — одноразовые и неудобные, а тестовые фреймворки уже не спасают. В такой момент команда или буксует, или придумывает что-то новое. Привет, Хабр! Меня зовут Владимир, я SDET-специалист в компании SimbirSoft. В этой статье хочу рассказать, как мы решали проблемы тестирования не традиционным написанием автотестов, а созданием собственных REST-сервисов: сервиса генерации данных и сервиса, ассистирующего тестам. Читать далее 🦾

https://habr.com/ru/companies/simbirsoft/articles/972342/

#тестирование #qa #qa_automation #автоматизация_тестирования #spring_framework
архитектура #автотесты #spring_boot #архитектура #rest

Как мы оптимизировали тестирование с помощью API-сервисов

Иногда в процессе разработки внезапно выясняется, что привычные подходы к тестированию перестают работать: автотесты громоздкие, данные — одноразовые и неудобные, а тестовые фреймворки уже не спасают....

Хабр

[Перевод] AOT в Spring Data: минус магия, плюс скорость

Команда Spring АйО подготовила перевод статьи о том, как Spring Data тихо, но уверенно избавляется от «магии рантайма» и учит репозитории работать через AOT. Меньше скрытых прокси, больше прозрачного кода, быстрее старт сервисов. Кажется, это одно из самых крутых обновлений Spring за последние годы.

https://habr.com/ru/companies/spring_aio/articles/971364/

#spring #spring_aot #spring_data #spring_7 #spring_boot #spring_framework

AOT в Spring Data: минус магия, плюс скорость

Команда Spring АйО подготовила перевод статьи о том, как Spring Data тихо, но уверенно избавляется от «магии рантайма» и учит репозитории работать через AOT. Меньше скрытых прокси, больше прозрачного...

Хабр

Spring без боли: моя шпаргалка для собесов в Java. Часть 3

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

https://habr.com/ru/articles/967632/

#java #kotlin #собеседование #собеседование_в_it #spring #spring_framework #springboot #spring_boot #spring_beans

Spring без боли: моя шпаргалка для собесов в Java. Часть 3

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

Хабр