Teknik

Välkommen till vår teknikblogg! Håll dig uppdaterad, följ oss på LinkedIn

Callista medarbetare Ove Lindström

DTO or not DTO?

// Ove Lindström

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.

Callista medarbetare Henrik Starefors

My declarative journey with NixOS

// Henrik Starefors

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.

Callista medarbetare David Ström

Hackathon: Build a smart scheduling application

// David Ström

By the time you are reading this I’m quite confident many of you are already quite weary of reading about the amazing possibilities of AI in general and LLMs in particular. But perhaps you are still, on a general level, positive about AI and happy to use the tools it has provided so far, but quietly asking yourself “What now? What is next?”. This story is for you. Too.

Callista medarbetare Magnus Larsson

Faster startup with Spring Boot 3.2 and CRaC, part 1 - Automatic checkpoint

// Magnus Larsson

With Spring Boot 3.2 and Spring Framework 6.1, we get support for Coordinated Restore at Checkpoint (CRaC), a mechanism that enables Java applications to start up faster. With Spring Boot, we can use CRaC in a simplified way, known as Automatic Checkpoint/Restore at startup. Even though not as powerful as the standard way of using CRaC, this blog post will show an example where the Spring Boot applications startup time is decreased by 90%. The sample applications are based on chapter 6 in my book on building microservices with Spring Boot.

Callista medarbetare Magnus Larsson

Upgrade to Spring Boot 3.2 and Java 21 to get support for Virtual Threads and CRaC

// Magnus Larsson

With Spring Boot 3.2 and Spring Framework 6.1, we get support for some really exciting new features like Java 21, including Virtual threads, and shorter startup times using Coordinated Restore at Checkpoint (CRaC). In this blog post, I will use the source code in the 3rd edition of my book on building microservices with Spring Boot and describe how to upgrade it to Spring Boot 3.2 and Java 21.

Callista medarbetare Ove Lindström

Sagan om två datum

// Ove Lindström

It was the best of java.time.Date, it was the worst of java.utl.Date.

  • not Charles Dickens

Använder du forfarande java.util.Date?

Gör inte det.

Varför? Det finns bättre sätt att hantera både kalenderdatum och tid i java.time paketet. Ta 10 minuter för att förstå vad klasserna i java.time kan göra för dig.

Callista medarbetare Ove Lindström

Jfokus 2024

// Ove Lindström

För 18:e året arrangerades utvecklarkonferensen Jfokus i Stockholm. Jag var som vanligt på plats som scenvärdsanvarig men hade tid att vara med på Universitetsdagen på måndagen och se många bra tal under två fantastiska dagar. Här kommer några reflektioner och en liten topplista över de presentationer som jag rekommenderar att man tittar på.

Callista medarbetare Peter Merikan

Java godbitar

// Peter Merikan

Det finns många godbitar i Java 21 men den största av dom alla pratar ingen om.

Callista medarbetare Ove Lindström

Arkitekturella behovsdomäner

// Ove Lindström

Hösten 2003 kom Eric Evans bok om Domain-Driven Design ut för första gången. Den ansågs som banbrytande och var en ögonöppnare för många inom mjukvaruutveckling. Den jämfördes med Martin Fowlers böcker om designmönster men det fanns en avgörande skillnad.

Evans införde konceptet “domändriven utveckling”, där huvudsyftet var att skapa lösningar nära kopplade till den verksamhetsdomän som systemet skulle betjäna och samtidigt bryta ner dess komplexitet.

I denna text utforskar jag behovsdomäner och hur de kan adresseras genom tre olika aspekter: operativ, taktisk och strategisk. Jag presenterar lite erfarenheter jag samlat på mig genom åren och som jag önskade att någon erfaren arkitekt hade förklarat för mig tidigare.

Callista medarbetare Ove Lindström

Data i rörelse

// Ove Lindström

För en tid sedan höll Confluent en dag med temat “Data in Motion”. I denna utforskande text sammafattar jag mina intryck av dagen och ger min syn på den ständigt växande världen av datahantering inom IT-branschen.

Från traditionella metoder för att samla och lagra data till moderna arkitekturmönster som Data Mesh och det dynamiska landskapet av dataströmmar. Jag utforskar konceptet av data som en produkt, hanteringen av komplexiteten i dagens system, och de utmaningar som uppstår när man hanterar data i rörelse.

Och jag reflekterar över den övergripande frågan - är det värt att övergå till strömmad data? Det beror på…

Callista medarbetare Magnus Larsson

Upgrade to Spring Boot 3.1

// Magnus Larsson

Spring Boot 3.1 was released in May 2023 during the wrap-up of writing the 3rd ed of my book, so there was no time to upgrade the code before releasing the book. Instead, in this blog post, I will describe how to upgrade the source code examples in the book from Spring Boot 3.0 to Spring Boot 3.1, use some of the new features like Testcontainers at development time, and also cover some new and resolved bugs.