bluetape4k: Kotlin 기반 백엔드 개발을 위한 통합 빌딩 블록 라이브러리
Kotlin 퍼스트 설계를 바탕으로 Spring Boot, Ktor, Exposed, R2DBC 등 주요 백엔드 프레임워크 및 라이브러리를 위한 통합 빌딩 블록을 제공한다.
bluetape4k: Kotlin 기반 백엔드 개발을 위한 통합 빌딩 블록 라이브러리
Kotlin 퍼스트 설계를 바탕으로 Spring Boot, Ktor, Exposed, R2DBC 등 주요 백엔드 프레임워크 및 라이브러리를 위한 통합 빌딩 블록을 제공한다.
[Перевод] Kotlin переходит к деструктурированию по именам
В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
Kafka, таксономии и удаление событий: как исключить обработку неактуальных сообщений
В рамках задачи по обработке XBRL-таксономий возникло требование: если таксономия удалена до обработки событий расчёта кэша, эти события не должны приводить к созданию данных для уже неактуальной сущности. На первый взгляд кажется, что достаточно найти соответствующие сообщения и удалить их из Kafka topic. Но Kafka хранит данные как commit log, поэтому точечное удаление сообщений по версии таксономии или другому бизнес-признаку оказывается небезопасным. В статье рассмотрим, почему прямое удаление сообщений не подошло, какие варианты были рассмотрены и как в итоге был применён комбинированный подход: стабильный Kafka key, tombstone-сообщения, compact/delete policy и проверка состояния таксономии на стороне consumer. Разберём решение
https://habr.com/ru/articles/1035526/
#kafka #spring_boot #Spring_Kafka #java #микросервисы #tombstone_objects #Compacted_topic #log_compaction #consumer #идемпотентность
Открытое ТЗ для пет-проекта: сервис поиска пропавших людей
Долго думал, в каком формате это написать, в итоге решил по-простому - рассказать, что есть, и кому это может пригодиться. Мы с коллегой делали выпускной проект для курсов CloudJava и CloudJava K8S. Это техзадание на бэкенд распределенной системы - четыре микросервиса, Gateway, обвязка. Изначально оно было доступно только участникам курсов, теперь решили открыть бесплатно, без регистрации или “оставьте email”. Просто страница с текстом и тремя OpenAPI-спеками. Ссылки сразу, чтобы не листать: Описание проекта: https://javaops.ru/view/cloudjava3 Само ТЗ: https://javaops.ru/view/cloudjava3/rescue-service.html
[Перевод] Команда Spring о Spring Framework 7 и Spring Boot 4
В новом переводе от команды Spring АйО рассмотрим выход Spring Boot 4 и Spring Framework 7. InfoQ взяли интервью у core команды Spring с целью узнать, куда движется самая популярная в Java экосистема. Spring Boot 4 модуляризировал автоконфигурацию. Теперь при запуске проверяется меньше классов в classpath, а uber-jar будет более компактным: будут подключаться только нужные модули. Параллельно Spring Boot 4 переходит на Jackson 3, но добавлен модуль совместимости с Jackson 2, потому что экосистема ещё догоняет. Spring Framework 7 тащит core resilience в ядро: RetryTemplate , @Retryable и @ConcurrencyLimit доступны без отдельной зависимости. @Retryable работает и с реактивными типами (через Retry из Project Reactor); для обычных вызовов используется RetryTemplate с политикой retry/backoff. @ConcurrencyLimit помогает ограничивать доступ к ресурсу, что особенно полезно с Virtual Threads.
https://habr.com/ru/companies/spring_aio/articles/1034282/
#java #kotlin #spring #spring_boot #spring_framework #springboot #spring_data #ai #agents
Skills для AI-агентов: всё, что тебе нужно знать
Добавляя новый Skill, мы ждем от агента простого результата: меньше ошибок, более стабильная работа и лучшее понимание библиотек и фреймворков. На практике же часто можно наблюдать: – один skill активируется почти всегда, даже когда не нужен – другой — не включается в момент, когда мы на него рассчитываем – третий — срабатывает «в паре» с соседними и они мешают друг другу В какой-то момент может показаться, что агент работает хаотично и явно хуже, и хочется выключить все skills и вернуться к первоначальному состоянию. Почему так происходит и что с этим можно сделать, разбираемся в статье.
https://habr.com/ru/companies/haulmont/articles/1027460/
#AIагенты #Spring_Boot #skills_для_AIагентов #Spring_Agent_Toolkit #активация_skills #YAML_frontmatter #prompt_engineering
Как мы перестали размножать BIRT‑шаблоны и собрали блочную платформу self‑service генерации страховых полисов в PDF
Когда документов и партнёров стало много, модель «один кейс — один шаблон» начала мешать даже простым правкам. Рассказываю, как мы вынесли композицию, версии и публикацию в отдельный backend-слой поверх BIRT, чтобы бизнес мог менять PDF-полисы без постоянного участия разработки.
https://habr.com/ru/companies/alfastrah/articles/1032464/
#BIRT #PDF #генерация_документов #шаблоны #Java #Spring_Boot #версионирование #конфигурирование #selfservice #страхование

Я Javaразработчик в АльфаСтрахование, в команде Авиа Блока. Мы занимаемся страхованием авиапассажиров, и одна из наших прикладных задач — генерация страховых полисов в PDF. Исторически печать у нас...
Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.
https://habr.com/ru/articles/1031770/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений
Ollama Cloud Client: когда модели слишком тяжелы для локального запуска
Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ
https://habr.com/ru/companies/beeline_cloud/articles/1031708/
#ollama #llm #spring_boot #java #react #typescript #sse #server_sent_events #streaming #ai_api
Как развернуть Spring Boot в Kubernetes за полчаса: туториал
Хотите увидеть, как живое Spring Boot‑приложение проходит путь от репозитория до кластера Kubernetes? В статье пройдем путь от создания простого HealthController до автоматического деплоя через CI/CD. Разберём Dockerfile без магии, манифесты Deployment с пробами, настройку ресурсов и изящный Graceful Shutdown. В финале вы получите живую связку «код — контейнер — кластер», готовую к продакшену.
https://habr.com/ru/companies/otus/articles/1022150/
#Spring_Boot #Kubernetes #Docker #деплой_приложения #контейнеризация #GitLab_CI #Kubernetes_Deployment #healthcheck #productionready