Blogg

Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn

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 Jesper Holmberg Callista medarbetare Marcus Cedergren Callista medarbetare Niclas Bentley Callista medarbetare Peter Larsson

KotlinConf 24

// Jesper HolmbergMarcus CedergrenNiclas BentleyPeter Larsson

KotlinConf 2024 ägde rum i Köpenhamn den 22-24 maj och var en stor succé. Med över 2 000 deltagare från hela världen, 102 talare och 77 sessioner, var konferensen en guldgruva av information och inspiration för alla som är intresserade av Kotlin. Från Callista var vi ett gäng som hade några inspirerande dagar i Köpenhamn - här kommer en första presentation av några intressanta föredrag.

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 Anders Forssell

Callista Tech Radar Light 2024

// Anders Forssell

Här presenterar vi andra upplagan av Callista Tech Radar Light - en kartläggning av av hur teknikanvändningen ser ut hos våra kunder och kollegor i branschen.

Callista medarbetare Björn Genfors

AI-förordningen äntligen beslutad

// Björn Genfors

För tre veckor sen klubbades slutligen AI-förordningen av EU. Det betyder att alla reglerna däri kommer att börja gälla pö om pö från och med om ett halvår och upp till som mest 36 månader framåt i tiden, men där majoriteten av reglerna träder i kraft om mellan 12 och 24 månader.

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 Niklas Antoncic

Stora språkmodeller i praktiken: Hur man använder dem på egen data med hjälp av Retrieval Augmented Generation Presentation

// Niklas Antoncic

Presentation från Cadec 2024 Göteborg

Presentation från Cadec 2024 Stockholm

Stora språkmodeller (LLM:er) är grunden för den kända ChatGPT, men det finns andra tillämpningar. Ibland vill man kunna arbeta med specifik data, t.ex. ny eller privat data, som LLM:en ännu inte har tränats på eller aldrig kommer kunna tränas på. Det är här Retrieval Augmented Generation (RAG) kommer in i bilden. RAG ger oss möjlighet att berika den generella språkkunskapen hos en LLM med specifik kunskap från andra källor.

I detta föredrag kommer Niklas bland annat att gå igenom begrepp som tokenisering, inbäddning, vektordatabaser och hämtning. Han kommer även att beskriva och demonstrera olika användningsfall med hjälp av en LLM och ett RAG-ramverk som båda finns tillgängliga som öppen källkod.

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 Johan Zetterström

Design för hög tillgänglighet i en distribuerad arkitektur Presentation

// Johan Zetterström

Presentation från Cadec 2024 Göteborg

Presentation från Cadec 2024 Stockholm

Att designa ett system med krav på hög tillgänglighet kräver genomtänkta avväganden gällande hur vi hanterar beroenden mellan komponenter, både inom vårt system och mot befintliga komponenter utanför systemet. Dessa befintliga komponenter kommer vi förmodligen ha ytterst begränsade möjligheter att påverka, och systemdesignen måste därmed göras utifrån de givna förutsättningarna.

Callista medarbetare Magnus Larsson

Kubernetes - Ut med den gamla Ingress:en och in med det nya Gateway-API:et Presentation

// Magnus Larsson

Presentation från Cadec 2024 Göteborg

Presentation från Cadec 2024 Stockholm

Kubernetes Ingress har tjänat oss väl genom åren genom att standardisera hanteringen av inkommande extern trafik till ett Kubernetes-kluster. Dock har Ingress-specifikationen ett antal brister och begränsningar vilket ofta leder till användning av leverantörsspecifika tillägg med hjälp av annoteringar eller CRD:er. En och samma Ingress-definition blandar delar som berör både klusteroperatörer och applikationsutvecklare, något som resulterar i ett oönskat delat ansvar för att hålla Ingress-definitionen uppdaterad.

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 Hans Thunberg

Callista Arcade - Genesis

// Hans Thunberg

Vi var några callistakollegor som satt en lunch på kontoret och pratade nostalgiskt om datorspel på “the good old times”. Det var emulatorer för gamla datorer och arkadspel på campingplatsernas arkadhallar. Det var så idén föddes om att starta ett projekt att bygga ett eget arkadkabinett till kontoret. Vi har sedan tidigare ett flipperspel och fußball som vi kan spela på. Ett arkadspel skulle göra sig finfint i vår “spelhall”.