RU

Как я ускорил работу с топом-пользователей с 36 минут до 20 секунд, используя Redis Sorted Set

Всем привет, меня зовут Михаил, я работаю Java/Kotlin разработчиком в ОТП Банке. Все мы знаем про Redis. Часто используем его для in-memory кэша. В…

javaredishighloadвысоконагруженные системыоптимизацияоптимизация кодаоптимизация запросовhighload systemsspringspring boot
Habr
RU

Книга: «Java для профи. Инструменты, фреймворки, тестирование, производительность»

Привет, Хаброжители! В книге «Java для профи. Инструменты, фреймворки, тестирование, производительность» тандем опытных Java-разработчиков проводит…

javaфреймворкиинструментытестированиепроизводительностьspringgitprometheusразработка
Habr
RU

Избавляемся от потерянных событий в микросервисах — как я написал свой Spring Starter для Outbox/Inbox

Всем привет! Меня зовут Григорий, и недавно при разработке своего микросервисного приложения я нашёл уязвимость — сообщения, пересылаемые…

javaspringspring-starteroutbox-паттернinbox-паттернdlqkafkarabbitmq
Habr
RU

Одна маленькая ошибка в дизайне Java API, за которую потом приходится платить очень дорого

Привет, Друзья! Хотел написать короткий пост по мотивам одного казалось бы простого ПР-а, который мы недавно получили в рамках Axelix: Open Core про…

javaspringaxeliximmutableapibackward compatibilitybugssoftware design
Habr
RU

Почему многие остаются на Spring Boot 2.7 — и редко говорят об этом публично

Если ориентироваться только на публичные обсуждения, может сложиться впечатление, что большинство проектов уже давно перешло на Spring Boot 3.x. В к…

springspring-bootмиграцияspring boot 2.7обновлениеjdkjavalegacyлегасибезопасность
Habr
RU

Java Digest # 36: график выхода JDK 27, Spring Framework 7 в деталях и постмортем OOMKill после миграции на JDK 17

Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториал…

javajdkspringquarkusmicronautjepjvmaot-компиляцияjdk27
Habr
RU

[Перевод] Проблема фантомной записи: почему ваша реализация идемпотентности незаметно теряет данные

В проде бывает так, что одна и та же операция часто повторяется : клиент не дождался ответа и ретраит, балансер порвал соединение, очередь переиграл…

javakotlinspringspring bootspring frameworkspring-bootspring data
Habr
RU

Как стать Senior-разработчиком: 4 шага на пути к успеху

Если вы следите за текущими тенденциями в мире найма/вакансий, то определенно заметили, что куда-то подевались вакансии Middle и Junior-разработчико…

seniorкарьеракарьера в itразработкаai-агентыai в разработкеspringspring-boot
Habr
RU

«Весомый» рефакторинг, или как мы перестали беспокоиться и полюбили работу с весами

Представьте, что вы работаете над кодом магазина, который живёт уже много лет. Бизнес доволен, продажи растут, но есть одна проблема — модуль обраще…

javaмоделирование системархитектурные паттернырефакторингархитектура приложенияработа с устройствамивесыdispringкачество кода
Habr