@CacheEvict уходит раньше коммита, и кэш врёт до перезапуска
В Spring кэш и транзакции существуют рядом, но не знают друг о друге — из-за этого корректный на первый взгляд код может приводить к расхождениям ме…
Latest Architecture news from Tech News
В Spring кэш и транзакции существуют рядом, но не знают друг о друге — из-за этого корректный на первый взгляд код может приводить к расхождениям ме…
Что делать, если произошла ошибка? Житейская мудрость говорит, что можно попробовать еще раз. В контексте разработки ПО существует известный и…
Introduction This week was another challenging but rewarding part of my #100DaysOfCode journey. I started the week by learning about Docker and cont…
Каждый Java разработчик в том или ином виде сталкивается с проблемой выбора инструментария для работы с БД. Если говорить про ORM-ы, то выбор у нас…
Introduction This week was another challenging but rewarding part of my #100DaysOfCode journey. I continued going deeper into Microservices with Spr…
There is a question that costs me half an hour every time I have to answer it: If I change this controller method, what else breaks? The honest proc…
Introduction This has been one of the toughest weeks I've experienced since starting this challenge. There were moments when I doubted myself , ques…
Introduction This week, I decided to slow down and go deeper into the Spring Framework . Instead of focusing heavily on building new features, I spe…
Three days ago I knew exactly what a DeepSeek call cost me. I had wired DeepSeek V4 Pro 0813 into a Spring Boot app with Spring AI, and the math was…
Last month, I was building an AI assistant for an e-commerce system. The idea was simple: let users ask natural-language questions about orders and…
Earlier this year, I needed to add an AI assistant to a Spring Boot application I maintain. Nothing exotic -- just a chat interface that could answe…
Всем привет! Меня зовут Григорий, и недавно при разработке своего микросервисного приложения я нашёл уязвимость — сообщения, пересылаемые…
Numbers are easy to skim. 10 Critical. 99 High. 59 Medium. 20 Low. 188 total. Those numbers appeared in the first article and they're striking — but…
If you have written enterprise Java in the last 20 years, you know the name Rod Johnson. He created Spring Framework back in 2003 - the thing that m…
If you've ever started a Java project, you probably know how much configuration is usually required. You need to configure XML files, register beans…
If you've wired up a Spring Boot resource server behind Keycloak and your @PreAuthorize("hasRole('ADMIN')") is silently returning 403 for a user you…
Introduction Imagine you're assembling a new piece of furniture. One option is to buy every screw, bolt, plank, and tool separately, then spend hour…
TL;DR: Phase 1 of a from-scratch RAG app — Spring AI, pgvector, local Ollama — ends with a working pipeline and two failures that look identical fro…
Model Context Protocol (MCP) is an open standard for connecting AI apps to tools and data sources. A useful way to think about it is as a USB-C port…
Ранее в рубрике Skill of the Week мы уже разбирали Skill для Spring Data JPA . И, что предсказуемо, в комментариях нашлись те, кто увидел в нём лишн…
Реляционная модель хранит FK на стороне дочерней таблицы. В Java у нас два способа отразить эту связь: коллекция в родительской сущности ( @OneToMan…
OrderHub Day 1 stored orders in a HashMap — restart the server and they're gone. Day 2 fixes that: real persistence with JPA + PostgreSQL , and than…
A deep dive into API versioning — what goes wrong without it, the old way developers survived it, and why Spring 7's new approach changes everything…
Most Spring Boot applications eventually need authentication. And many teams rebuild the same foundation every time. Add a login endpoint. Generate…
Most persistence debates in Java are framed incorrectly. The question is not: Should we use JPA, jOOQ, or JDBC? The real question is: Is this part o…
Why Every Spring Boot Developer Must Understand the IoC Container In the modern era of software development, abstracting away complexity has never b…
Learn what the @Autowired annotation in Spring Boot is, how dependency injection works, practical examples, best practices, and common mistakes to a…
Представьте, что вы работаете над кодом магазина, который живёт уже много лет. Бизнес доволен, продажи растут, но есть одна проблема — модуль обраще…
Most Java developers have written something like this. Maybe recently. @Test void should_categorize_new_transactions () { final var mockRepository =…
Learn when NOT to use microservices in Java programming. Discover pitfalls, examples, and best practices to build smarter, simpler systems. 🚀 Introd…