Blog posts

DevOps
Docker
Stefan Lieser

DevOps CI/CD with Docker

Update 18.11.2024: I have added dependencies between the containers to the diagram for the third model "Multiple containers with external dependencies". Thanks to Ralf Westphal for the hint. As a developer, I can hand over the result of my work to the company, which then takes care of everything else. This is a pleasure, because

Read more "
Software universe
Methodology
Stefan Lieser

The software universe

In the field of software development, there are many terms that need to be defined and categorized. We also need a defined process to get from the requirements to the code. The software universe is intended to help define terms and clarify a process. Content overview Clean Code Developer values As part of the Clean

Read more "
Module hierarchy
Methodology
Stefan Lieser

The module hierarchy

Software developers sometimes use words without realizing what they mean. Want some examples? What is a module? Or a component? We're sure to quickly agree on method and class. But some terms require a definition. We have therefore defined a module hierarchy in which the "containers for logic" are housed.

Read more "
Methodology
Stefan Lieser

Software architecture: responsibilities and dependencies

The topic of software architecture is discussed by teams time and again. Which architecture should we use? Clean architecture or hexagonal architecture? What are the differences again? And then there's this new IODA thing. Is it any good? In this article, I would like to look at the structure of software

Read more "
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 "
Complex refactorings - Mikado method - Clean Code Developer Academy - Seminars, courses and 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 cutting
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 "
Agile development
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 and 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 "
That's all there is to it.
en_USEnglish