Blogg
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
An update on the journey of optimizing a text-similarity HTTP request handler with the new swissmap map
implementation introduced in Go 1.24.
Sedan ChatGPT släpptes till allmänheten för två år sedan så har bruket av stora språkmodeller, LLM:er, blivit vardagsmat för de flesta av oss. Genom olika förpackningar använder vi dem för personligt bruk, som arbetsredskap, och ibland som aktiva delar av produkter och tjänster.
Structured Concurrency är ett stöd för utvecklare att skriva multitrådad kod som är korrekt och enkel att resonera kring. Exekveringstrådar är resurser som måste hanteras på ett strukturerat sätt, på samma sätt som filer, nätverkskopplingar eller andra potentiellt dyra resurser. Med structured concurrency får utvecklaren hjälp att hantera den komplexitet som en multitrådad lösning innebär, och inte tappa bort skapade resurser.
WebAssembly System Interface WASI-Preview 2 släpptes i början av 2024 och möjliggör utveckling av säkra, snabba och modulära applikationer på serversidan. Med stöd för Garbage Collection, Exceptions och trådar är det enklare att använda exempelvis JVMbaserade språk. Komponentmodellen möjliggör strukturerade monoliter med isolerade moduler som till stora delar möter arkitektmålen för mikrotjänster, och med ett utbrett stöd för att exekvera i lövtunna (OCI) containers.
This is the third part of the blog series “Faster startup with Spring Boot and CRaC”, where we will learn how to automate the build process for creating Docker images for CRaC-enabled applications, including how to warm up the application before the checkpoint. We will create CRaC images for reactive microservices based on Project Reactor and Kafka.
Den till synes oundvikliga komplexiteten som plågar de flesta mjukvaruprojekt kommer ofta från beroenden mellan delar av lösningen, beroenden som över tid blir ohanterliga och leder till “legacy” (även känt som “big ball of mud”). Arkitekturarbetets kanske viktigaste uppgift är som bekant att bromsa denna ökande “mjukvaru-entropi” genom att begränsa och kontrollera beroenden med hjälp av abstraktioner, lagerindelning och arkitekturella principer som t.ex SOLID. De allra mest stabila och värdefulla delarna i en mjukvarulösning är de som också är viktigast att skydda mot osunda beroenden: domänen eller kärnverksamhetens regler och beteende.
Föreställ dig för ett ögonblick en värld utan spinners – där appar startar omedelbart, samarbetet med kollegor sker utan avbrott, innehållet delas och synkroniseras sömlöst mellan enheter och där nätverkshastigheten aldrig sätter gränser.
Med en ökad användning av mikrotjänster och molnbaserade arkitekturer har snabba uppstartstider för applikationer blivit allt viktigare för effektiv skalning och minskad nertid. För Java-applikationer kan dock krav på korta uppstartstider vara svåra att uppfylla.
Den 19:e upplagan av Jfokus är slut och nu ser vi fram emot det stora jubileumet nästa år. Eftersom jag verkar finnas med på inventarielistan var jag på plats även i år och såg till att alla talarna fick hjälp av scenvärdar. Årets upplaga var en av de bästa jag varit på och det finns många intryck att smälta. Det här är några av intrycken från konferensen.
So you think you are in control of your software delivery process? What if I told you that your software delivery process is governed by laws just as the physical world you are living in? In this article, I will explore these often-hidden principles, helping you better understand the challenges and frustrations you may encounter in your daily work. I will offer practical strategies and suggestions to overcome these challenges and improving your teams ability to deliver software successfully.
Continuing the journey of optimizing a text-similarity HTTP request handler.
Today i will share my initial experinces with adding modifers to my keyboards homerow keys. Aka Homerow Mods.
The journey of optimizing a Go web service.
In this blog we will take a look at one way to encrypt your Kafka records using Kroxylicious. This blog post is supported by a working example with source code in this GitHub repository.
I år har jag arbetat 50 år i IT-branschen. Under detta halvsekel har jag hunnit med lågt räknat 80 000 arbetstimmar. Jag som verkligen gillar att lära mig nya saker har svårt att tänka mig ett roligare jobb. Det är faktiskt så roligt att jag också har det som hobby.
Under och strax efter Covid hade vi börjat gå på online konferenser och känt att de oftast var rätt OK, men vi saknade att komma iväg på riktigt med kollegor. När det sedan blev OK att åka ut igen på konferenser kom många iväg, men några av oss kom inte riktigt till skott igen.
In this blog we dive into the concept of Data Transfer Objects (DTOs), providing a detailed explanation of their use, design best practices, and how they relate to other object patterns like Value Objects (VO), Domain Objects (DO), and Business Objects (BO). You will gain the understanding that the key to effective use of DTOs lies in their purpose: transferring data efficiently while keeping domain logic separate and testable.
In this post, I will share my journey of setting up and configuring NixOS as a daily driver from scratch. These are my first steps with NixOS, and they are neither a comprehensive guide nor a tutorial on correct usage; instead, they are stories about how I stumbled through the Nix landscape.
In part one and part two we looked at Schemas and the Schema Registry. In part three we will take a look at schema evolution in Kafka with the help of an example.
This is the second part of the blog series “Faster startup with Spring Boot 3.2 and CRaC”, where we will learn how to warm up a Spring Boot application before the checkpoint is taken and how to provide configuration at runtime when the application is restarted from the checkpoint.