Upcoming Talks
No plans at the moment :)Current Courses
Introduction to Strategic Domain Driven Design
Domain Driven Design (DDD) is an approach to software development that aims at building long lived, robust, and maintainable software systems based on a thorough understanding of the domain the system is part of. This course is an introduction to the strategic part of DDD which teaches how to discover the domain, build a shared understanding between all stakeholders, split a complex domain into manageable chunks – called bounded contexts, design the interactions between bounded context and how to use all of this to create robust architectures.
This course includes:
- Introduction to DDD and the principles behind
- Domain Discovery
- Intro to Event Storming
- Splitting a domain into bounded context - technics and heuristics
- Bonded context canvas
- Context mapping and integration between bounded contexts
- Prioritization and build/buy using Core Domain Charts
Duration: 2 days
Microservices in .NET: Introduction
Over the past few years microservices have proven to be a very useful architectural approach for a great many systems. Microservice systems can enable continuous delivery and great business agility, be highly robust, scalable and maintainable. On the other hand microservices come with their own complexities and also requires a certain level of maturity technically and organizationally. In this workshop you will get an introduction to microservices, you will learn how to succeed with them and what the pre-requisites to working with microservices are. On top of that, you will get an introduction to a lightweight .NET based tech stack well suited for building microservices - consisting of .NET, Minimal API and few other things.
This course is built in part on my Microservices in .NET book and of course on real world experience building microservices.
This course is built in part on my Microservices in .NET book and of course on real world experience building microservices.
Duration: 3 days
Event Sourcing and CQRS with .NET Core
Event sourcing is an approach to data persistence that is safe and flexible at the same time. It safely stores data in log over all changes ever made. Nothing is lost. At the same time, event sourcing give us tremendous flexibilty to changes the business rules that govern how the data is used. These are some of the reasons that event sourcing has become increasingly popular over the past years.
Command-query responsibility segregation or CQRS for short is an architectural style that allows for a high degree of separation of concerns that makes a good fit for complex collaborative domains. Furhtermore CQRS fits well with event sourcing, which I will show in the course where we start from event sourcing and evolve the software to a CQRS design.
In this workshop participants will get a hands-on introduction to event sourcing and CQRS. We will expand on that introduction to show how event sourcing tends to introduce a need for "readmodels". Along the way there might be an anecdote or two from using event sourcing and CQRS in the real world and under heavy load.
Command-query responsibility segregation or CQRS for short is an architectural style that allows for a high degree of separation of concerns that makes a good fit for complex collaborative domains. Furhtermore CQRS fits well with event sourcing, which I will show in the course where we start from event sourcing and evolve the software to a CQRS design.
In this workshop participants will get a hands-on introduction to event sourcing and CQRS. We will expand on that introduction to show how event sourcing tends to introduce a need for "readmodels". Along the way there might be an anecdote or two from using event sourcing and CQRS in the real world and under heavy load.
Duration: 2 days
Past Talks
2023 | Update Conference Prague Effective testing in Microservice systems |
2023 | Techorama Netherlands Effective testing in microservice systems Practical event sourcing with Marten and PostgreSql |
2023 | Tech Passion Day Cph Strategies for introducing DDD: Leading upwards and sideways |
2023 | ANUG Effective testing in Microservice systems |
2022 | NDC Oslo Effective testing in Microservice systems |
2022 | DDD EU Strategies for introducing DDD: Leading upwards and sideways |
2021 | Manning Publications Twitch Channel |
2021 | Update Conf Prague |
2020 | BuildStuff Online Collaboration in socio-technical systems |
2019 | BuildStuff Lessons learned working remotely across timezones |
2019 | DevConf Krakow Scoping and Identifying Microservices |
2019 | Barcelona .NET Core Marten: Turning Postgres into an event and document store |
2019 | ANUG |
2018 | NDC Oslo |
2018 | DOTNEXT Skt. Petersburg Lightweight microservice collaboration using HTTP |
2017 | GET.NET Microservices! Lots of microservices! But how do they collaborate? |
2017 | ANUG Book release party and presentation about microservice collaboration |
2017 | CNUG Book release party and presentation about microservice collaboration |
2017 | L&B Faglig Fredag Consolidating Services using Middleware |
2017 | NDC London Consolidating Services using Middleware (video: http://www.horsdal-consult.dk/2017/03/talk-video-consolidating-services-with.html) |
2016 | ANUG Title: .NETCore |
2015 | GOTO Cph Title: NET Core and DNX - .NET is Going X-platform |
2015 | Web European Conference Title: Why Middleware? |
2015 | CNUG Title: ASP.NET 5 – Intro and Hands-On |
2015 | NCrafts Conference Title: Layers Considered Harmful (video available at: http://www.horsdal-consult.dk/2015/09/ncraftsconf-talk-video.html) |
2015 | AANUG Title: ASP.NET 5 – Intro and Hands-On |
2014 | Campus Days Copenhagen Title: Modular Web Applications with OWIN |
2014 | Software Architecture Open Space 2014 (organizer) |
2014 | ANUG Title: ASP.NET vNext – Intro and Hands-On |
2014 | AANUG Title: Nancy Deep Dive |
2014 | Warm Crocodile Developers Conference 2014 Title of my talk: Does Your Architecture Enable Flow |
2013 | ØreDev Title of my talk: Layers Considered Harmful Video available at: http://www.horsdal-consult.dk/2013/11/video-of-my-redev-talk-is-up.html |
2013 | Software Architecture Open Space 2013 (organizer) |
2013 | Norwegian Developers Conference Title of my talk: Test-driving Nancy Video available at: http://www.horsdal-consult.dk/2013/06/my-nancy-talk-from-ndc.html |
2013 | Dynamicweb Tech Conference 2013 Title of my talk: The Lightweight Approach to Building Web Based APIs with .NET and Nancy |
2013 | Warm Crocodile Conference Title of my first talk: Introduction to Nancy Title of my second talk: Layers Considered Harmful |
2012 | aspConf 2012 Title of first talk: Three web frameworks. All .NET. All Community Driven. One hour. Go. Title of second talk: The Lightweight Approach to Building Web Based APIs with .Net Videos of my talks are available on Channel9 at http://channel9.msdn.com/Events/Speakers/christian-horsdal |
2012 | Agile Architecture Open Space Conference (Organizer) |
2012 | Web.NET Conference Milan Title of my talk: Three web frameworks. All .NET. One hour. Go. Video of my talk is available on Vimeo at http://vimeo.com/53252020 |
2012 | Community Day Cph Title of my talk: Four web frameworks. All .NET. All Community Driven. One hour. Go. |
2012 | Miracle Open World 2012 Title of my talk: The Lightweight Approach to Building Web Based APIs with .Net |
2012 | ANUG Title: Battle of Web Framework: Nancy, ServiceStack and WebAPI |
2011 | Agile Architecture Open Space Conference (Organizer) |
2011 | ANUG Title: Nancy: Letvægts web framework |
2011 | ANUG Codecamp Title: Forbedring af test suiter |
2011 | Software Craftsmanship Conference 2011 (Speaker) Title of my talk: Enhancing Legacy Test Suites |
2010 | ANUG Title: Data, Context and Interaction |