RU

Модульная надстройка для JasperReports: коллекции, рантайм и границы подхода. Часть 4

Это последняя часть серии — и самая плотная. Поля-коллекции и повторяющиеся субрепорты, что именно роняет сборку, как собирается карта параметров в…

jasperreportsjavaopen sourcejrxmlspring bootотчётыpdfаннотационный процессорсубрепорты
Habr
RU

Модульная надстройка для JasperReports: подключение и что делает процессор при сборке. Часть 3

Третья часть серии — практическая. Как подключить библиотеку к Maven-проекту, написать первый модульный отчёт и что после этого происходит с шаблоно…

jasperreportsjavaopen sourcejrxmlspring bootотчётыpdfаннотационный процессорсубрепорты
Habr
RU

Модульная надстройка для JasperReports: один стандарт и три идеи. Часть 2

Во второй части серии — чего ждёт от инструмента отчётов современный Java-разработчик и на каких идеях я собрал свою надстройку над JasperReports —…

jasperreportsjavaopen sourcejrxmlspring bootотчётыpdfаннотационный процессорсубрепорты
Habr
RU

Модульная надстройка для JasperReports: откуда взялся Jasper и почему он так устроен. Часть 1

JasperReports появился в самом начале нулевых: румынский разработчик Теодор Данчу делал большой Java-проект, где нужно было формировать и печатать м…

jasperreportsjavaopen sourcejrxmlspring bootотчётыаннотационный процессорсубрепортыpdf
Habr
RU

Свои книжные метаданные: Pivot-архитектура, Spring Boot и бесплатный API для Obsidian

Как я собрал бесплатный сервис метаданных книг на Java и Spring Boot — с EAV/Pivot-схемой БД вместо ALTER TABLE на каждое новое поле, агрегацией нес…

javaspring bootpostgresqlpivot architecturebook metadataisbnopen libraryobsidianmultitenancyмикросервисы
Habr
RU

Свежий взгляд на бронирование тайм‑слотов, или как я это сделал на Spring boot, используя пессимистические блокировки

Здравствуйте, Хабровчане! Меня зовут Дмитрий, я бэкенд разработчик Java. Недавно я наткнулся на задачу, которая сначала показалась мне копеечной, а…

javaspring bootpostgresqlbackendarchitectureslots apib2bsaas
Habr
RU

Шёл за утечкой памяти, нашёл утечку диска: SXSSFWorkbook без dispose() в Apache POI

Меня зовут Игорь Симаков, работаю engineering manager’ом и руковожу командами разработки На одном из наших сервисов, который работает с XLSX-файлами…

apache poiутечка памятиkubernetesjavarssarchunitspring bootпроизводительность
Habr
RU

Kafka, таксономии и удаление событий: как исключить обработку неактуальных сообщений

В рамках задачи по обработке XBRL-таксономий возникло требование: если таксономия удалена до обработки событий расчёта кэша, эти события не должны п…

kafkaspring bootSpring Kafkajavaмикросервисыtombstone objectsCompacted topiclog compactionconsumerидемпотентность