Blog posts

macOS App Bundle does not start
Development
Stefan Lieser

macOS App Bundle does not start

I am currently working on a desktop application that automatically generates accounting records from invoices (if you are interested, see https://mrcarson.de). As the bookings are imported into the accounting software Monkey Office via an API, which is only available as a desktop application, my application must also be partially available as a desktop app.

Read more "
Vibe Coding
Clean Code
Stefan Lieser

Vibe Coding: The future of software development?

The world of software development has changed drastically in recent years. One key concept that is becoming increasingly important is vibe coding. But what exactly is behind this term? How does it influence programming and what role does AI-supported software development play? Vibe coding: what's behind it? With Vibe

Read more "
SOLID principles
Clean Code
Stefan Lieser

SOLID - 5 principles of object-oriented design

Table of contents SOLID principles - Everything solid? The acronym SOLID is made up of the first letters of five principles of object-oriented programming: SRP - Single Responsibility Principle OCP - Open Closed Principle LSP - Liskov Substitution Principle ISP - Interface Segregation Principle DIP - Dependency Inversion Principle Originally described in this constellation

Read more "
Clean Code Book by Bob C. Martin
Clean code training
Stefan Lieser

Clean Code

Clean code - clean code is essential Sometimes developers claim that clean code development takes too long. It is much more efficient to do without too much code quality. "Keep it simple" they say. Clean code is too often seen as a kind of religion. Agile would be ok, but

Read more "
Complex refactorings
Complex refactorings
Stefan Lieser

Refactorings - An overview

Why is refactoring important? Do you know this? Your code works, but after a few months nobody understands it anymore - not even you. This is where refactoring comes into play: it improves readability and maintainability without changing the functionality. What is refactoring? Refactoring refers to changes to the code that

Read more "
Complex refactorings
Complex refactorings
Stefan Lieser

Clean code in legacy projects

Clean code on a greenfield site is easy. Or not. But clean code in legacy code is definitely not easy. If the code has grown over years or decades, the many violations of the clean code principles cannot simply be eliminated by various refactorings. The one reason is

Read more "
Docker CI CD
Docker
Stefan Lieser

Docker CI/CD

Docker containers are now an established tool for deploying applications. In this article, we highlight the advantages of a continuous integration and continuous deployment process with Docker. Docker CI/CD is the way to go in your projects! Continuous Integration As soon as more than one developer works on an application

Read more "
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 "
That's all there is to it.
en_USEnglish