Blog posts

Automated testing
Stefan Lieser

CrowdStrike - What can we learn from it?

What happened? On Friday, 19.07.2024, there were numerous failures of Windows systems worldwide. The reason for this was an update from the company CrowdStrike. This update installed a file on the Windows computers involved that caused a CrowdStrike device driver to crash. As a result, the affected

Read more "
komplexe Refactorings - Mikado Methode - Clean Code Developer Akademie - Seminare, Schulungen und Trainings 26
Complex refactorings
Björn Geisemeyer

Refactoring in phases

Refactorings are an integral part of our developer life. It would be nice to always be able to start from scratch, implement new features and realize new ideas. However, we are much more frequently confronted with having to readjust existing source code. In this context, refactorings play a crucial role, especially when we are working on legacy code.

Read more "
Horizontal Schneiden
Methodology
Björn Geisemeyer

Agile development part 2: Breaking down requirements vertically

The starting point for the "Agile development" contributions is a project called SVG Editor. A new interaction for exporting a graphic as a PDF with a watermark is to be added to this. Figure 1 Figure 2 In the first article, I showed how user stories are broken down vertically into technical requirements, resulting in an interaction with the three

Read more "
IOSP Analyzer Example 1
Clean Code
Stefan Lieser

IOSP Analyzer 0.2.0

Update 0.2.0 - 05.04.2024 The IOSP Analyzer now accepts calls to ConfigureAwait within an integration. If an asynchronous operation is called, this is of course not a violation of the IOSP. However, if you want to configure this call with ConfigureAwait, this was previously considered a framework/runtime call and thus a violation of the IOSP.

Read more "
Agil entwickeln
Methodology
Björn Geisemeyer

Agile development part 1: Looking at user stories vertically

It has been over 20 years since the Agile Manifesto was published. A lot has changed in software development since then. The previously common waterfall models have been replaced by development strategies that are far more suitable for software. Management tools such as Kanban or Scrum are now used in many companies. They provide the framework for agile

Read more "
Dependency Injection und Lifecycle
Methodology
Stefan Lieser

Dependency injection and lifecycle

The planning and implementation of dependencies is the subject of various principles. If you don't pay attention to the structure of dependencies during software development, you will quickly end up in chaos. For many developers, however, this means that they are "all over the place" with interfaces. As the CCD Academy, we take a more differentiated view of the topic and recommend the use of the

Read more "
Methodology
Stefan Lieser

Configuration of a .NET Core App without appsettings.json in Docker

Since Microsoft decided with .NET Core that .NET should also support Linux, .NET Core has been an excellent basis for applications that run in Docker. This drastically simplifies the deployment of .NET Core applications. In combination with docker-compose, deployment consists of executing the following command:

Read more "
Methodology
Stefan Lieser

Clean Architecture vs. Onion Architecture vs. Hexagonal Architecture

There are three architecture models that are repeatedly mentioned and used: Hexagonal architecture (Ports and Adapters) Onion architecture Clean architecture In our training courses, we often discuss the differences between clean architecture and onion architecture - which is better? The following section highlights the differences between the three approaches

Read more "
Methodology
Björn Geisemeyer

Exceptions: strategies and best practices

As the title suggests, in this article I will look at different strategies for dealing with exceptions. Catching or throwing an exception is easy. But how do I proceed sensibly? It is important to consider the error categories. Each exception can be assigned to an error category and handled accordingly.

Read more "
That's all there is to it.
en_USEnglish