Teknik

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

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.

Callista medarbetare David Ström

World Summit AI 2023 i Amsterdam

// David Ström

Samma vecka som några av mina kollegor besökte GSAS i Barcelona så hade jag möjligheten och nöjet att besöka World Summit AI 2023 i Amsterdam, där vädret inte låter sig jämföras med Katalonien men jag tror att konferensinnehållet var minst lika bra! Därför tänkte jag, utifrån en handfull anteckningar, mitt bristfälliga minne och på mitt eget fullkomligt otillräckliga sätt, försöka dela med mig av några höjdpunkter, teman och reflektioner från konferensen.

Callista medarbetare Andreas Mossljung

GSAS Barcelona 2023

// Andreas Mossljung

I veckan flydde vi hösten för ett par dagars konferens i soliga Barcelona och Global Software Architecture Summit 2023. Där fick vi två dagar fulla av presentationer i en lokal som påminde lite om biosalongerna där vi brukar ha vår egen Cadec, men med lite mindre bekväma stolar.

Callista medarbetare Anders Forssell

How to Make Codable Work with Swift's New Observation Framework and the @Observable Macro in SwiftUI

// Anders Forssell

With Swift 5.9 and Xcode 15, introduced in this year’s WWDC, there is a new take on how observation is implemented and integrated with SwiftUI. The new macro capability in Swift has enabled the replacement of the protocol ObservableObject and property wrappers like @Published, @ObservedObject and @StateObject with the new @Observable macro. The new Observation framework brings several advantages aiming for simpler usage and improved performance by updating only the views directly affected by changes in the data model.

Callista medarbetare Björn Beskow

Creating a Public Key Infrastructure for development

// Björn Beskow

Since https now being the default protocol in modern browsers rather than plain http, it is often necessary to be able to use https in local development and test environments. While many tools bundles a mechanism for automatically create self-signed server certificates for https usage, it is often necessary to be able to create a full Public Key Infrastructure for the development environment, with a Certificate Authority (CA) issuing both server certificates (used for backend servers) and client certificates (used for Mutual TLS). In this short blog post, we’ll summarize the steps required to set up a development PKI using OpenSSL.

Callista medarbetare Björn Beskow

Managing APIs using Kong Gateway Part 1: Securing an API using OIDC and OAuth 2.0

// Björn Beskow

API gateways are becoming increasingly more popular, and for good reasons. As the number of APIs within an organisation grows, the amount of “plumbing” required to expose the APIs in a secure, efficient and maintainable way quickly becomes overwhelming. An API Gateway is an architectural pattern which introduces a transparent placeholder between API clients and the APIs, where Cross Cutting Concerns such as Access Control, Monitoring, Logging, Caching and Rate Limiting can be implemented. In this blog series, we’ll be demonstrating how to use Kong, one of the leading Open Source API Gateways, to add various common capabilities to an API.

Callista medarbetare Henrik Starefors

ABCs of Ansible - A path to local IaC

// Henrik Starefors

This post is part one of a series about using Ansible to automate the setup of our local development environment. In this part, we will look at the building blocks of Ansible and write our first automation tasks.

Callista medarbetare Björn Gylling

Kafka and Go - distributed state

// Björn Gylling

How do you approach using Kafka to store your data when building a HTTP api? In this series we build an application which would traditionally be backed by a classic database, the basic ‘Create-Read-Update-Delete’ api. Instead of a traditional database we store our data in Kafka and over the series look at some of the issues with this approach and how you can solve them. If you want to read from the beginning, you can find Part 1 here.

Callista medarbetare Björn Gylling

Kafka and Go - consumer group

// Björn Gylling

How do you approach using Kafka to store your data when building a HTTP api? In this series we build an application which would traditionally be backed by a classic database, the basic ‘Create-Read-Update-Delete’ api. Instead of a traditional database we store our data in Kafka and over the series look at some of the issues with this approach and how you can solve them. If you want to read from the beginning, you can find Part 1 here.