Produkty Poradenství O nás Blog Kontakt English

Java

Nahrazujeme Axon ságy stavovými event handlery: co jsme postavili místo nich

Nahrazujeme Axon ságy stavovými event handlery: co jsme postavili místo nich

Proč jsme nahradili Axon ságy — a DeadlineManager — JobStateService nad Postgresem, Spring @Scheduled sweeperem a Temporalem pro práci ve tvaru workflow, plus produkční úskalí, na které jsme cestou narazili.

  • Axon Framework
  • CQRS
  • Event Sourcing
  • Spring Boot
  • Java
Číst dále arrow_forward
Dagger: Slibný CI jako kód (pro backendy, ne pro mobil)

Dagger: Slibný CI jako kód (pro backendy, ne pro mobil)

Na Devoxx Athens jsem viděl Dagger — programovatelné CI/CD pipeliny v jazyce dle vašeho výběru, běžící identicky na notebooku i v CI. Proč je to zajímavé pro backendové integrační testy a kam se to zatím nehodí.

  • Dagger
  • CI/CD
  • DevOps
  • Java
  • Testing
Číst dále arrow_forward
Spring Modulith v praxi: Od kódu k živým architektonickým diagramům

Spring Modulith v praxi: Od kódu k živým architektonickým diagramům

Spring Modulith umí generovat C4 component diagramy a dokumentaci modulů přímo z vašeho kódu. Zapojte to do CI, publikujte na GitHub Pages a vaše architektonická dokumentace bude vždy aktuální — bez ručního kreslení.

  • Spring Boot
  • Spring Modulith
  • Java
  • C4 Model
  • Architecture
  • Documentation
Číst dále arrow_forward
Spring Modulith v praxi: Vynucování architektury v rostoucím monolitu

Spring Modulith v praxi: Vynucování architektury v rostoucím monolitu

Spring Modulith mění hranice modulů z ústních dohod na selhání buildu. Jak používat named interfaces, postupné vynucování a testy modularity — a proč je to ještě důležitější v éře AI-asistovaného vývoje.

  • Spring Boot
  • Spring Modulith
  • Java
  • Architecture
  • Modular Monolith
Číst dále arrow_forward
Mise vs SDKMAN: Proč přecházím po letech s .sdkmanrc

Mise vs SDKMAN: Proč přecházím po letech s .sdkmanrc

SDKMAN byl můj hlavní správce verzí JDK celé roky. Mise dělá všechno co SDKMAN — plus Node, Python, Terraform a 500 dalších nástrojů — s jedním konfigurákem a téměř nulovou režií. Proč přecházím.

  • Mise
  • SDKMAN
  • Java
  • Developer Tools
  • DevEx
Číst dále arrow_forward
DGS ve velkém měřítku: Testování, evoluce schématu a federation

DGS ve velkém měřítku: Testování, evoluce schématu a federation

Část 5 série Production GraphQL — unit testování DGS komponent pomocí Spocku, evoluce GraphQL schématu bez rozbití klientů a federace více služeb do jednoho unified graphu.

  • GraphQL
  • Netflix DGS
  • Testing
  • Federation
  • Java
Číst dále arrow_forward
Virtuální vlákna nezabila WebFlux

Virtuální vlákna nezabila WebFlux

Virtuální vlákna v Javě 21 řeší škálovatelnost vláken u blokujícího kódu. WebFlux řeší backpressure, streaming a event-driven kompozici. Nejsou to konkurenti — řeší různé problémy a názor, že ‚WebFlux je mrtvý', je nebezpečně mylný.

  • Java
  • Virtual Threads
  • Spring WebFlux
  • Project Reactor
  • Spring Boot
Číst dále arrow_forward
Zabezpečení GraphQL API s Netflix DGS

Zabezpečení GraphQL API s Netflix DGS

Třetí díl série Production GraphQL — autentizace a autorizace pomocí @PreAuthorize, sanitizace chyb proti úniku informací a limity hloubky a složitosti dotazů proti zneužití.

  • GraphQL
  • Netflix DGS
  • Spring Security
  • Java
  • API Security
Číst dále arrow_forward
Testování Axon 5 agregátů pomocí Spocku: Praktický průvodce

Testování Axon 5 agregátů pomocí Spocku: Praktický průvodce

Jak testovat stavové automaty Axon 5 agregátů pomocí Spocku a AxonTestFixture — od vytváření přes guard clause odmítnutí, s praktickými vzory pro řetězení eventů, práci s timestampy a injektované služby.

  • Axon Framework
  • CQRS
  • Event Sourcing
  • Spock
  • Testing
  • Java
Číst dále arrow_forward
Řešení N+1 problému pomocí Data Loaderů a Field Resolverů

Řešení N+1 problému pomocí Data Loaderů a Field Resolverů

Druhý díl série Production GraphQL — jak DGS data loadery batchují databázové dotazy a eliminují N+1 problém, kdy použít MappedBatchLoader vs BatchLoader a vzory pro stránkování v GraphQL API.

  • GraphQL
  • Netflix DGS
  • Spring Boot
  • Java
  • Performance
Číst dále arrow_forward
Schema-first GraphQL s Netflix DGS

Schema-first GraphQL s Netflix DGS

1. díl série Production GraphQL — jak Netflix DGS a Spring for GraphQL splynuly v jeden stack, schema-first vývojové vzory, generování kódu a třívrstvý typový systém, který udrží vaše API udržovatelné.

  • GraphQL
  • Netflix DGS
  • Spring Boot
  • Java
  • API Design
Číst dále arrow_forward
Tichá mezera v metadatech: Proč vaše Axon 5 eventy nemají atribuci uživatele

Tichá mezera v metadatech: Proč vaše Axon 5 eventy nemají atribuci uživatele

Metadata příkazů se v Axon Framework 5 automaticky nepropagují do eventů. Jak to řeší CorrelationDataProvider — a proč je to tak těžké odhalit.

  • Axon Framework
  • CQRS
  • Event Sourcing
  • Spring Boot
  • Java
Číst dále arrow_forward
Váš MCP Server funguje lokálně. Pak Kubernetes zabije session.

Váš MCP Server funguje lokálně. Pak Kubernetes zabije session.

Jak jsme debugovali občasné chyby 'Session not found' ve Spring AI MCP serveru na GKE — a proč přechod na stateless transport je správná odpověď pro Kubernetes nasazení.

  • MCP
  • Kubernetes
  • Spring AI
  • GKE
  • Java
Číst dále arrow_forward
Propagace identity uživatele v Axon 5 query handlerech

Propagace identity uživatele v Axon 5 query handlerech

Proč je ReactiveSecurityContextHolder vždy prázdný uvnitř Axon query handlerů, tři přístupy které jsme zvážili, a řešení pomocí Axon MetaData které udržuje query objekty čisté.

  • Axon Framework
  • CQRS
  • Spring WebFlux
  • Spring Security
  • Java
Číst dále arrow_forward
Migrace z Axon Framework 4 na 5: Co jsme se naučili

Migrace z Axon Framework 4 na 5: Co jsme se naučili

Praktická zkušenost s migrací CQRS/ES aplikace z Axon Framework 4.12 na 5.0 — rozsah změn API, nahrazení ság stavovými event handlery a přínos reaktivní architektury.

  • Axon Framework
  • CQRS
  • Event Sourcing
  • Spring Boot
  • Java
Číst dále arrow_forward