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
Nu finns videoinspelningar av alla föredrag från Cadec 2024 tillgängliga på vår hemsida. Du hittar videon på respektive föredrags presentationssida, se länkar nedan.
It was the best of
java.time.Date
, it was the worst ofjava.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.
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.
Automatisering av acceptanstester har varit ett återkommande tema på Cadec genom åren. Det är ofta svårt och kostsamt, men har kommit att bli en viktig framgångsfaktor för storskaliga mikrotjänst-arkitekturer och en förutsättning för kontinuerlig driftsättning.
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å.
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.
Multiplattformsappar, både för webb och mobil, har blivit något av den heliga graalen inom frontend-utveckling. Även om multiplattform kan kännas skrämmande för nativespecialister så lockar möjligheten att ha en enda kodbas som ett generellt botemedel mot ökade kostnader och större komplexitet.
Om AI tidigare varit ett abstrakt koncept så har det nu på allvar blivit en del av vår vardag, och ett fenomen som kan antas växa kraftigt i betydelse under förutsägbar tid framöver. Något man kan uppleva som spännande eller skrämmande, beroende på tillämpning.
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.
För att säkra att rätt tillgänglighetskrav ställs på olika funktioner inom ett system behöver vi titta på krav utifrån de verksamhetsprocesser som nyttjar funktionerna.
Nedräkningen till Cadec är i full gång. Cadec är vår årliga utvecklarkonferens där vi delar med oss av ämnen som vi finner intressanta och som vi tror kommer att intressera våra branschkollegor. Konferensen är kostnadsfri.
Taking a quick look at building a backend-driven web GUI using htmx and Go templ.
Det finns många godbitar i Java 21 men den största av dom alla pratar ingen om.
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.
Nu har vi släppt programmet för Cadec 2024 - konferensen för utvecklare som vill utvecklas. Cadec ges i två upplagor - i Stockholm 18 januari 2024 och i Göteborg 24 januari 2024. Vi kan utlova en givande eftermiddag med både bredd och djup, och som vanligt handlar föredragen om de senaste trenderna inom arkitektur och utveckling.
Taking a quick look at Erlang-style actor architecture using Go with Ergo Framework.
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”.
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å…
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.