A demonstration of integrating with ChatGPT/OpenAI using React, TypeScript, Spring Boot, and Java. - jamesshore/ai_chronicles
A demonstration of integrating with ChatGPT/OpenAI using React, TypeScript, Spring Boot, and Java. - jamesshore/ai_chronicles
A demonstration of integrating with ChatGPT/OpenAI using React, TypeScript, Spring Boot, and Java. - jamesshore/ai_chronicles
The other day I read 'Testing Without Mocks: A Pattern Language' by Jame Shore. The post is positively provocative, and it really made me think. The underlying idea is that we add code to production to simply 'turn off' infrastructure requirements for the application. The notion of simply switching off infrastructure got me thinking: Why don't we do that today?
Next Generation Command and Message Bus for .NET
Reflections, Learnings, and Mistakes from live coding my JitterTicket Event Sourcing application
Reflections, Learnings, and Mistakes from live coding my JitterTicket Event Sourcing application
This post is all about how I’ve been building APIs and microservices lately (using .NET and C#), what’s been making me productive, and how my approach has evolved over time.
Paul Bauer, computer programmer working at Datadog, has professional interest in: resilient software engineering, functional programming, databases, profiling, remote work, personal knowledge management.
Kevin Berridge's blog
Have you ever doubted that Unit Tests are worth the effort? Or have you had a feeling that you can’t rely on them in terms of quality? It might be because you’ve been exposed to so-called “London School” of writing tests. This text is my attempt to summarize and draw conclusions from the pragmatic approach to Unit Tests and TDD presented in the best resources I could have found. Goals vs reality Let’s start with some promises Unit Tests and TDD made:
1. Intro tl;dr Instead of forcing your application into a prescriptive template like Clean or Hexagonal Architectures, get back to basics and use patterns from Modular Software Design. Divide the application into independent modules, each containing business logic representing a specific process. For modules with complex business logic, extract the infrastructure-related code into separate Infrastructure-Modules. This will enable you to build an application characterized by low cognitive load, high maintainability, and high extensibility.