Blogg

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

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 Katarina Askdal

Kod, svett och glädjetårar

// Katarina Askdal

I år tog vi ett gemensamt beslut att konferera i Sverige. Och vilken konferens det blev! Vi samlade hela gänget (ca 40 st) i Båstad, där vi bodde på trevliga Hotel Riviera Strand. Skåne visade sig från sin bästa sida och då detta var redan i maj så blev det en fin försmak av sommaren.

Callista medarbetare Katarina Askdal

Välkommen till Callista - Najod Strömbom

// Katarina Askdal

När Najod kliver in i rummet – då går solen upp. I förra veckan började hon på vårt Stockholmskontor. Najod har en gedigen bakgrund som utvecklare och det, tillsammans med hennes öppna sinne och nyfikenhet, gör att hon passar perfekt hos oss.

Callista medarbetare Björn Genfors

Konferensrapport: tre dagar på Vitalis

// Björn Genfors

Vitalis, nordens största e-hälsokonferens, gick av stapeln i förra veckan. Konferensen växer sakta men säkert år för år, både i kalendertid och i omfattning - det som brukade vara en konferens i dagarna tre med 8-10 parallella föreläsningsspår har i år blivit till en konferens i dagarna tre och en halv, med upp till 15 parallella föreläsningsspår.

Callista medarbetare Anders Forssell

Callista Tech Radar Light 2023

// Anders Forssell

Här presenterar vi den första versionen 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 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 Katarina Askdal

Välkommen till oss Ove Lindström!

// Katarina Askdal

Det känns kul att få välkomna en ny kollega till vårt Stockholmskontor. Han heter Ove Lindström och har lång erfarenhet av ledande roller som lead developer, arkitekt, tech director/engineering manager och coach.

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 Jan Västernäs

Bootcamp igen!

// Jan Västernäs

Vi har haft Bootcamp på Nääs fabriker. Under 1,5 dagar har alla ägnat sig åt massa olika intressanta saker. Här nedan ser du några exempel på sådant som det som labbades med samt ett antal lösryckta citat.

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.

Callista medarbetare Björn Gylling

Kafka and Go - producing messages

// 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.