Fehlermanagement ist eines der Themen, die am Anfang gerne unterschätzt werden. Der Code funktioniert, die Tests laufen, also weiter zum nächsten Feature. Spätestens wenn etwas schiefgeht, merkst du jedoch, wie wichtig ein sauberer Umgang mit Fehlern ist. Gute Fehlerbehandlung sorgt nicht nur dafür, dass dein Programm nicht abstürzt, sondern auch dafür, dass Probleme nachvollziehbar und lösbar bleiben. Weiterlesen
Rekursion gehört zu den Themen, die am Anfang oft für Verwirrung sorgen. Nicht, weil sie besonders kompliziert ist, sondern weil sie anders denkt als der klassische Schleifen-Code. Wichtig ist, dass du Rekursion nicht als Magie betrachtest, sondern als ein ganz normales Werkzeug, das man gezielt einsetzen kann. Denn im Kern bedeutet Rekursion lediglich: Eine Methode ruft sich selbst auf. Mehr ist es nicht. Der entscheidende Punkt ist, dass dieser Selbstaufruf kontrolliert passiert und irgendwann endet. Ohne ein klares Ende läuft dein Code unweigerlich in einen StackOverflowError. Genau deshalb besteht jede sinnvolle rekursive Methode immer aus zwei Teilen: einem Abbruchfall und einem rekursiven Schritt.
Weiterlesen
Maven ist eines der zentralen Werkzeuge im Java-Ökosystem. Wenn du damit wenig Erfahrung hast, wirkt es am Anfang oft sperrig und unnötig komplex. In der Praxis löst Maven jedoch sehr konkrete Probleme: wiederholbare Builds, saubere Abhängigkeiten und eine klare Projektstruktur. Sobald du das Grundprinzip verstanden hast, wird Maven eher Werkzeug als Hürde. Weiterlesen
Wenn du gerade erst in die Softwareentwicklung startest, fühlt sich vieles wahrscheinlich an wie der Versuch, aus einem Feuerwehrschlauch zu trinken. Da ist diese riesige Menge an Technologien, Tools und Konzepten, die alle gleichzeitig auf dich einprasseln. Gestern hast du noch versucht, die Syntax einer For-Schleife unfallfrei hinzubekommen, und heute sollst du plötzlich verstehen, warum der Wildfly-Server dein Deployment ablehnt oder warum Maven den Build mit einer kryptischen Fehlermeldung abbricht. Weiterlesen
Wenn du mit JavaScript anfängst, stolperst du relativ schnell über sogenannte Events. Damit reagiert dein Code auf Aktionen des Benutzers. Genau hier kommen Attribute wie onclick, onblur, onkeydown und onkeyup ins Spiel. Sie gehören zu den grundlegendsten Werkzeugen, um Webseiten interaktiv zu machen. In diesem Artikel schauen wir uns diese vier Events ruhig und praxisnah an, ohne Magie und ohne Abkürzungen.
Weiterlesen
In der Softwareentwicklung begegnet dir irgendwann die Idee der Trennung von Verantwortlichkeiten - Separation of Concerns (SoC). Dieser Grundsatz stammt aus der Softwaretechnik und beschreibt das Aufteilen komplexer Systeme in kleinere Abschnitte, die jeweils nur einen bestimmten Aspekt behandeln. Der niederländische Informatiker Edsger W. Dijkstra prägte den Begriff 1974 und erklärte, dass wir Aspekte getrennt untersuchen sollten, damit wir uns jeweils auf eine Sache konzentrieren können. SoC bedeutet also nicht, alles zu isolieren, sondern klare Grenzen zu ziehen, damit du Effizienz, Korrektheit und Verständlichkeit separat betrachten kannst. Weiterlesen
Wenn du in Java schon ein paar Klassen geschrieben hast, bist du Annotationen ziemlich sicher begegnet: @Override, @SuppressWarnings, vielleicht auch @Deprecated. Am Anfang wirken die Dinger wie „Meta-Kram“, den man halt drüber schreibt. In Wahrheit sind Annotationen ein sehr pragmatisches Werkzeug: du hängst einer Klasse, Methode oder einem Feld zusätzliche Informationen an, ohne deine eigentliche Logik damit zu vermischen.
Weiterlesen
Wenn du anfängst, dich intensiver mit Softwaredesign zu beschäftigen, stolperst du relativ früh über Prinzipien mit großen Namen. Eins davon ist Command–Query Separation, kurz CQS. Klingt erstmal theoretisch, ist aber im Alltag extrem praktisch - gerade dann, wenn dein Code langsam größer wird und du nicht mehr jede Methode im Kopf behalten kannst. Weiterlesen

Hi, ich bin Marcel!
Als Fachinformatiker für Anwendungsentwicklung und IHK-geprüfter Ausbilder teile ich auf meinem Blog Grundlagen- und Fortgeschrittenen-Wissen für angehende Entwickler*innen und Interessierte, sowie weitere spannende Themen aus der IT.