Presentationer
Här finns presentationer från våra olika event. Håll dig uppdaterad, följ oss på LinkedIn
Här finns presentationer från våra olika event. Håll dig uppdaterad, följ oss på LinkedIn
Idag finns det maskininlärning överallt, t.ex. när vi scrollar social media, kollar vädret, tar en bild, letar musik på Spotify etc. Ofta körs detta på stora servrar någonstans i molnet. Men i många fall vill vi ha snabb respons och har kanske inte ens tillgång till ett nätverk. Hur gör man då?
Varför är det sådan hype kring Stable Diffusion? Vi förklarar och demonstrerar state-of-the-art-tekniken för generativa modeller. I april 2022 presenterades DALL-E-2 och därefter Imagen som visade sig vara banbrytande modeller inom text-till-bild-generering. Dessa modeller, av typen Latent Diffusion, var stängd källkod och ägdes av Microsoft respektive Google. I augusti 2022 släpptes dock ytterligare en variant – kallad Stable Diffusion – som öppen källkod av ett tyskt forskningsinstitut. Detta medförde en formidabel explosion av användning av Machine Learning baserad på generativa modeller.
Moderna verktyg för Infrastructure as Code (IaC) ger möjligheten att definiera infrastruktur för olika molnleverantörer (sk “multi cloud”) med välkända programmeringsspråk som TypeScript, Python, Java, Go och .NET
SQL är coolt igen – eller i alla fall fortfarande relevant. Relationsdatabasen, vars död förutspåddes av NoSQL-förespråkarna för tio år sedan, fortsätter att hålla en central plats i våra lösningar. De alternativ som skulle ersätta den har hittat sina nischer, men relationsdatabasen finns fortfarande kvar.
De ansvarsområden och arbetsuppgifter som frontendarkitekten behöver hantera har ökat exponentiellt i mängd och svårighetsgrad under det senaste årtiondet. Det räcker inte med att hantera traditionella funktionella och icke-funktionella krav, man behöver även adressera och hantera en ständigt växande mängd områden.
Javas programmeringsmodell för trådhantering är konceptuellt enkel, men tyvärr inte särskilt lämpad för massiv skalbarhet. Trådar i JVM:en hanteras och scheduleras av det underliggande operativsystemet och är därför en dyr och begränsad resurs. Reaktiva programmeringsmodeller – som t.ex. RxJava och WebFlux – löser det problemet men på bekostnad av en betydligt mer komplex programmeringsmodell och bristande utvecklarupplevelse.
Tredje generationen av det mest populära applikationsramverket för Java, Spring Boot, är här. Eftersom det går cirka fem år mellan generationsskiftena så kan vi förvänta oss stora förbättringar. Enligt Pivotal ska Spring Boot 3 ihop med Spring Framework 6.0 lägga grunden för det kommande decenniet. Mycket fokus är lagt på att förenkla utveckling av distribuerade system, t.ex. en arkitektur baserad på mikrotjänster eller FaaS (Function as a Service). Det här föredraget kommer belysa och demonstrera bland annat
Som nybliven elbilsförare ställs man inför en helt ny värld av laddkontakter, reseplanering och räckviddsångest. Det här föredraget handlar om hur föredragshållaren på ett enkelt och kostnadseffektivt vis byggde en molnbaserad lösning för att samla in mätvärden kring antalet lediga snabbladdare och hur denna data kan analyseras för att förutspå tillgänglighet inför en längre semester- eller tjänsteresa. Föredraget kommer lyfta fram hur en kombination av egenutvecklad kod, AWS-tjänster, API:er och en tidsseriedatabas åstadkom en lösning som är förvånansvärt lättviktig och billig i drift. Viss fördjupning kommer ske kring tidsseriedatabaser och varför de är så ytterst väl lämpade för att effektivt lagra och söka i det vi i dagligt tal kallar “metrics”.
Web-app utveckling idag har tre stora spelare React, Angular och Vue. På det stora hela är det inte jättemycket som skiljer dem åt – de är tillståndsdrivna, deklarativa och använder sig av DOM-jämförelser för att uppdatera det visuella användargränssnittet. Idag jagar man prestanda, utvecklarupplevelse (DX) och tillgänglighet. Svelte lovar bättre prestanda, enkelhet för utvecklaren (DX) och bättre tillgänglighet. Det har ett komponentbaserat, deklarativt sätt att göra det på, men gör det annorlunda än de stora spelarna idag. Svelte har ökat mycket i popularitet på sista tiden.
Ubiquitous Language - att låta verksamhetens språk genomsyra IT-miljön ända ner i programkoden - är ett centralt begrepp inom domän-driven design (DDD). Hur vi talar om, klassificerar och benämner de centrala begreppen i vår domän är ofta viktigare för slutresultatet än enskilda teknikval. Vi börjar från början med en genomgång av terminologihantverkets grunder. Därefter följer en beskrivning av hur man kan hantera en kontrollerad vokabulär rent datatekniskt, och vi går igenom några grundläggande principer för begreppshantering i de icke-triviala lösningarna. Slutligen sätter vi in denna kunskap i en praktisk utvecklarkontext - hur terminologiarbetet kan vägleda oss i både smått (såsom datamodellering, identifiering av aggregat och domän-events) som stort (såsom mikrotjänster, utformning av API:er, bounded contexts och context maps)
För mer än 25 år sedan introducerades JavaScript för att ge liv åt då ganska platta och livlösa webbsidor. Sedan dess har JavaScript utvecklats enormt och blivit ett av de vanligaste programmeringsspråken och JavaScript-plattformen används på fler ställen än bara i webbläsaren. WebAssembly är den första nya universellt stödda runtimen och språket för webbläsaren som har introducerats sedan JavaScript. Bara det faktum att webbläsare är en av de vanligaste plattformarna gör WebAssembly intressant, men WebAssembly har precis som JavaScript rymt från browsern och används i en massa andra sammanhang, t.ex. som runtime för blockchain, inom serverless och edge computing samt även som en fristående runtime. Det här föredraget kommer att ge en introduktion till WebAssembly och visa på några av användningsområdena, samt ge en inblick i hur framtiden kan se ut för denna fortfarande unga teknologi.
Djungeln med JavaScript-baserade frontendramverk kan tyckas snårig och svåröverskådlig för den oinvigde. Vart ska man vända sig för att uppleva den lägsta tröskeln utan att göra avkall på kompetent funktionalitet? Teamet bakom Vue.js utlovar ett högpresterande, progressivt och syntaktiskt enkelt ramverk, där god dokumentation ligger till grund för ett lågt insteg. Under denna presentation tar vi oss an Vue.js “Single File Component”-modell och demonstrerar uppbyggnaden av en Vue-applikation.
De senaste 10 åren har området maskininlärning formligen exploderat och nya appar och tjänster som använder sig av denna teknik dyker upp som svampar ur jorden. Men vad är grunden till denna exponentiella tillväxt? Vad behöver jag som utvecklare kunna för att dra nytta av och implementera mina egna lösningar med denna teknik? I denna presentation borrar jag djupare i dessa frågor för att hitta svar som förhoppningsvis väcker upptäckarlusten till liv. Vi kommer titta på hur maskininlärning kan användas inom Natural Language Processing (NLP) som ett exempel. En av styrkorna med maskininlärning är dess breda tillämpbarhet och just därför kommer vi att undersöka hur lärdomar från maskininlärning inom NLP även skulle kunna användas inom andra områden. För att demonstrera att detta faktiskt kan leda till någonting praktiskt användbart så kommer vi titta närmare på hur vi med dessa tekniker t.ex. kan bygga en chatbot.
React har sedan ett antal år banat vägen för ett nytt sätt att skapa användargränssnitt. Tidigare var det vanligt att imperativt skapa och hantera tillståndet för olika GUIkomponenter, något som kan leda till problem med komplex kod och att användargränssnittet kommer “ur synk” med modelldata. Med React beskriver man istället användargränssnittet och kopplingen till datamodellen på ett deklarativt sätt. Detta gör att oavsett hur eller i vilken ordning data i modellen ändras så kan man vara säker på att användargränssnittet alltid beter sig korrekt.
Kotlin coroutines är ett sätt att programmera asynkrona lösningar som ger möjlighet till lättförståelig och effektiv kod.
Infrastructure-as-code (IaC) är ett begrepp som vuxit fram i takt med övergången från onpremise till molnmiljöer. AWS har sedan 2011 möjliggjort IaC via CloudFormation som ger utvecklare möjlighet att definiera infrastrukturen via templates i YAML eller JSON. Tio år senare finns nu ett nytt verktyg – AWS Cloud Development Kit – som gör utvecklares liv avsevärt lättare.
GraalVM utlovar snabb uppstart, bättre prestanda, kortare svarstider (latens) och kompakt paketering i form av en fristående binär. Med senaste versionen – 20.3 – ger den intryck av att vara en väl etablerad teknik.
Införandet av generics i Go har diskuterats sedan språket såg dagens ljus och nu ser det ut att kunna förverkligas. En implementation kommer troligtvis att ske redan i Go 1.18 och därmed kan denna ofta påtalade brist snart vara ett minne blott.
Software-as-a-Service (SaaS) håller snabbt på att bli den dominerande modellen för affärstillämpningar. Fördelarna för kunden ligger i en lägre tröskel och kostnad för att komma igång och att man slipper bekymra sig för IT-infrastruktur, installation och mjukvaruuppdateringar. Tjänsteleverantören kan å sin sida dra nytta av enklare livscykelhantering samt att prenumerationsmodellen ger ett stabilt intäktsflöde.
Stephen White pratade på React-meetup förra veckan kring “React Native with a twist of AWS”.