<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <atom:link href="https://magicmarcy.de/rss.xml" rel="self" type="application/rss+xml"/>
    <title>magicmarcy.de</title>
    <link>https://magicmarcy.de</link>
    <description>magicmarcy.de | Programmieren für Einsteiger</description>
    <lastBuildDate>Fri, 10 Jul 2026 18:44:42 +0200</lastBuildDate>
    <item>
      <title>NPS1E6: Look-and-Say Sequence - Zahlenfolgen mit String-Logik erzeugen</title>
      <link>https://magicmarcy.de/look-and-say-sequence-zahlenfolgen-mit-string-logik-erzeugen</link>
      <image/>
      <description>&lt;p&gt;In der Serie &amp;quot;Named Problems&amp;quot; stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen.&lt;/p&gt;
</description>
      <pubDate>Fri, 10 Jul 2026 17:30:00 +0200</pubDate>
      <guid isPermaLink="false">e68e22bc249108f8623e6f29a21189b9</guid>
    </item>
    <item>
      <title>Von while bis for-each: Schleifen in Java praxisnah erklärt</title>
      <link>https://magicmarcy.de/von-while-bis-for-each-schleifen-in-java-praxisnah-erklaert</link>
      <image/>
      <description>&lt;p&gt;In Java brauchst du Schleifen immer dann, wenn eine Aufgabe nicht nur einmal, sondern mehrfach ausgeführt werden soll. Technisch lösen Schleifen das Problem, dass du denselben Code nicht kopieren und wiederholen musst. Fachlich bedeuten sie meistens: Gehe eine Menge von Dingen durch, warte auf einen Zustand, wiederhole eine Prüfung oder führe eine Aktion so lange aus, bis ein Ziel erreicht ist.</description>
      <pubDate>Tue, 07 Jul 2026 17:40:41 +0200</pubDate>
      <guid isPermaLink="false">560961ae506ff35a8d01a7ec3ae342f8</guid>
    </item>
    <item>
      <title>Comparator - die Schlüsselwaffe für Sortierungen</title>
      <link>https://magicmarcy.de/comparator-die-schluesselwaffe-fuer-sortierungen</link>
      <image/>
      <description>&lt;p&gt;Du hast sicherlich schonmal in Java eine Liste sortiert - vielleicht mit &lt;code&gt;Arrays.sort()&lt;/code&gt; oder &lt;code&gt;Collections.sort()&lt;/code&gt;. Doch was passiert hinter der Szene, wenn du mehrere Sortierkriterien hast oder die Standardsortierung nicht ausreicht? Das ist genau das, was ein &lt;strong&gt;Comparator&lt;/strong&gt; löst. Ein Comparator ist eine Hilfsklasse in Java, die es dir erlaubt, eine eigene Sortierlogik zu definieren. Ohne ihn wäre es schwierig, komplexe Sortierungen durchzuführen oder mehrere Kriterien gleichzeitig zu berücksichtigen.</description>
      <pubDate>Sun, 05 Jul 2026 17:43:26 +0200</pubDate>
      <guid isPermaLink="false">f08893b88caf6b0c4cb3c3efe3047c83</guid>
    </item>
    <item>
      <title>NPS1E5: Happy Numbers - Iterationen, Zustände und Abbruchbedingungen</title>
      <link>https://magicmarcy.de/happy-numbers-iterationen-zustaende-und-abbruchbedingungen</link>
      <image/>
      <description>&lt;p&gt;In der Serie &amp;quot;Named Problems&amp;quot; stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen.&lt;/p&gt;
</description>
      <pubDate>Fri, 03 Jul 2026 17:30:00 +0200</pubDate>
      <guid isPermaLink="false">804d23148e2bc909433ec4f923b396c4</guid>
    </item>
    <item>
      <title>Dein Code ist nicht gut, nur weil er läuft</title>
      <link>https://magicmarcy.de/dein-code-ist-nicht-gut-nur-weil-er-laeuft</link>
      <image/>
      <description>&lt;p&gt;Es gibt einen Satz, den man am Anfang ständig still mit sich herumträgt: Hauptsache, es funktioniert. Das ist nachvollziehbar. Du willst ein Ergebnis sehen, Fehler wegklicken, eine Ausgabe bekommen und endlich das Gefühl haben, dass du es verstanden hast. Genau an diesem Punkt fangen aber viele schlechte Gewohnheiten an. Denn Code, der gerade so läuft, ist nicht automatisch guter Code. Er kann unklar sein, unnötig kompliziert, schwer testbar oder so fragil, dass schon die nächste kleine Änderung neue Fehler produziert.</description>
      <pubDate>Wed, 01 Jul 2026 17:51:43 +0200</pubDate>
      <guid isPermaLink="false">0ed301af4f8feac48bfa0aa5105905ca</guid>
    </item>
    <item>
      <title>Grundlagen und praktische Anwendung von Strings</title>
      <link>https://magicmarcy.de/grundlagen-und-praktische-anwendung-von-strings</link>
      <image/>
      <description>&lt;p&gt;Strings sind ein grundlegendes Konzept in Java, das du als Anfänger unbedingt verstehen solltest. Sie sind so verbreitet, dass du sie tagtäglich im Code verwendest, oft ohne groß darüber nachzudenken. Doch selbst bei solchen Grundlagen gibt es viele Nuancen und Fallen, auf die du achten musst. In diesem Artikel erkläre ich dir, warum Strings in Java unveränderlich (immutable) sind, was das bedeutet und wie du sie richtig nutzen kannst.</description>
      <pubDate>Mon, 29 Jun 2026 17:40:22 +0200</pubDate>
      <guid isPermaLink="false">7b3dbbd0e071bbd5025074a46d7f2032</guid>
    </item>
    <item>
      <title>Spring Boot ohne Buzzwords - die Grundlagen einfach erklärt</title>
      <link>https://magicmarcy.de/spring-boot-ohne-buzzwords-die-grundlagen-einfach-erklaert</link>
      <image/>
      <description>&lt;p&gt;Spring Boot ist für viele der erste Kontakt mit moderner Java-Backend-Entwicklung. Der Name taucht schnell auf, wenn es um REST-APIs, Webanwendungen oder kleine Services geht. Gleichzeitig wirkt das Thema am Anfang oft größer, als es eigentlich ist. Überall liest du etwas von Starter, Auto Configuration, eingebettetem Server oder Dependency Injection. Wenn du das zum ersten Mal siehst, kann das schnell unnötig kompliziert wirken. </description>
      <pubDate>Sun, 28 Jun 2026 17:46:00 +0200</pubDate>
      <guid isPermaLink="false">81cab652a061860ad1dc8b00403a3cac</guid>
    </item>
    <item>
      <title>NPS1E4: ROT13 - Eine einfache Verschlüsselung ohne Geheimnisse</title>
      <link>https://magicmarcy.de/rot13-eine-einfache-verschluesselung-ohne-geheimnisse</link>
      <image/>
      <description>&lt;p&gt;&lt;em&gt;In der Serie &amp;quot;Named Problems&amp;quot; stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen.&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 26 Jun 2026 17:30:00 +0200</pubDate>
      <guid isPermaLink="false">9e85e2ce653a66e4274794ddd831837a</guid>
    </item>
    <item>
      <title>Warum Softwarehygiene deinen Java-Alltag leichter macht</title>
      <link>https://magicmarcy.de/warum-softwarehygiene-deinen-java-alltag-leichter-macht</link>
      <image/>
      <description>&lt;p&gt;Softwarehygiene klingt im ersten Moment etwas sperrig. Gemeint ist damit aber nichts Abgehobenes, sondern ein sehr praktischer Teil deines Entwickleralltags. Es geht darum, deinen Code, dein Projekt und deine Arbeitsweise so sauber zu halten, dass du dich auch morgen noch darin zurechtfindest. Gute Softwarehygiene sorgt dafür, dass ein Projekt lesbar bleibt, Fehler schneller auffallen und kleine Änderungen nicht jedes Mal unnötig anstrengend werden.</description>
      <pubDate>Thu, 25 Jun 2026 17:48:00 +0200</pubDate>
      <guid isPermaLink="false">20301245fd79ba42d2b948918b957372</guid>
    </item>
    <item>
      <title>Threads, Timing, Chaos: Nebenläufigkeit in Java einfach erklärt</title>
      <link>https://magicmarcy.de/threads-timing-chaos-nebenlaeufigkeit-in-java-einfach-erklaert</link>
      <image/>
      <description>&lt;p&gt;Nebenläufigkeit bedeutet, dass ein Programm mehrere Aufgaben überlappend bearbeiten kann. Das heißt nicht automatisch, dass wirklich alles exakt gleichzeitig passiert. Es bedeutet zuerst einmal nur: Dein Programm wartet nicht stur darauf, dass eine Aufgabe vollständig fertig ist, bevor es mit der nächsten weitermacht.</description>
      <pubDate>Tue, 23 Jun 2026 17:41:30 +0200</pubDate>
      <guid isPermaLink="false">83be232af50021bd9d98a4a921e52910</guid>
    </item>
    <item>
      <title>Java Einstieg: Was am Anfang wirklich zählt</title>
      <link>https://magicmarcy.de/java-einstieg-was-am-anfang-wirklich-zaehlt</link>
      <image/>
      <description>&lt;p&gt;Java wirkt am Anfang oft schwerer, als es eigentlich ist. Nicht, weil die Sprache absichtlich kompliziert wäre, sondern weil sie dich sehr früh mit Dingen konfrontiert, die bei HTML, CSS und auch JavaScript oft später oder weniger sichtbar auftauchen. Du schreibst nicht einfach ein paar Zeilen in eine Datei, öffnest sie im Browser und siehst sofort etwas auf dem Bildschirm. Du arbeitest mit Klassen, Methoden, Typen, einem Compiler, einer Laufzeitumgebung und meistens direkt mit einer IDE wie IntelliJ.</description>
      <pubDate>Mon, 22 Jun 2026 17:27:36 +0200</pubDate>
      <guid isPermaLink="false">d5363eb5515c09f74429067ee143d45d</guid>
    </item>
    <item>
      <title>PrimeFaces in Java: Praktischer Baukasten oder versteckte Magie?</title>
      <link>https://magicmarcy.de/primefaces-in-java-praktischer-baukasten-oder-versteckte-magie</link>
      <image/>
      <description>&lt;p&gt;PrimeFaces ist eine Komponentenbibliothek für Jakarta Faces, früher meistens unter dem Namen JavaServer Faces oder kurz JSF bekannt. Die ganz kurze Antwort wäre also: PrimeFaces ist ein Framework beziehungsweise eine UI-Bibliothek für Java-Webanwendungen. Diese Antwort ist nicht falsch, aber sie ist zu grob. Sie erklärt nicht, warum PrimeFaces anders funktioniert als viele moderne Frontend-Frameworks und warum man damit in Java-Projekten recht schnell brauchbare Weboberflächen bauen kann.</description>
      <pubDate>Sat, 20 Jun 2026 17:52:54 +0200</pubDate>
      <guid isPermaLink="false">20c793fd9974d7643b46083735fcb008</guid>
    </item>
    <item>
      <title>NPS1E3: Caesar Cipher - Zeichen verschieben und Texte transformieren</title>
      <link>https://magicmarcy.de/caesar-cipher-zeichen-verschieben-und-texte-transformieren</link>
      <image/>
      <description>&lt;p&gt;In der Serie &amp;quot;Named Problems&amp;quot; stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen. </description>
      <pubDate>Fri, 19 Jun 2026 17:30:00 +0200</pubDate>
      <guid isPermaLink="false">847043473d3865fd22d8d03b3365975c</guid>
    </item>
    <item>
      <title>Legacy-Code lesen: So findest du den Einstieg</title>
      <link>https://magicmarcy.de/legacy-code-lesen-so-findest-du-den-einstieg</link>
      <image/>
      <description>&lt;p&gt;Komplexer Code fühlt sich am Anfang oft an wie eine Wand. Du öffnest eine Klasse, springst in eine Methode und siehst erst einmal sehr viel auf einmal. Viele Bedingungen, verschachtelte Blöcke, alte Namen, Sonderfälle, technische Details und vielleicht noch Kommentare, die entweder fehlen oder seit Jahren nicht mehr stimmen. Gerade bei der Fehleranalyse landet man schnell genau in solchen Methoden. Der Bug sitzt selten in der kleinen, sauberen Beispielklasse. Er sitzt eher in einem Bereich, der schon lange existiert und durch viele Anforderungen gewachsen ist.</description>
      <pubDate>Wed, 17 Jun 2026 17:23:25 +0200</pubDate>
      <guid isPermaLink="false">dbd553f3af5edcc72be690f90d7f86fc</guid>
    </item>
    <item>
      <title>Normale Bean oder Session Bean? Der Unterschied verständlich erklärt</title>
      <link>https://magicmarcy.de/sessionbean-oder-normale-bean-wo-der-unterschied-wirklich-liegt</link>
      <image/>
      <description>&lt;p&gt;Im Java-EE-/Jakarta-EE-Umfeld bezeichnet „Session Bean“ eine serverseitige Komponente, die vom Application Server verwaltet wird. In WildFly bedeutet das ganz konkret: Der Container erstellt Instanzen, steuert deren Lebenszyklus und führt Methodenaufrufe in einem Rahmen aus, der dir Infrastruktur abnimmt. Du schreibst fachliche Logik, der Server liefert dir Dinge wie Transaktionen, Security, kontrollierte Nebenläufigkeit und Dependency Injection.</description>
      <pubDate>Mon, 15 Jun 2026 17:48:45 +0200</pubDate>
      <guid isPermaLink="false">1741a19a86e362e26c77f412977db835</guid>
    </item>
    <item>
      <title>Java testen mit Mockito: Die Grundlagen ohne unnötigen Ballast</title>
      <link>https://magicmarcy.de/java-testen-mit-mockito-die-grundlagen-ohne-unnoetigen-ballast</link>
      <image/>
      <description>&lt;p&gt;Wenn du mit Java Tests schreibst, stößt du ziemlich schnell auf ein Problem: Deine Klasse arbeitet oft nicht allein. Sie ruft andere Klassen auf, spricht vielleicht mit einer Datenbank, nutzt eine externe API oder verschickt Nachrichten. Genau an der Stelle kommt Mockito ins Spiel.</description>
      <pubDate>Sun, 14 Jun 2026 17:32:00 +0200</pubDate>
      <guid isPermaLink="false">25a237b58e4de94e9dcb85f6b68ca67c</guid>
    </item>
    <item>
      <title>NPS1E2: Palindrom - Strings vergleichen und Schleifen verstehen</title>
      <link>https://magicmarcy.de/palindrom-strings-vergleichen-und-schleifen-verstehen</link>
      <image/>
      <description>&lt;p&gt;In der Serie &amp;quot;Named Problems&amp;quot; stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen. </description>
      <pubDate>Fri, 12 Jun 2026 17:30:00 +0200</pubDate>
      <guid isPermaLink="false">d297d4957041f175605f6b9ffaeaa93f</guid>
    </item>
    <item>
      <title>So löst du Bugs mit dem RubberDuck Prinzip</title>
      <link>https://magicmarcy.de/so-loest-du-bugs-mit-dem-rubberduck-prinzip</link>
      <image/>
      <description>&lt;p&gt;Solche Momente gehören in der Softwareentwicklung ganz automatisch dazu: Du sitzt vor deinem Code, alles sieht auf den ersten Blick okay aus und trotzdem passt das Ergebnis nicht. Das kann frustrierend sein, ist aber völlig normal. Genau für solche Situationen gibt es das RubberDuck Prinzip. Gerade am Anfang hilft es oft besonders spürbar, aber es ist längst keine Technik nur für Einsteiger. Auch erfahrene Entwickler nutzen sie, wenn sie ihre Gedanken sortieren und Fehler sauber eingrenzen wollen.</description>
      <pubDate>Thu, 11 Jun 2026 17:38:07 +0200</pubDate>
      <guid isPermaLink="false">86ca9d9cc4c5c08b6280ee99636a35f1</guid>
    </item>
    <item>
      <title>Dekomposition in Java: Wie du komplexe Aufgaben endlich greifbar machst</title>
      <link>https://magicmarcy.de/dekomposition-in-java-wie-du-komplexe-aufgaben-endlich-greifbar-machst</link>
      <image/>
      <description>&lt;p&gt;Viele Probleme wirken am Anfang größer, als sie eigentlich sind. Gerade in Java passiert das schnell. Du bekommst eine Aufgabe wie &amp;quot;Baue einen Import für CSV-Dateien&amp;quot;, &amp;quot;Erstelle einen Login&amp;quot; oder &amp;quot;Berechne den Gesamtpreis eines Warenkorbs mit Rabatten&amp;quot; und merkst sofort: Das ist keine einzelne Methode. Das ist auch keine Klasse, die du in zehn Minuten runterschreibst. Es ist ein Bündel aus mehreren Entscheidungen, mehreren Regeln und mehreren kleinen Baustellen. Genau an dieser Stelle hilft dir ein sauberer Gedankengang. Nicht, weil das Problem dadurch verschwindet, sondern weil es auf einmal greifbar wird.</description>
      <pubDate>Tue, 09 Jun 2026 17:50:27 +0200</pubDate>
      <guid isPermaLink="false">e832d44a7aed2ad2b716b72470758295</guid>
    </item>
    <item>
      <title>Nicht nur Code schreiben - so denkst du wie ein Entwickler</title>
      <link>https://magicmarcy.de/nicht-nur-code-schreiben-so-denkst-du-wie-ein-entwickler</link>
      <image/>
      <description>&lt;p&gt;Wie ein Entwickler zu denken bedeutet nicht, dass du besonders schlau sein musst oder dass du schon auf jede Frage eine Antwort hast. Es bedeutet vor allem, wie du an Probleme herangehst. Gerade in Java merkst du ziemlich schnell, dass sauberes Denken oft wichtiger ist als das Auswendiglernen von Syntax. Ob du mit einer kleinen Konsolenanwendung arbeitest, eine REST-Schnittstelle in JavaEE baust oder zum ersten Mal mit Maven, Git und IntelliJ klarkommen willst: Am Ende zählt nicht nur, dass etwas irgendwie läuft, sondern dass du verstehst, warum es läuft oder warum es gerade nicht läuft.</description>
      <pubDate>Sat, 06 Jun 2026 17:41:53 +0200</pubDate>
      <guid isPermaLink="false">e4641ed014429a8ffbf0c112fa5eb9b6</guid>
    </item>
    <item>
      <title>NPS1E1: FizzBuzz - Der Einstieg in Bedingungen und Kontrollfluss</title>
      <link>https://magicmarcy.de/fizzbuzz-der-einstieg-in-bedingungen-und-kontrollfluss</link>
      <image/>
      <description>&lt;p&gt;In der Serie &amp;quot;Named Problems&amp;quot; stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen. </description>
      <pubDate>Fri, 05 Jun 2026 17:30:00 +0200</pubDate>
      <guid isPermaLink="false">8a5963a14423f0bb1537cc8af271c98f</guid>
    </item>
    <item>
      <title>In-Memory, H2, SQLite: Was du wirklich wissen musst</title>
      <link>https://magicmarcy.de/in-memory-h2-sqlite-was-du-wirklich-wissen-musst</link>
      <image/>
      <description>&lt;p&gt;Wenn du mit Java anfängst, stolperst du früher oder später über Begriffe wie H2, In-Memory-Datenbank oder SQLite. Auf den ersten Blick klingt das alles ähnlich. Irgendwie geht es um Datenbanken, oft um kleine Projekte, lokale Tests oder einfache Anwendungen. In der Praxis steckt dahinter aber nicht immer dasselbe. Genau das sorgt am Anfang schnell für Verwirrung.</description>
      <pubDate>Wed, 03 Jun 2026 17:41:28 +0200</pubDate>
      <guid isPermaLink="false">e22b840644c386b3ea37069c88e9bb75</guid>
    </item>
    <item>
      <title>JPA für Einsteiger - endlich verständlich erklärt</title>
      <link>https://magicmarcy.de/jpa-fuer-einsteiger-endlich-verstaendlich-erklaert</link>
      <image/>
      <description>&lt;p&gt;JPA steht für Java Persistence API. Allein dieser Name wirkt am Anfang oft größer, als das Thema eigentlich ist. Wenn du ihn einmal sauber auseinanderziehst, wird es deutlich greifbarer. Java ist klar, damit arbeitest du im Code. API bedeutet hier nicht Web-API, sondern eine definierte Programmierschnittstelle, also ein Regelwerk dafür, wie etwas genutzt wird. Und Persistence meint in diesem Zusammenhang, dass Daten dauerhaft gespeichert werden, also nicht nur kurz im Arbeitsspeicher leben, sondern in einer Datenbank abgelegt werden.</description>
      <pubDate>Mon, 01 Jun 2026 17:42:38 +0200</pubDate>
      <guid isPermaLink="false">79470b53df79dbdfb5f27f6a44206382</guid>
    </item>
    <item>
      <title>Konkurrenz und Threads in Java einfach erklärt</title>
      <link>https://magicmarcy.de/konkurrenz-und-threads-in-java-einfach-erklaert</link>
      <image/>
      <description>&lt;p&gt;Wenn du in Java zum ersten Mal über Konkurrenz und Threads stolperst, wirkt das Thema schnell größer, als es eigentlich sein muss. Das liegt vor allem daran, dass mehrere Begriffe durcheinandergeworfen werden. Mal ist von Parallelität die Rede, mal von Nebenläufigkeit, mal einfach nur von Threads. Dazu kommen dann noch Begriffe wie Synchronisierung, Race Condition oder Deadlock. Für den Einstieg reicht es aber, wenn du die Grundlagen sauber auseinanderhalten kannst. Genau darum geht es hier.</description>
      <pubDate>Sat, 30 May 2026 17:45:09 +0200</pubDate>
      <guid isPermaLink="false">460d9de4eaba6d038ec8a076d60b51f0</guid>
    </item>
    <item>
      <title>Angular, React, Vue und mehr: So ordnest du die Frontend-Begriffe endlich richtig ein</title>
      <link>https://magicmarcy.de/angular-react-vue-und-mehr-so-ordnest-du-die-frontend-begriffe-endlich-richtig-ein</link>
      <image/>
      <description>&lt;p&gt;Wenn du aus der Java-Welt kommst, wirken Begriffe wie JavaScript, TypeScript, Angular, React, Vue, Node.js oder npm am Anfang schnell wie ein einziger großer Themenblock. Genau da entsteht oft die eigentliche Verwirrung. Alles klingt ähnlich, vieles taucht im gleichen Projekt auf, aber nicht alles ist dasselbe. Manche Begriffe beschreiben eine Sprache, andere ein Framework, wieder andere eine Laufzeit oder ein Werkzeug.</description>
      <pubDate>Thu, 28 May 2026 17:56:36 +0200</pubDate>
      <guid isPermaLink="false">1a2fbbc8f1036728059dbf359d14ef76</guid>
    </item>
    <item>
      <title>Fehlerbehandlung in Java - so unterscheiden sich Checked und Unchecked Exceptions</title>
      <link>https://magicmarcy.de/fehlerbehandlung-in-java-so-unterscheiden-sich-checked-und-unchecked-exceptions</link>
      <image/>
      <description>&lt;p&gt;Fehler gehören beim Programmieren dazu. Gerade in Java stolperst du ziemlich früh über sie, weil dir der Compiler an vielen Stellen sehr deutlich sagt, dass etwas schiefgehen kann. Dabei tauchen meistens zwei Begriffe auf, die erst einmal unnötig kompliziert wirken: checked exceptions und unchecked exceptions. Der Unterschied ist aber nicht nur Theorie. Er beeinflusst direkt, wie du Methoden schreibst, wie sauber dein Fehlerhandling ist und wie gut andere deinen Code benutzen können.</description>
      <pubDate>Tue, 26 May 2026 17:32:00 +0200</pubDate>
      <guid isPermaLink="false">a9f33cc1403e361745bc50e18b8b621e</guid>
    </item>
    <item>
      <title>Regex in Java: wann es hilft und wann du es lassen solltest</title>
      <link>https://magicmarcy.de/regex-in-java-wann-es-hilft-und-wann-du-es-lassen-solltest</link>
      <image/>
      <description>&lt;p&gt;Regex ist für mich so ein Thema, bei dem ich innerlich erstmal bremse. Nicht, weil es grundsätzlich schlecht wäre, sondern weil es sehr leicht ist, etwas hinzuschreiben, das irgendwie funktioniert, aber niemand im Team später noch sauber lesen oder sicher beurteilen kann. Genau das ist das Problem. Ein Regex kann auf den ersten Blick kompakt wirken und trotzdem fachlich danebenliegen oder mehr matchen als gedacht.</description>
      <pubDate>Sun, 24 May 2026 17:53:00 +0200</pubDate>
      <guid isPermaLink="false">c0ed462a7eca55aa8caee48f2c7f49c4</guid>
    </item>
    <item>
      <title>Der Moment, in dem du alles infrage stellst - und warum du trotzdem weitermachen solltest</title>
      <link>https://magicmarcy.de/der-moment-in-dem-du-alles-infrage-stellst</link>
      <image/>
      <description>&lt;p&gt;Es gibt in der Entwicklung einen Moment, der ziemlich weh tun kann. Du sitzt vor deinem Code, liest zum dritten Mal dieselbe Fehlermeldung, klickst dich durch Klassen, Methoden und Konfigurationen und plötzlich ist er da, dieser Gedanke: Ich kann nix. Vielleicht kommt direkt noch mehr dazu. Vielleicht fragst du dich, ob du den falschen Beruf gewählt hast. Ob die anderen viel weiter sind. Ob du irgendwas Grundlegendes nicht verstanden hast.</description>
      <pubDate>Fri, 22 May 2026 17:49:32 +0200</pubDate>
      <guid isPermaLink="false">0ef6147e3fe08291544b2a9ef28b0fc0</guid>
    </item>
    <item>
      <title>Warum du mit sauberem Code weiter kommst als mit komplizierten Lösungen</title>
      <link>https://magicmarcy.de/warum-du-mit-sauberem-code-weiter-kommst-als-mit-komplizierten-loesungen</link>
      <image/>
      <description>&lt;p&gt;Am Anfang wirkt komplexer Code oft beeindruckend. Da steckt viel Logik drin, es gibt verschachtelte Bedingungen, generische Konstrukte und Methoden, die scheinbar alles gleichzeitig lösen. Auf den ersten Blick sieht das nach Können aus. In der Praxis ist das aber selten ein Vorteil.</description>
      <pubDate>Wed, 20 May 2026 17:53:28 +0200</pubDate>
      <guid isPermaLink="false">ffcb889ac808daf06689200707cc5995</guid>
    </item>
    <item>
      <title>Java Arrays mit mehreren Dimensionen verstehen ohne Kopfschmerzen</title>
      <link>https://magicmarcy.de/java-arrays-mit-mehreren-dimensionen-verstehen-ohne-kopfschmerzen</link>
      <image/>
      <description>&lt;p&gt;Sobald du in Java nicht mehr nur eine einfache Liste von Werten brauchst, landest du schnell bei Arrays mit mehreren Dimensionen. Genau an der Stelle wird es für viele unübersichtlich. Ein normales Array ist noch leicht zu greifen: mehrere Werte hintereinander in einer Reihe. Ein multidimensionales Array erweitert genau diese Idee. Du hast dann nicht nur eine Reihe, sondern mehrere Reihen, Ebenen oder noch mehr Schichten.</description>
      <pubDate>Tue, 19 May 2026 17:41:22 +0200</pubDate>
      <guid isPermaLink="false">e32b96f0fbd9864a8f1baf5a7c99a9c4</guid>
    </item>
    <item>
      <title>Operatoren in Java und die kleinen Unterschiede, die wichtig sind</title>
      <link>https://magicmarcy.de/operatoren-in-java-und-die-kleinen-unterschiede-die-wichtig-sind</link>
      <image/>
      <description>&lt;p&gt;Operatoren sind in Java die Bausteine, mit denen du Werte zuweist, vergleichst, verrechnest oder logisch verknüpfst. Sie wirken oft unscheinbar, entscheiden aber sehr schnell darüber, ob dein Code korrekt läuft oder still und leise etwas anderes macht als gedacht. Gerade am Anfang sehen viele Operatoren ähnlich aus, verhalten sich aber im Detail unterschiedlich. Genau diese kleinen Unterschiede sind wichtig.</description>
      <pubDate>Sat, 16 May 2026 17:49:19 +0200</pubDate>
      <guid isPermaLink="false">1d857437f2f64617eda4c7346baaecfa</guid>
    </item>
    <item>
      <title>Maven Profile einfach erklärt - so steuerst du deinen Build gezielt</title>
      <link>https://magicmarcy.de/maven-profile-einfach-erklaert-so-steuerst-du-deinen-build-gezielt</link>
      <image/>
      <description>&lt;p&gt;Maven Profile gehören zu den Stellen in Maven, die am Anfang schnell unnötig kompliziert wirken. In der Praxis sind sie aber ziemlich nützlich, sobald du nicht mehr nur ein Projekt mit genau einer einzigen Ausführung hast. Ein typisches Beispiel: Lokal willst du dein Projekt mit anderen Einstellungen bauen als in einer CI-Pipeline oder für eine produktive Umgebung. Genau dafür sind Profile da.</description>
      <pubDate>Thu, 14 May 2026 17:49:01 +0200</pubDate>
      <guid isPermaLink="false">dbd6bf61810e5a051e9f21339c2d87da</guid>
    </item>
    <item>
      <title>Java Wrapper-Klassen verstehen - Autoboxing und Unboxing ganz entspannt</title>
      <link>https://magicmarcy.de/java-wrapper-klassen-verstehen-autoboxing-und-unboxing-ganz-entspannt</link>
      <image/>
      <description>&lt;p&gt;In Java arbeitest du nicht nur mit primitiven Datentypen wie &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;double&lt;/code&gt; oder &lt;code&gt;boolean&lt;/code&gt;, sondern auch mit den passenden Wrapper-Klassen wie &lt;code&gt;Integer&lt;/code&gt;, &lt;code&gt;Double&lt;/code&gt; und &lt;code&gt;Boolean&lt;/code&gt;. Genau an dieser Stelle kommen Autoboxing und Unboxing ins Spiel. Die Begriffe klingen im ersten Moment technischer, als sie eigentlich sind. Am Ende geht es nur darum, dass Java in bestimmten Situationen automatisch zwischen einem primitiven Wert und dem passenden Objekt umwandelt.</description>
      <pubDate>Mon, 11 May 2026 17:49:50 +0200</pubDate>
      <guid isPermaLink="false">2117fe2a68883f4a7c2508923c967bc5</guid>
    </item>
    <item>
      <title>Die wichtigste Zeile Code ist die, die du noch nicht schreibst</title>
      <link>https://magicmarcy.de/die-wichtigste-zeile-code-ist-die-die-du-noch-nicht-schreibst</link>
      <image/>
      <description>&lt;p&gt;Gerade bei kleinen Projekten ist die Versuchung groß, direkt loszulegen. Du öffnest IntelliJ, legst ein neues Maven Projekt an, erstellst die ersten Klassen und denkst dir, dass du den Rest unterwegs schon klären wirst. Genau da beginnt oft das eigentliche Problem. Nicht, weil du zu wenig kannst, sondern weil dir vor der ersten Zeile Code noch das Bild vom Projekt fehlt.</description>
      <pubDate>Sun, 10 May 2026 17:43:37 +0200</pubDate>
      <guid isPermaLink="false">6115e4e7a259789bf1e21ec1fceebaac</guid>
    </item>
    <item>
      <title>Konzentriert programmieren - wie du dir als Einsteiger gute Arbeitsroutinen aufbaust</title>
      <link>https://magicmarcy.de/konzentriert-programmieren-wie-du-dir-als-einsteiger-gute-arbeitsroutinen-aufbaust</link>
      <image/>
      <description>&lt;p&gt;Produktiv zu arbeiten hat am Anfang wenig mit Geschwindigkeit zu tun. Es geht nicht darum, möglichst viele Zeilen Code zu schreiben oder in kurzer Zeit jedes neue Framework mitzunehmen. Produktiv bist du dann, wenn du mit klarem Kopf an einer Sache arbeitest, Fehler nachvollziehen kannst und am Ende des Tages weißt, was du geschafft hast. Genau das ist im Alltag oft schwieriger als gedacht. Nachrichten ploppen auf, irgendwo läuft Musik, jemand stellt dir eine Frage, du springst zwischen Tabs hin und her und plötzlich sind zwei Stunden weg, ohne dass du wirklich tief in einem Problem warst.</description>
      <pubDate>Fri, 08 May 2026 17:36:41 +0200</pubDate>
      <guid isPermaLink="false">236760b71e3ad0d79d0451237ffea3bf</guid>
    </item>
    <item>
      <title>Abstrakte Klassen in Java - wann du sie wirklich brauchst</title>
      <link>https://magicmarcy.de/abstrakte-klassen-in-java-wann-du-sie-wirklich-brauchst</link>
      <image/>
      <description>&lt;p&gt;Wenn du in Java die ersten eigenen Klassen baust, wirkt eine abstrakte Klasse am Anfang oft unnötig kompliziert. Du schreibst normale Klassen, erzeugst Objekte mit &lt;code&gt;new&lt;/code&gt; und kommst damit erst mal gut klar. Genau deshalb ist es sinnvoll, das Thema nicht über Definitionen zu verstehen, sondern über den eigentlichen Zweck.</description>
      <pubDate>Wed, 06 May 2026 17:47:31 +0200</pubDate>
      <guid isPermaLink="false">109a7b1c0491c7d62e854789f809dec6</guid>
    </item>
    <item>
      <title>JUnit in Java - was du wirklich testen solltest</title>
      <link>https://magicmarcy.de/junit-in-java-was-du-wirklich-testen-solltest</link>
      <image/>
      <description>&lt;p&gt;JUnit gehört in Java-Projekten zu den Werkzeugen, die du früher oder später sowieso brauchst. Nicht, weil Tests gut klingen oder weil es in Tutorials oft so gemacht wird, sondern weil du mit Tests prüfen kannst, ob dein Code das tut, was du erwartest. Genau da liegt der eigentliche Wert. Ein Test ist kein Selbstzweck. Er gibt dir Sicherheit bei Änderungen, hilft dir beim Verstehen von Logik und macht Fehler sichtbar, bevor sie an einer anderen Stelle im Projekt auftauchen.</description>
      <pubDate>Mon, 04 May 2026 17:36:19 +0200</pubDate>
      <guid isPermaLink="false">c572d11ff1a28610e47cf9251b9b69d5</guid>
    </item>
    <item>
      <title>Java-Performance für Einsteiger: Kleine Ursachen, große Wirkung</title>
      <link>https://magicmarcy.de/java-performance-fuer-einsteiger-kleine-ursachen-grosse-wirkung</link>
      <image/>
      <description>&lt;p&gt;Performance-Optimierung klingt am Anfang oft nach einem Thema für sehr große Systeme, sehr erfahrene Entwickler oder sehr spezielle Probleme. In der Praxis begegnet dir das aber deutlich früher. Nicht, weil jede Anwendung sofort extrem schnell sein muss, sondern weil sich kleine Ungenauigkeiten im Code mit echten Datenmengen, vielen Nutzern oder häufigen Aufrufen schnell bemerkbar machen. Was auf dem eigenen Rechner mit zehn Testobjekten unauffällig bleibt, kann in Produktion plötzlich langsam werden.</description>
      <pubDate>Sat, 02 May 2026 17:42:16 +0200</pubDate>
      <guid isPermaLink="false">54376de1bf03b9a73cf45e7c803b0b76</guid>
    </item>
    <item>
      <title>Was gutes Logging ausmacht und warum schlechte Logs Zeit kosten</title>
      <link>https://magicmarcy.de/was-gutes-logging-ausmacht-und-warum-schlechte-logs-zeit-kosten</link>
      <image/>
      <description>&lt;p&gt;Logging gehört zu den Dingen, die am Anfang oft nebensächlich wirken. Der Code läuft, die Ausgabe passt, also scheint alles in Ordnung zu sein. Spätestens wenn ein Fehler nur in einer bestimmten Umgebung auftritt, eine Anfrage unerwartet lange dauert oder ein Problem nicht sauber reproduzierbar ist, merkst du aber schnell, wie wichtig gute Logs sind. Ein sauberes Logging hilft dir nicht nur beim Debugging, sondern auch dabei, Anwendungen im laufenden Betrieb nachvollziehbar zu halten.</description>
      <pubDate>Wed, 29 Apr 2026 17:50:04 +0200</pubDate>
      <guid isPermaLink="false">02baed4f1576f1cad444f6851112ae94</guid>
    </item>
    <item>
      <title>Zugriffsmodifikatoren in Java verstehen und sauber anwenden</title>
      <link>https://magicmarcy.de/zugriffsmodifikatoren-in-java-verstehen-und-sauber-anwenden</link>
      <image/>
      <description>&lt;p&gt;Zugriffsmodifikatoren gehören zu den Grundlagen, die in Java sehr früh wichtig werden. Am Anfang wirken sie oft wie reine Syntax: &lt;code&gt;public&lt;/code&gt;, &lt;code&gt;private&lt;/code&gt;, &lt;code&gt;protected&lt;/code&gt; oder einfach gar nichts. In der Praxis entscheiden sie aber darüber, welche Teile deines Codes von außen benutzt werden dürfen und welche nicht. Genau das macht sie so wichtig. Du legst damit fest, wo Verantwortung beginnt und wo sie endet. Wenn du das sauber machst, wird dein Code leichter verständlich, besser wartbar und deutlich robuster.</description>
      <pubDate>Mon, 27 Apr 2026 17:44:06 +0200</pubDate>
      <guid isPermaLink="false">7996ebcc616dc37d55f4467917325d4e</guid>
    </item>
    <item>
      <title>Master Git - so arbeitest du wie ein Profi statt wie ein Zufallsgenerator</title>
      <link>https://magicmarcy.de/master-git-so-arbeitest-du-wie-ein-profi-statt-wie-ein-zufallsgenerator</link>
      <image/>
      <description>&lt;p&gt;Git ist schnell erklärt, aber nicht schnell verstanden. Genau da liegt meistens das Problem. Viele kennen ein paar Befehle, kommen im Alltag auch irgendwie durch und nutzen Git trotzdem eher wie eine Fernbedienung mit zu vielen Tasten. Das funktioniert, bis etwas schiefläuft. Dann wird aus &lt;code&gt;git pull&lt;/code&gt; plötzlich Stress, aus einem Merge Konflikt ein Ratespiel und aus einem falschen Commit eine halbe Stunde Unsicherheit.</description>
      <pubDate>Sat, 25 Apr 2026 17:53:33 +0200</pubDate>
      <guid isPermaLink="false">99284d3fd75f367f4a1c9cc0e89ba03c</guid>
    </item>
    <item>
      <title>Tricky Java #2</title>
      <link>https://magicmarcy.de/tricky-java-2</link>
      <image/>
      <description>&lt;p&gt;In dieser Serie erwarten dich kleine, aber knifflige Java-Code-Schnipsel, die auf den ersten Blick völlig harmlos aussehen und genau deshalb besonders gefährlich sind.&lt;/p&gt;
&lt;p&gt;Denn manchmal wird Code „moderner“ oder „schöner“ umgeschrieben, obwohl sich dabei unbemerkt das Verhalten ändert. Und genau so ein Fall ist mir heute begegnet.</description>
      <pubDate>Thu, 23 Apr 2026 17:50:12 +0200</pubDate>
      <guid isPermaLink="false">fb56b180a28827d0fbb68cd967bf8025</guid>
    </item>
    <item>
      <title>Was dich in der Ausbildung zum Fachinformatiker für Anwendungsentwicklung wirklich erwartet</title>
      <link>https://magicmarcy.de/was-dich-in-der-ausbildung-zum-fachinformatiker-fuer-anwendungsentwicklung-wirklich-erwartet</link>
      <image/>
      <description>&lt;p&gt;Wenn du darüber nachdenkst, eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung zu machen, dann hast du wahrscheinlich viele Fragen im Kopf. Das ist völlig normal. Vielleicht fragst du dich, ob du schon programmieren können musst, ob Mathe ein Problem wird, wie ein typischer Arbeitstag aussieht oder ob sich der Einstieg in die IT überhaupt noch lohnt. Vor allem liest und hörst du gerade an vielen Stellen, dass wegen KI bald keine Junioren mehr gebraucht werden. Ich sage dir ganz klar: Genau daraus solltest du nicht den falschen Schluss ziehen.</description>
      <pubDate>Tue, 21 Apr 2026 17:40:12 +0200</pubDate>
      <guid isPermaLink="false">acd38837bf8d3d98976c3c4a819d14f0</guid>
    </item>
    <item>
      <title>Wiederverwendbare Business-Logik in Java EE: EJBs richtig schneiden</title>
      <link>https://magicmarcy.de/wiederverwendbare-business-logik-in-java-ee-ejbs-richtig-schneiden</link>
      <image/>
      <description>&lt;p&gt;Wenn du zum ersten Mal eine Java-EE-Anwendung auf WildFly deployest, wirkt die Struktur oft wie ein Detail, das man „später“ aufräumt. Es läuft ja auch, wenn du alles in eine WAR packst. Genau deshalb stolpern viele erst dann über das Thema, wenn die Anwendung wächst oder wenn du dieselbe Logik an mehreren Stellen brauchst.</description>
      <pubDate>Sat, 18 Apr 2026 17:52:58 +0200</pubDate>
      <guid isPermaLink="false">78abfcab1fcf5be22c29c5bb49c8e79b</guid>
    </item>
    <item>
      <title>Warum Designprinzipien nicht immer die beste Antwort sind</title>
      <link>https://magicmarcy.de/warum-designprinzipien-nicht-immer-die-beste-antwort-sind</link>
      <image/>
      <description>&lt;p&gt;Designprinzipien gehören zu den Themen, über die man in der Java-Welt relativ früh stolpert. Irgendwann tauchen dann Begriffe wie KISS, DRY, YAGNI oder SOLID auf, und plötzlich sieht es so aus, als gäbe es für jede Zeile Code eine feste Regel. Das Problem daran ist nicht, dass diese Prinzipien falsch wären. Das Problem ist eher, dass sie oft wie Naturgesetze behandelt werden, obwohl sie in der Praxis eher Orientierungshilfen sind.</description>
      <pubDate>Fri, 17 Apr 2026 17:33:58 +0200</pubDate>
      <guid isPermaLink="false">b11df5b8d3027c757931954fba8a4e12</guid>
    </item>
    <item>
      <title>Eventlistener in der Praxis: sauber registrieren, sauber entfernen</title>
      <link>https://magicmarcy.de/eventlistener-in-der-praxis-sauber-registrieren-sauber-entfernen</link>
      <image/>
      <description>&lt;p&gt;Eventlistener sind eines dieser Browser-Themen, die am Anfang “magisch” wirken: Du klickst irgendwo hin, drückst eine Taste, bewegst die Maus - und plötzlich läuft JavaScript-Code. Dahinter steckt kein Zauber, sondern ein ziemlich klarer Mechanismus: Der Browser feuert Events (Ereignisse) ab, und dein Code hängt sich mit einem Listener dran und reagiert darauf.</description>
      <pubDate>Wed, 15 Apr 2026 17:51:00 +0200</pubDate>
      <guid isPermaLink="false">04a70ade6a24bfe592968c066d4be963</guid>
    </item>
    <item>
      <title>Abstract in Java: Der Bauplan für Profis einfach erklärt</title>
      <link>https://magicmarcy.de/abstract-in-java-der-bauplan-fuer-profis-einfach-erklaert</link>
      <image/>
      <description>&lt;p&gt;Wenn du in Java auf das Schlüsselwort &lt;code&gt;abstract&lt;/code&gt; stößt, wirkt das am Anfang oft wie eine unnötige Hürde. Warum sollte man eine Klasse schreiben, von der man gar kein Objekt erstellen kann? Um das zu verstehen, musst du kurz den Kopf von der Tastatur heben und in Konzepten denken. In der Softwareentwicklung geht es ständig darum, Gemeinsamkeiten zu finden und diese zu strukturieren. Das Wort &amp;quot;abstrakt&amp;quot; kommt aus dem Lateinischen und bedeutet so viel wie &amp;quot;abgezogen&amp;quot; oder &amp;quot;vom Besonderen losgelöst&amp;quot;.</description>
      <pubDate>Mon, 13 Apr 2026 17:40:00 +0200</pubDate>
      <guid isPermaLink="false">d8afff9d845d16ec3e3504d2364a9662</guid>
    </item>
    <item>
      <title>Der Ursprung, etwas richtig zu machen, ist immer, es falsch zu machen</title>
      <link>https://magicmarcy.de/der-ursprung-etwas-richtig-zu-machen-ist-immer-es-falsch-zu-machen</link>
      <image/>
      <description>&lt;p&gt;Du kennst dieses Gefühl: Du schreibst Code, drückst auf „Run“ und der Compiler antwortet mit einer roten Wand aus Fehlermeldungen. Oder die Anwendung startet, aber „irgendwas“ ist komisch. Und irgendwo im Hinterkopf sitzt dieser Gedanke: „Vielleicht bin ich einfach nicht gut genug.“&lt;/p&gt;
&lt;p&gt;Ich will dir heute eine These mitgeben, die wie ein mentaler Sicherheitsgurt funktionieren kann:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Der Ursprung, etwas richtig zu machen, ist immer, es falsch zu machen.  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Und oft gilt sogar: Vieles, was wir heute „richtig“ nennen, hat historisch irgendwo mit einem Fehler angefangen.</description>
      <pubDate>Sun, 12 Apr 2026 17:41:00 +0200</pubDate>
      <guid isPermaLink="false">b526e3b61d4b7b38682792648b296c24</guid>
    </item>
    <item>
      <title>Warum Maven Profiles dein Leben als Java-Entwickler leichter machen</title>
      <link>https://magicmarcy.de/warum-maven-profiles-dein-leben-als-java-entwickler-leichter-machen</link>
      <image/>
      <description>&lt;p&gt;Wenn du Java-Anwendungen entwickelst, kommst du an Maven nicht vorbei. Es verwaltet deine Abhängigkeiten und steuert den Build-Prozess. Aber oft stehst du vor dem Problem, dass deine Anwendung in verschiedenen Umgebungen unterschiedlich funktionieren muss. </description>
      <pubDate>Fri, 10 Apr 2026 17:46:06 +0200</pubDate>
      <guid isPermaLink="false">ac79c7f2f524a4c29b5886dad42d082c</guid>
    </item>
    <item>
      <title>Datentypen in Java ohne Stolperfallen</title>
      <link>https://magicmarcy.de/datentypen-in-java-ohne-stolperfallen</link>
      <image/>
      <description>&lt;p&gt;In Java unterscheidest du grob zwischen primitiven Datentypen und Referenztypen. Primitive Typen sind die Basis: Sie speichern den Wert direkt, ohne Objekt-Hülle. Das macht sie schnell, vorhersehbar und speichereffizient. Wichtig ist dabei: Die Größe der primitiven Typen ist in Java fest definiert und hängt nicht vom Betriebssystem ab. Genau diese Festlegung macht Code auf verschiedenen Plattformen so stabil.</description>
      <pubDate>Wed, 08 Apr 2026 17:36:41 +0200</pubDate>
      <guid isPermaLink="false">831df1e66d77a8efca4258dd14e5b11f</guid>
    </item>
    <item>
      <title>Die Kunst, nervige Aufgaben zu lieben: Ein Guide für Devs</title>
      <link>https://magicmarcy.de/die-kunst-nervige-aufgaben-zu-lieben-ein-guide-fuer-devs</link>
      <image/>
      <description>&lt;p&gt;Das Leben als Softwareentwickler wird oft romantisiert. Man stellt sich vor, wie wir den ganzen Tag komplexe Algorithmen entwerfen, innovative Features bauen und dabei literweise Kaffee trinken, während wir uns wie Hacker in einem Film fühlen. Doch die Realität sieht oft anders aus, und das ist auch völlig in Ordnung. Es gibt Tage, an denen du vor Aufgaben sitzt, die auf den ersten Blick absolut keinen Spaß machen. Das können endlose XML-Konfigurationen in einem älteren JavaEE-Projekt sein, das Auflösen von Dependency-Konflikten in Maven oder das Schreiben von Dokumentationen für Code, den du nicht einmal selbst verfasst hast. </description>
      <pubDate>Tue, 07 Apr 2026 17:43:34 +0200</pubDate>
      <guid isPermaLink="false">cc0e4c94beb62a0befcf2a872799fdb8</guid>
    </item>
    <item>
      <title>Overriding vs Overloading: Der Polymorphismus-Fallstrick in Java</title>
      <link>https://magicmarcy.de/overriding-vs-overloading-der-polymorphismus-fallstrick-in-java</link>
      <image/>
      <description>&lt;p&gt;Polymorphismus klingt irgendwie erstmal nach einem Wort aus dem Biologieunterricht oder nach einem mathematischen Konstrukt. In Java steckt dahinter aber etwas sehr Praktisches: Du schreibst Code, der mit verschiedenen konkreten Klassen arbeiten kann, ohne dass du überall Sonderfälle einbaust. Das macht deinen Code robuster, leichter testbar und oft auch deutlich übersichtlicher.</description>
      <pubDate>Sat, 04 Apr 2026 17:55:14 +0200</pubDate>
      <guid isPermaLink="false">ca2b983ed7bb08433f9e3586f63ec64f</guid>
    </item>
    <item>
      <title>Warum System.out.println() kein Debugging ist</title>
      <link>https://magicmarcy.de/warum-system-out-println-kein-debugging-ist</link>
      <image/>
      <description>&lt;p&gt;Du kennst das: Irgendwas funktioniert nicht, du hast keinen Plan warum, und der schnellste Griff geht zu &lt;code&gt;System.out.println()&lt;/code&gt;. Einmal rauswerfen, nochmal laufen lassen, Ausgabe anschauen - fertig. Das fühlt sich an wie Debugging, ist es aber nicht. Es ist eher eine improvisierte Spurensuche mit Taschenlampe, während du eigentlich ein komplettes Werkzeugset neben dir liegen hast.</description>
      <pubDate>Thu, 02 Apr 2026 17:34:04 +0200</pubDate>
      <guid isPermaLink="false">2d9f0604c3921f4ffb2e182014d65b2a</guid>
    </item>
    <item>
      <title>Eigene Annotationen bauen: Einfacher als du denkst</title>
      <link>https://magicmarcy.de/eigene-annotationen-bauen-einfacher-als-du-denkst</link>
      <image/>
      <description>&lt;p&gt;Annotationen in Java sind kleine Marker direkt im Code, die Zusatzinformationen tragen. Du kennst sie vermutlich schon: @Override, @Deprecated oder @SuppressWarnings. Das sind keine Kommentare und auch keine Magie im Sinne von &amp;quot;der Compiler macht irgendwas Unfassbares&amp;quot;. Es ist eher wie ein sauberer Zettel am Code: &amp;quot;Dieses Element hat eine bestimmte Bedeutung&amp;quot;. Entscheidend ist, wer diesen Zettel liest - der Compiler, dein IDE-Inspektor, ein Build-Tool oder ein Framework zur Laufzeit.</description>
      <pubDate>Tue, 31 Mar 2026 17:44:00 +0200</pubDate>
      <guid isPermaLink="false">9ec9bf9241f53a39dc36151b200b0f8b</guid>
    </item>
    <item>
      <title>Wenn Zahlen lügen: Magic Numbers sauber ersetzen</title>
      <link>https://magicmarcy.de/wenn-zahlen-luegen-magic-numbers-sauber-ersetzen</link>
      <image/>
      <description>&lt;p&gt;Magic Numbers sind Zahlen (oder auch Strings), die irgendwo im Code „einfach so“ stehen und deren Bedeutung man nur errät. Du siehst dann &lt;code&gt;60&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;1024&lt;/code&gt; oder &lt;code&gt;"admin"&lt;/code&gt; und musst aus dem Kontext heraus rekonstruieren, &lt;em&gt;warum genau dieser Wert&lt;/em&gt; dort steht. Zahlen im Code sind nicht per se schlecht. Schlecht wird es, wenn die Zahl eine fachliche oder technische Bedeutung trägt, diese Bedeutung aber nicht sichtbar ist.</description>
      <pubDate>Sun, 29 Mar 2026 17:53:13 +0200</pubDate>
      <guid isPermaLink="false">ba073df32f2449ecc537dad05c120d78</guid>
    </item>
    <item>
      <title>Technische Schulden im Alltag: Erkennen, vermeiden, abbauen</title>
      <link>https://magicmarcy.de/technische-schulden-im-alltag-erkennen-vermeiden-abbauen</link>
      <image/>
      <description>&lt;p&gt;Technische Schulden sind eines dieser Begriffe, die du früh hörst und erst später wirklich spürst. Gemeint ist kein “Fehler”, sondern eine bewusste oder unbewusste Abkürzung im Code oder in der Architektur, die dir heute Zeit spart und dich morgen Zeit kostet. Wie bei einem Kredit: Du bekommst sofort etwas, zahlst aber Zinsen, solange du die Sache nicht sauber nachziehst.</description>
      <pubDate>Fri, 27 Mar 2026 17:49:32 +0100</pubDate>
      <guid isPermaLink="false">bfc56b23791dd75e80706ebc5ff12a6c</guid>
    </item>
    <item>
      <title>Ohne Konzept kein sauberer Code - und warum das kein Zufall ist</title>
      <link>https://magicmarcy.de/ohne-konzept-kein-sauberer-code</link>
      <image/>
      <description>&lt;p&gt;Wer mit Programmieren startet, stolpert früher oder später über Konzepte. Oft klingt das nach viel Papier, wenig Code und noch weniger Spaß. Genau deshalb wird das Thema gern ignoriert oder auf ein paar Stichpunkte runtergebrochen. Das Problem daran: Ohne ein sauberes Grundkonzept wird selbst ein kleines Projekt schnell unübersichtlich, fehleranfällig und unnötig kompliziert.</description>
      <pubDate>Thu, 26 Mar 2026 17:38:18 +0100</pubDate>
      <guid isPermaLink="false">c7e3ac88ac7a7cf452a5a1fcbd1e1501</guid>
    </item>
    <item>
      <title>Lambdas und Streams - warum sie zusammen glänzen, aber getrennt verstanden werden müssen</title>
      <link>https://magicmarcy.de/lambdas-und-steams</link>
      <image/>
      <description>&lt;p&gt;Wenn man frisch mit modernerem Java unterwegs ist, hat man oft zwei Begriffe im Kopf, die irgendwie zusammengehören, aber trotzdem gerne durcheinander geraten: Lambdas und Streams. Beides wirkt auf den ersten Blick &amp;quot;neu und modern&amp;quot;, beide tauchen gerne zusammen im Code auf - und zack, im Kopf verschwimmt das. In diesem Artikel trennen wir das sauber: Was ist ein Lambda, was ist ein Stream, warum ist das nicht das Gleiche und wie spielen die beiden trotzdem zusammen.</description>
      <pubDate>Tue, 24 Mar 2026 17:30:27 +0100</pubDate>
      <guid isPermaLink="false">a04308ac5c96a8217f0607d6798e4595</guid>
    </item>
    <item>
      <title>Heap, Stack und Metaspace - Warum Variablen verschwinden und Objekte nicht</title>
      <link>https://magicmarcy.de/heap-stack-und-metaspace-warum-variablen-verschwinden-und-objekte-nicht</link>
      <image/>
      <description>&lt;p&gt;Du hast sicher schon erlebt, dass eine Variable „weg“ ist, sobald eine Methode fertig ist. Gleichzeitig scheinen Objekte manchmal ewig zu leben - bis plötzlich der Speicher knapp wird. Das ist kein Zufall, sondern hängt daran, &lt;em&gt;wo&lt;/em&gt; Java Dinge ablegt. Wenn du Heap, Stack und Metaspace einmal sauber auseinanderhalten kannst, werden viele typische Anfänger-Fragezeichen (und einige nervige Fehler) deutlich kleiner.</description>
      <pubDate>Sun, 22 Mar 2026 17:14:01 +0100</pubDate>
      <guid isPermaLink="false">61287323ecacfe9a4d056b60dd8dfe40</guid>
    </item>
    <item>
      <title>Programmieren lernen im Betrieb: Ehrliche Tipps für den Start</title>
      <link>https://magicmarcy.de/tipps-fuer-auszubildende</link>
      <image/>
      <description>&lt;p&gt;Der Einstieg in die Ausbildung als Programmierer ist spannend, manchmal chaotisch und oft anstrengender, als man am Anfang denkt. Du lernst nicht nur eine Programmiersprache, sondern ein komplettes Handwerk. Viele Dinge sieht man erst nach ein paar Monaten klarer, manche erst nach dem ersten Jahr. Dieser Artikel sammelt kurze und praxisnahe Tipps, die dir helfen sollen, schneller sicherer zu werden und typische Stolperfallen zu vermeiden.</description>
      <pubDate>Sat, 21 Mar 2026 17:52:07 +0100</pubDate>
      <guid isPermaLink="false">23ec72020edc41c118a62c7b12f2a423</guid>
    </item>
    <item>
      <title>Nebenläufige Programmierung</title>
      <link>https://magicmarcy.de/nebenlaeufige-programmierung</link>
      <image/>
      <description>&lt;p&gt;Nebenläufige Programmierung ist ein Begriff, der in der Softwareentwicklung häufig fällt, aber oft unterschiedlich interpretiert wird. Grundsätzlich beschreibt er die Fähigkeit eines Programms, mehrere Aufgaben gleichzeitig oder scheinbar gleichzeitig auszuführen. Dabei geht es nicht zwingend darum, dass der Prozessor tatsächlich mehrere Dinge exakt zur selben Zeit erledigt - sondern vielmehr darum, dass die Software so strukturiert ist, dass sie Aufgaben unabhängig voneinander bearbeiten kann. Das Ziel ist, Reaktionszeiten zu verbessern, Ressourcen effizienter zu nutzen und bestimmte Probleme überhaupt erst lösbar zu machen.</description>
      <pubDate>Thu, 19 Mar 2026 17:43:42 +0100</pubDate>
      <guid isPermaLink="false">75732a21fb37345ec2c771643e57c2e7</guid>
    </item>
    <item>
      <title>Wohin geht die Reise? Orientierung für deine Entwickler-Karriere</title>
      <link>https://magicmarcy.de/wohin-geht-die-reise-orientierung-fuer-deine-entwickler-karriere</link>
      <image/>
      <description>&lt;p&gt;Der Einstieg in die IT fühlt sich oft klarer an als alles, was danach kommt. Du lernst programmieren, bekommst erste Aufgaben, schreibst Code, behebst Bugs und merkst relativ schnell, dass Softwareentwicklung mehr ist als Syntax und Frameworks. Irgendwann taucht dann zwangsläufig die Frage auf, wie es weitergeht. Nicht im Sinne von Titeln, sondern in Richtung Verantwortung, Fokus und persönlicher Entwicklung. Genau darum geht es hier: Welche realistischen Wege gibt es in der IT, wenn du als Entwickler Fuß gefasst hast, und was kommt nach den klassischen Stationen Junior, Entwickler und Senior.</description>
      <pubDate>Tue, 17 Mar 2026 17:06:15 +0100</pubDate>
      <guid isPermaLink="false">eae58fae84c8f959b55938dc2a461d75</guid>
    </item>
    <item>
      <title>Einstieg in JPA: Datenbankzugriff ohne SQL-Chaos</title>
      <link>https://magicmarcy.de/einstieg-in-jpa-datenbankzugriff-ohne-sql-chaos</link>
      <image/>
      <description>&lt;p&gt;JPA gehört zu den zentralen Bausteinen moderner Java-Anwendungen, sobald persistente Daten ins Spiel kommen. Statt SQL-Statements überall im Code zu verteilen, kapselt JPA den Zugriff auf relationale Datenbanken sauber und objektorientiert. Du arbeitest mit Java-Objekten, während sich das Framework um Tabellen, Spalten und Joins kümmert. Das reduziert Boilerplate, verbessert die Lesbarkeit und macht fachlichen Code deutlich stabiler.</description>
      <pubDate>Sun, 15 Mar 2026 17:47:14 +0100</pubDate>
      <guid isPermaLink="false">fdef332b689f67d1d2bd3215d2870d80</guid>
    </item>
    <item>
      <title>Code Smells - was riecht denn hier so streng?</title>
      <link>https://magicmarcy.de/code-smells-was-riecht-denn-hier-so-streng</link>
      <image/>
      <description>&lt;p&gt;Code Smells sind Hinweise darauf, dass im Code etwas nicht sauber ist - etwas schlecht riecht. Es geht nicht um Syntaxfehler oder Bugs, sondern um Strukturen, die dich langfristig ausbremsen. Der Code funktioniert vielleicht heute, aber er wird schwerer zu verstehen, zu testen und zu erweitern. Gerade in Java-Projekten sammeln sich solche Stellen schnell an, wenn man sie nicht bewusst wahrnimmt.</description>
      <pubDate>Fri, 13 Mar 2026 17:35:21 +0100</pubDate>
      <guid isPermaLink="false">0dfbeafe6936bfb0fb79d7d356377641</guid>
    </item>
    <item>
      <title>Algorithmen verstehen, besseren Java-Code schreiben</title>
      <link>https://magicmarcy.de/algorithmen-verstehen-besseren-java-code-schreiben</link>
      <image/>
      <description>&lt;p&gt;Algorithmen und Datenstrukturen begegnen dir früher oder später in jedem Java-Projekt. Oft wirken sie abstrakt, theoretisch oder wie etwas, das nur in Informatik-Vorlesungen relevant ist. In der Praxis sind sie jedoch ein zentrales Werkzeug, um sauberen, wartbaren und performanten Code zu schreiben. Es geht dabei nicht um komplizierte Mathematik, sondern um strukturierte Denkweisen.</description>
      <pubDate>Wed, 11 Mar 2026 17:22:39 +0100</pubDate>
      <guid isPermaLink="false">31de31c91c73a252916ea74eaf53f07a</guid>
    </item>
    <item>
      <title>Der unsichtbare Burnout-Treiber im Entwickleralltag</title>
      <link>https://magicmarcy.de/der-unsichtbare-burnout-treiber-im-entwickleralltag</link>
      <image/>
      <description>&lt;p&gt;Der Job fühlt sich schwer an, obwohl dir das eigentliche Coden nach wie vor Spaß macht. Du sitzt vor sauberem Java-Code, kennst die Tools, weißt, was zu tun ist - und trotzdem bist du am Ende des Tages mental leer. Das ist kein Widerspruch. Sehr oft liegt das Problem nicht im Entwickeln selbst, sondern in dem, was permanent dazwischenfunkt.</description>
      <pubDate>Tue, 10 Mar 2026 17:54:38 +0100</pubDate>
      <guid isPermaLink="false">a106dfc870ac807ad8f6876904f29ad8</guid>
    </item>
    <item>
      <title>JUnit Basics verständlich erklärt</title>
      <link>https://magicmarcy.de/junit-basics-verstaendlich-erklaert</link>
      <image/>
      <description>&lt;p&gt;JUnit ist das Standardwerkzeug für automatisierte Tests im Java-Umfeld. Wenn du mit Java arbeitest, wirst du früher oder später nicht daran vorbeikommen. Tests sind kein Selbstzweck und auch kein akademisches Konstrukt, sondern ein Werkzeug, das dir im Alltag hilft, Fehler früh zu erkennen und Änderungen sicher umzusetzen. Gerade bei wachsendem Codebestand ist das entscheidend.</description>
      <pubDate>Sun, 08 Mar 2026 17:45:13 +0100</pubDate>
      <guid isPermaLink="false">2998f873ee1d5dd4b38628fc963d833d</guid>
    </item>
    <item>
      <title>Fachlogik zuerst: Ein Einstieg in Hexagonal Architecture</title>
      <link>https://magicmarcy.de/fachlogik-zuerst-ein-einstieg-in-hexagonal-architecture</link>
      <image/>
      <description>&lt;p&gt;Hexagonal Architecture begegnet dir früher oder später, wenn Anwendungen größer werden und trotzdem wartbar bleiben sollen. Der Name klingt komplizierter, als das Konzept tatsächlich ist. Im Kern geht es darum, Abhängigkeiten sauber zu trennen und dein fachliches Modell vor technischen Details zu schützen. Genau das ist im Alltag mit Java, WildFly, Maven und Git entscheidend, wenn ein Projekt nicht nach kurzer Zeit unübersichtlich werden soll.</description>
      <pubDate>Fri, 06 Mar 2026 17:30:26 +0100</pubDate>
      <guid isPermaLink="false">950e580f0c4ab0a2dea8862fbbba3f10</guid>
    </item>
    <item>
      <title>Warum guter Code mit Fehlern rechnet</title>
      <link>https://magicmarcy.de/warum-guter-code-mit-fehlern-rechnet</link>
      <image/>
      <description>&lt;p&gt;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.</description>
      <pubDate>Thu, 05 Mar 2026 17:14:05 +0100</pubDate>
      <guid isPermaLink="false">398f58360d1211c749aae8de08d43939</guid>
    </item>
    <item>
      <title>Warum Rekursion weniger kompliziert ist, als sie aussieht</title>
      <link>https://magicmarcy.de/warum-rekursion-weniger-kompliziert-ist-als-sie-aussieht</link>
      <image/>
      <description>&lt;p&gt;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 &lt;code&gt;StackOverflowError&lt;/code&gt;. Genau deshalb besteht jede sinnvolle rekursive Methode immer aus zwei Teilen: einem Abbruchfall und einem rekursiven Schritt.</description>
      <pubDate>Tue, 03 Mar 2026 17:30:51 +0100</pubDate>
      <guid isPermaLink="false">6e32b2e43bd96b109820d84b3fd1c868</guid>
    </item>
    <item>
      <title>Maven für Einsteiger: Struktur, Abhängigkeiten und Build Cycle</title>
      <link>https://magicmarcy.de/maven-fuer-einsteiger-struktur-abhaengigkeiten-und-build-cycle</link>
      <image/>
      <description>&lt;p&gt;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.</description>
      <pubDate>Sun, 01 Mar 2026 17:49:47 +0100</pubDate>
      <guid isPermaLink="false">cdc160e4cd833e1d8c1180366bfd39ea</guid>
    </item>
    <item>
      <title>Keine Panik vor dem roten Text: Ein Survival-Guide für den Start in die Java-Entwicklung</title>
      <link>https://magicmarcy.de/keine-panik-vor-dem-roten-text</link>
      <image/>
      <description>&lt;p&gt;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. </description>
      <pubDate>Thu, 26 Feb 2026 17:54:39 +0100</pubDate>
      <guid isPermaLink="false">6ae4d60269916d09735f3dd8992a867a</guid>
    </item>
    <item>
      <title>JavaScript Events verstehen: onclick, onblur, onkeydown und onkeyup erklärt</title>
      <link>https://magicmarcy.de/javascript-events-verstehen-onclick-onblur-onkeydown-und-onkeyup</link>
      <image/>
      <description>&lt;p&gt;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 &lt;code&gt;onclick&lt;/code&gt;, &lt;code&gt;onblur&lt;/code&gt;, &lt;code&gt;onkeydown&lt;/code&gt; und &lt;code&gt;onkeyup&lt;/code&gt; 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.</description>
      <pubDate>Tue, 24 Feb 2026 17:23:50 +0100</pubDate>
      <guid isPermaLink="false">3778552db7fd65615370834a4382f0db</guid>
    </item>
    <item>
      <title>Modular entwickeln: Wie Separation of Concerns (SoC) dir das Leben erleichtert</title>
      <link>https://magicmarcy.de/wie-separation-of-concerns-dir-das-leben-erleichtert</link>
      <image/>
      <description>&lt;p&gt;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.</description>
      <pubDate>Sun, 22 Feb 2026 17:51:46 +0100</pubDate>
      <guid isPermaLink="false">742d59842c7b1e6417020912f6ef80a6</guid>
    </item>
    <item>
      <title>Java Annotationen selber bauen: kleines Beispiel, grosser Effekt</title>
      <link>https://magicmarcy.de/java-annotationen-selber-bauen</link>
      <image/>
      <description>&lt;p&gt;Wenn du in Java schon ein paar Klassen geschrieben hast, bist du Annotationen ziemlich sicher begegnet: &lt;code&gt;@Override&lt;/code&gt;, &lt;code&gt;@SuppressWarnings&lt;/code&gt;, vielleicht auch &lt;code&gt;@Deprecated&lt;/code&gt;. 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.</description>
      <pubDate>Fri, 20 Feb 2026 17:11:25 +0100</pubDate>
      <guid isPermaLink="false">b66b3b249eca8edd44074c0592fc61ad</guid>
    </item>
    <item>
      <title>Sauberer Java-Code mit Command–Query Separation</title>
      <link>https://magicmarcy.de/command%E2%80%93query-separation</link>
      <image/>
      <description>&lt;p&gt;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.</description>
      <pubDate>Wed, 18 Feb 2026 17:48:18 +0100</pubDate>
      <guid isPermaLink="false">0d1ad83be72b6191b85f9efa27e0a75e</guid>
    </item>
    <item>
      <title>Design Pattern</title>
      <link>https://magicmarcy.de/design-pattern</link>
      <image/>
      <description>&lt;p&gt;&lt;strong&gt;Design Pattern&lt;/strong&gt; sind wiederkehrende Lösungen für häufig auftretende Probleme in der Softwareentwicklung. Sie sind kein fester Code, den man kopiert und einfügt, sondern eher ein Bauplan oder eine bewährte Idee, wie man ein bestimmtes Problem sauber, verständlich und flexibel lösen kann. Besonders in objektorientierten Sprachen wie Java helfen Design Patterns dabei, wartbaren und gut strukturierten Code zu schreiben. Für Einsteiger sind sie oft ein wichtiger Schritt, um vom reinen Programmieren hin zum echten Softwaredesign zu kommen.</description>
      <pubDate>Tue, 17 Feb 2026 17:58:59 +0100</pubDate>
      <guid isPermaLink="false">f1db875c2ed836a0a0c3e4600c43b50f</guid>
    </item>
    <item>
      <title>REST Webservices in Java: Dein erster eigener API-Endpoint ohne Framework-Chaos</title>
      <link>https://magicmarcy.de/rest-webservices-in-java</link>
      <image/>
      <description>&lt;p&gt;REST Webservices in Java klingen am Anfang gerne etwas abstrakt: HTTP, Ressourcen, JSON, Statuscodes, JAX-RS - ziemlich viele Begriffe auf einmal. In der Praxis ist das aber weniger Magie, als es aussieht. Wenn du Java schon ein bisschen kennst, kannst du mit ein paar Grundbausteinen sehr schnell deinen ersten eigenen REST-Webservice aufsetzen.</description>
      <pubDate>Sun, 15 Feb 2026 17:17:22 +0100</pubDate>
      <guid isPermaLink="false">e7ac2fe21bd605ef875c055565d26766</guid>
    </item>
    <item>
      <title>Zu viel Verantwortung im Code? Zeit für das Single Responsibility Principle</title>
      <link>https://magicmarcy.de/single-responsibility-principle</link>
      <image/>
      <description>&lt;p&gt;Wenn du dich noch nicht lange mit objektorientierter Programmierung beschäftigst, stolperst du relativ früh über die sogenannten SOLID-Prinzipien. Eines davon ist das SRP - das Single Responsibility Principle. Klingt erstmal theoretisch, ist in der Praxis aber eines der Prinzipien, die dir den grössten Hebel bringen, wenn dein Code wartbar bleiben soll.</description>
      <pubDate>Fri, 13 Feb 2026 17:44:43 +0100</pubDate>
      <guid isPermaLink="false">93484803b8e20b2b776de9cc2207e0f3</guid>
    </item>
    <item>
      <title>Drei CSS-Konzepte, die dein Layout retten: Box-Modell, Kaskade, Spezifität</title>
      <link>https://magicmarcy.de/drei-css-konzepte</link>
      <image/>
      <description>&lt;p&gt;CSS wirkt am anfang oft harmlos: Ein paar Regeln, etwas Farbe, ein bisschen Abstand. Spätestens wenn Layouts unerwartet breiter sind, Styles sich gegenseitig aushebeln oder Änderungen scheinbar ignoriert werden, wird klar: hier greifen feste Mechanismen. Wenn du das Box-Modell, die Kaskade und die Spezifität verstanden hast, fällt ein grosser Teil dieses scheinbaren Chaos weg.</description>
      <pubDate>Wed, 11 Feb 2026 17:28:21 +0100</pubDate>
      <guid isPermaLink="false">2ae072583a6f426413f22dd994c3d93c</guid>
    </item>
    <item>
      <title>CompletableFuture - Asynchrone Programmierung einfach erklärt</title>
      <link>https://magicmarcy.de/completablefuture-asynchrone-programmierung-einfach-erklaert</link>
      <image/>
      <description>&lt;p&gt;Wenn du schon eine Weile mit Java arbeitest, bist du sicher über den Begriff &lt;code&gt;Future&lt;/code&gt; gestolpert. Ein &lt;code&gt;Future&lt;/code&gt; ist ein Platzhalter für ein Ergebnis, das erst in der Zukunft verfügbar ist - also das Ergebnis einer asynchronen Operation. Doch das klassische &lt;code&gt;Future&lt;/code&gt; hat seine Grenzen: Du kannst es nicht elegant kombinieren, keine Callbacks anhängen und musst aktiv warten, bis das Ergebnis da ist. Genau hier kommt &lt;code&gt;CompletableFuture&lt;/code&gt; ins Spiel.</description>
      <pubDate>Mon, 09 Feb 2026 17:56:00 +0100</pubDate>
      <guid isPermaLink="false">6be9063ae916366a98bb54c86e843a77</guid>
    </item>
    <item>
      <title>Webentwicklung beginnt nicht im Controller: Ein realistischer Blick auf die Basics</title>
      <link>https://magicmarcy.de/webentwicklung-die-basics</link>
      <image/>
      <description>&lt;p&gt;Wenn du als Programmeinsteiger heute unterwegs bist, hast du oft schon früh Kontakt mit Java oder einer anderen Programmiersprache. Klassen, Methoden, Interfaces, vielleicht sogar schon Streams oder erste JavaEE-Projekte. Der Code sieht sauber aus, Tests laufen, der Build ist grün. Und dann kommt das erste Webprojekt und plötzlich wird es unruhig.</description>
      <pubDate>Sun, 08 Feb 2026 17:50:54 +0100</pubDate>
      <guid isPermaLink="false">3bf4af9c548c767d384d35d8198a42f3</guid>
    </item>
    <item>
      <title>Erst denken, dann coden: Requirements Engineering für Einsteiger</title>
      <link>https://magicmarcy.de/requirements-engineering</link>
      <image/>
      <description>&lt;p&gt;Wenn du noch nicht so lange programmierst, kennst du das vermutlich: Jemand erklärt dir kurz, was gebaut werden soll, du denkst dir &amp;quot;passt, hab ich verstanden&amp;quot; und legst los. Zwei Tage später stellt sich heraus: Missverständnis. Der Fachbereich wollte etwas anderes, ein wichtiger Fall wurde vergessen oder eine scheinbar kleine Anforderung zieht auf einmal einen Rattenschwanz an Änderungen hinter sich her.</description>
      <pubDate>Sat, 07 Feb 2026 17:55:54 +0100</pubDate>
      <guid isPermaLink="false">c071b4d54b7d1661778032f4e65eaeaa</guid>
    </item>
    <item>
      <title>Funktionale vs. nicht funktionale Anforderungen – der Unterschied, den Anfänger oft übersehen</title>
      <link>https://magicmarcy.de/funktionale-vs-nicht-funktionale-anforderungen</link>
      <image/>
      <description>&lt;p&gt;Wenn du Software entwickelst, stolperst du früher oder später über die Begriffe "funktionale Anforderungen" und "nicht funktionale Anforderungen". Diese tauchen in Fachbüchern, in Tickets und in Meetings auf, oft so, als wäre das alles selbstverständlich. Ist es aber nicht - gerade als Einsteiger fühlt sich das schnell nach Theorie-Kauderwelsch an.</description>
      <pubDate>Thu, 05 Feb 2026 17:36:00 +0100</pubDate>
      <guid isPermaLink="false">d942e430c9570fd65450bdcd517c7605</guid>
    </item>
    <item>
      <title>Fail Fast statt spät kaputt: Sauberer Java-Code durch klare Vorbedingungen</title>
      <link>https://magicmarcy.de/fail-fast-statt-spaet-kaputt</link>
      <image/>
      <description>&lt;p&gt;Wenn du gerade erst mit dem Programmieren in Java startest, wirst du relativ schnell über einen Begriff stolpern: &amp;quot;Fail Fast&amp;quot;. Klingt erstmal nach einem fancy Buzzword, steckt aber etwas sehr Handfestes dahinter: Der Code soll möglichst früh, möglichst klar und möglichst laut kaputtgehen, wenn etwas nicht stimmt. Genau darum geht es hier.</description>
      <pubDate>Tue, 03 Feb 2026 17:54:22 +0100</pubDate>
      <guid isPermaLink="false">e9a69fe84ed3463df258358f97e33bff</guid>
    </item>
    <item>
      <title>Vibe-Coding: Abkürzung oder Lernbooster?</title>
      <link>https://magicmarcy.de/vibe-coding-abkuerzung-oder-lernbooster</link>
      <image/>
      <description>&lt;p&gt;Mit „Vibe-Coding“ meine ich eine Art zu programmieren, bei der du dich stark auf das Gefühl verlässt: Du beschreibst eine Aufgabe in natürlicher Sprache, eine KI liefert Code, und du übernimmst ihn, weil er plausibel aussieht und schnelle Ergebnisse bringt. Das kann von „schreib mir eine Utility-Methode“ bis hin zu „baue mir einen REST-Endpunkt mit Validierung“ reichen. Der Vorteil liegt auf der Hand: Du kommst zügig in Bewegung, bekommst Beispiele, Formulierungen und Strukturen, die du sonst erst mühsam zusammensuchen würdest.</description>
      <pubDate>Sun, 01 Feb 2026 17:46:58 +0100</pubDate>
      <guid isPermaLink="false">bafe3cb9ba01061ac7cfe2b28f208d6e</guid>
    </item>
    <item>
      <title>Der Comparator in Java: Dein Werkzeug für präzise und flexible Sortierungen</title>
      <link>https://magicmarcy.de/der-comparator-in-java</link>
      <image/>
      <description>&lt;p&gt;Der Comparator begegnet dir in Java spätestens dann, wenn du anfängst, Listen nicht nur "irgendwie", sondern gezielt nach bestimmten Eigenschaften sortieren zu wollen. Vielleicht willst du Modelle nach einem Feld ordnen, Daten fürs Frontend vorbereiten oder einfach nur eine Liste von Objekten sauber und strukturiert ausgeben. Genau hier spielt der Comparator seine Stärken aus: Du kannst Vergleichslogik definieren, ohne deine Klassen selbst anzupassen, und behältst dabei volle Kontrolle über das Sortierverhalten.</description>
      <pubDate>Thu, 29 Jan 2026 17:57:07 +0100</pubDate>
      <guid isPermaLink="false">76811ac99fc5f0db75395940afce9e68</guid>
    </item>
    <item>
      <title>Streams in Java - der moderne Ansatz für sauberen und ausdrucksstarken Code</title>
      <link>https://magicmarcy.de/streams-in-java</link>
      <image/>
      <description>&lt;p&gt;Streams sind eine der Sachen in Java, die am Anfang ein bisschen ungewohnt aussehen, aber im Alltag extrem praktisch werden. Gerade wenn du noch nicht lange programmierst, wirkt der &amp;quot;Punkt-Operator-Marathon&amp;quot; schnell nach &amp;quot;Magie&amp;quot;. In Wirklichkeit ist das Ganze aber ziemlich bodenständig: Streams helfen dir dabei, mit Datenfolgen (Listen, Arrays, Sets, whatever) lesbarer und kürzer zu arbeiten.</description>
      <pubDate>Tue, 27 Jan 2026 17:45:37 +0100</pubDate>
      <guid isPermaLink="false">025722a5f31ab295b02b683110972d63</guid>
    </item>
    <item>
      <title>Lambdas in Java - kompakt, flexibel und überraschend mächtig</title>
      <link>https://magicmarcy.de/lambdas-in-java</link>
      <image/>
      <description>&lt;p&gt;Lambdas in Java wirken am Anfang ein bisschen abstrakt: Pfeile, viele runde Klammern und irgendwo soll dann &amp;quot;funktionale Programmierung&amp;quot; passieren. In Wahrheit sind Lambdas aber vor allem eins: eine kompakte Schreibweise um dir das Leben im Alltag mit Java deutlich leichter zu machen.&lt;/p&gt;
&lt;p&gt;In diesem Artikel schauen wir uns an, was Lambdas sind, wofür du sie brauchst und wie du den Aufbau Schritt für Schritt verstehst. Das Ziel: Du sollst nachher ohne Bauchschmerzen ein einfaches Lambda schreiben können und ungefähr wissen, was in der Sprache im Hintergrund passiert.</description>
      <pubDate>Sun, 25 Jan 2026 17:32:16 +0100</pubDate>
      <guid isPermaLink="false">959ad7035217d318d64c02981717a1f6</guid>
    </item>
    <item>
      <title>Was lebenslanges Lernen für Entwickler wirklich bedeutet</title>
      <link>https://magicmarcy.de/was-lebenslanges-lernen-fuer-entwickler-wirklich-bedeutet</link>
      <image/>
      <description>&lt;p&gt;Als Programmierer zu arbeiten bedeutet lebenslanges Lernen; diesen Satz hast du vermutlich schon häufiger gehört. Er klingt schnell nach Druck, nach Verpflichtung und vielleicht sogar danach, dass man permanent etwas verpassen könnte. Doch eigentlich beschreibt er einen ganz natürlichen Prozess. </description>
      <pubDate>Fri, 23 Jan 2026 17:36:32 +0100</pubDate>
      <guid isPermaLink="false">b5d24335a7b0cd1be66de46e04c0cb2d</guid>
    </item>
    <item>
      <title>Commit-Nachrichten sind keine Nebensache</title>
      <link>https://magicmarcy.de/commit-nachrichten-sind-keine-nebensache</link>
      <image/>
      <description>&lt;p&gt;Commit-Nachrichten sind oft das unterschätzteste Werkzeug in der Softwareentwicklung. Während Code-Qualität, Architekturentscheidungen oder Testabdeckung regelmäßig im Mittelpunkt stehen, geraten Commit-Messages häufig in den Hintergrund. Dabei sind sie weit mehr als nur ein notwendiger Begleittext für Versionskontrollsysteme. Sie sind ein zentraler Bestandteil der Kommunikation im Entwicklungsteam und ein wichtiges Werkzeug für Wartung, Nachvollziehbarkeit und Qualitätssicherung. Wer sie stiefmütterlich behandelt, schafft langfristig Probleme - für sich selbst und für alle, die am gleichen Projekt arbeiten.</description>
      <pubDate>Wed, 21 Jan 2026 18:16:38 +0100</pubDate>
      <guid isPermaLink="false">e2d90427eb45a77e84e59690ccdbcbe4</guid>
    </item>
    <item>
      <title>Java Beans - das Herz vieler Java-Anwendungen</title>
      <link>https://magicmarcy.de/java-beans-das-herz-vieler-java-anwendungen</link>
      <image/>
      <description>&lt;p&gt;Wenn man anfängt, Java zu lernen, stößt man früher oder später auf den Begriff Bean. Viele kennen Java Beans vielleicht vom Hörensagen oder aus Frameworks wie Spring oder Jakarta EE, aber was genau ist eigentlich eine Bean, und warum ist sie so wichtig? In diesem Beitrag schauen wir uns das Thema Schritt für Schritt an - ganz ohne Fachchinesisch, aber mit vielen praktischen Beispielen.</description>
      <pubDate>Mon, 19 Jan 2026 17:39:08 +0100</pubDate>
      <guid isPermaLink="false">959f436af28fc55254fa9708d04073c7</guid>
    </item>
    <item>
      <title>Wie man mit Git arbeitet und warum</title>
      <link>https://magicmarcy.de/wie-man-mit-git-arbeitet-und-warum</link>
      <image/>
      <description>&lt;p&gt;Git ist eines dieser Werkzeuge, das am Anfang wie ein unbezwingbarer Berg aussieht. Viele Begriffe wirken abstrakt, und der Workflow erscheint kompliziert. Doch sobald man die Grundprinzipien verstanden hat, wird Git zu einem deiner verlässlichsten Begleiter im Entwickleralltag. In diesem Beitrag möchte ich dir die wichtigsten Git Basics vermitteln - praxisnah und so verständlich wie möglich.</description>
      <pubDate>Sat, 17 Jan 2026 17:50:20 +0100</pubDate>
      <guid isPermaLink="false">9ee2517ee132c099800772e2f7f552da</guid>
    </item>
    <item>
      <title>Die Kaffeepause</title>
      <link>https://magicmarcy.de/die-kaffeepause</link>
      <image/>
      <description>&lt;p&gt;Es gibt diese Tage im Entwicklerleben, an denen du eigentlich ganz optimistisch startest: Du setzt Dich an den Rechner, öffnest deine IDE, nimmst einen ersten kleinen Schluck aus deiner Tasse, eher aus Gewohnheit als aus Notwendigkeit, und denkst: „Heute wird ein guter Tag.“ Und theoretisch hätte das sogar stimmen können, wäre da nicht der Umstand, dass Projekte, Anforderungen und Realität selten genau nach deinem Plan arbeiten.</description>
      <pubDate>Thu, 15 Jan 2026 17:34:19 +0100</pubDate>
      <guid isPermaLink="false">20804c3c03ee9dab013aceeeaf1ce894</guid>
    </item>
    <item>
      <title>Das Lasten- und Pflichtenheft</title>
      <link>https://magicmarcy.de/das-lasten-und-pflichtenheft</link>
      <image/>
      <description>&lt;p&gt;Wer in der Softwareentwicklung an professionellen Projekten mitarbeitet, trifft früher oder später auf zwei zentrale Dokumente: das Lastenheft und das Pflichtenheft. Beide klingen zunächst ähnlich, erfüllen aber unterschiedliche Aufgaben. Für Einsteigerinnen und Einsteiger, die zum ersten Mal mit Kundenanforderungen, technischen Entscheidungen oder Projektplanung zu tun haben, lohnt sich ein genauer Blick auf diese beiden Begriffe. Sie helfen dabei, ein gemeinsames Verständnis zwischen allen Beteiligten zu schaffen und sorgen dafür, dass ein Projekt nicht in die falsche Richtung läuft.</description>
      <pubDate>Tue, 13 Jan 2026 17:59:22 +0100</pubDate>
      <guid isPermaLink="false">ed45851bd4c3502328eda90d8179ffd2</guid>
    </item>
    <item>
      <title>Warum kleine Programmier-Projekte keine Verschwendung sind</title>
      <link>https://magicmarcy.de/warum-kleine-programmier-projekte-keine-verschwendung-sind</link>
      <image/>
      <description>&lt;p&gt;Wer mit dem Programmieren beginnt, stößt früher oder später auf die Frage, ob sich kleine Projekte eigentlich lohnen. Gemeint sind kurze Experimente, ein einzelnes Feature, ein Mini-Tool oder ein winziges Spiel, das vielleicht nie jemand außer dir selbst sieht. Auf den ersten Blick wirken solche Vorhaben unscheinbar und manche Einsteiger fragen sich, ob sie ihre Zeit nicht besser in ein großes, umfassendes Projekt investieren sollten. Doch genau hier liegt ein weit verbreitetes Missverständnis. </description>
      <pubDate>Sat, 10 Jan 2026 17:36:24 +0100</pubDate>
      <guid isPermaLink="false">a12529efd60d4941c5585c190363d346</guid>
    </item>
    <item>
      <title>Was ist eigentlich Ajax?</title>
      <link>https://magicmarcy.de/was-ist-eigentlich-ajax</link>
      <image/>
      <description>&lt;p&gt;Ajax ist eines dieser Themen, das man am Anfang häufig hört, aber selten wirklich versteht. Und das ist völlig normal. Wenn man frisch in der Java-Entwicklung mit JSF einsteigt, prasseln viele Konzepte gleichzeitig auf einen ein: Managed Beans, Scopes, XHTML, Komponenten, Navigation - und dann ruft plötzlich jemand: &amp;quot;Mach das doch einfach per Ajax!&amp;quot;&lt;/p&gt;
&lt;p&gt;In diesem Beitrag zeige ich dir ganz einfach und praxisnah, wie Ajax in JSF und PrimeFaces funktioniert, warum es so hilfreich ist und wie du es selbst einsetzen kannst. Du brauchst dafür keine Vorkenntnisse über komplexe Webtechnologien. Alles, was du brauchst, ist etwas Neugier und die Bereitschaft, ein paar Zeilen Code auszuprobieren.</description>
      <pubDate>Fri, 09 Jan 2026 17:30:42 +0100</pubDate>
      <guid isPermaLink="false">ac0928a6d952897b612da4ba941d822e</guid>
    </item>
    <item>
      <title>Reflection in Java - Flexibilität mit Risiko</title>
      <link>https://magicmarcy.de/reflection-in-java-flexibilitaet-mit-risiko</link>
      <image/>
      <description>&lt;p&gt;Reflection in Java ist eines der spannendsten, aber auch eines der am häufigsten missverstandenen Themen unter Programmier-Einsteigern. Gerade zu Beginn wirkt es wie Magie: Du kannst zur Laufzeit Informationen über Klassen abrufen, Methoden aufrufen, Felder lesen oder setzen und sogar Objekte instanziieren, ohne die Klasse vorher zu kennen. Genau diese Flexibilität ist mächtig - aber sie bringt auch Risiken mit sich. In diesem Beitrag möchte ich dir Reflection so erklären, dass du sie wirklich verstehst, und gleichzeitig ein Gefühl dafür bekommst, wann du sie einsetzen solltest und wann nicht.</description>
      <pubDate>Tue, 06 Jan 2026 17:33:54 +0100</pubDate>
      <guid isPermaLink="false">cbe6da667e39d9c96b9827d9faa9abf7</guid>
    </item>
    <item>
      <title>Der Unterschied zwischen strukturierter, prozedualer und objektorientierter Programmierung</title>
      <link>https://magicmarcy.de/der-unterschied-zwischen-strukturierter-prozedualer-und-objektorientierter-programmierung</link>
      <image/>
      <description>&lt;p&gt;Wer mit der Programmierung beginnt, begegnet früher oder später drei grundlegenden Denkweisen: der strukturierten, der prozedualen und der objektorientierten Programmierung. Diese Begriffe wirken anfangs technisch und abstrakt, beschreiben aber im Kern nur unterschiedliche Arten, wie ein Problem in klaren Schritten gelöst und wie Code organisiert werden kann. Wer die Unterschiede versteht, kann besser einschätzen, warum moderne Anwendungen so aufgebaut sind, wie sie sind, und wie sich Programme sinnvoll strukturieren lassen. Besonders in einer Sprache wie Java ist dieses Wissen entscheidend, um robuste und wartbare Software zu schreiben.</description>
      <pubDate>Sat, 03 Jan 2026 17:49:19 +0100</pubDate>
      <guid isPermaLink="false">842a66871e148843a148f536e8fcf675</guid>
    </item>
    <item>
      <title>Warum ich meine Blogbeiträge auf Deutsch schreibe</title>
      <link>https://magicmarcy.de/warum-ich-meine-blogbeitraege-auf-deutsch-schreibe</link>
      <image/>
      <description>&lt;p&gt;Es gibt diese Momente im Leben eines Entwicklers, in denen man sich fragt: „Warum tue ich mir das eigentlich an?“&lt;br /&gt;
Nein, ich spreche nicht von den Tagen, an denen der Build 20 Minuten braucht, um mir dann mitzuteilen, dass irgendwo ein Semikolon fehlt. Ich spreche vom Lernen selbst - diesem aufregenden, aber manchmal auch nervenaufreibenden Abenteuer, in dem man jeden Tag ein kleines bisschen besser versteht, was im Hintergrund eigentlich passiert.</description>
      <pubDate>Thu, 01 Jan 2026 17:36:15 +0100</pubDate>
      <guid isPermaLink="false">ece12398e8a40112d9453c57531bd669</guid>
    </item>
    <item>
      <title>Maven - was ist das überhaupt?</title>
      <link>https://magicmarcy.de/maven-was-ist-das-ueberhaupt</link>
      <image/>
      <description>&lt;p&gt;Maven ist für viele Java-Einsteiger eines der ersten Werkzeuge, die ihnen im Projektalltag begegnen. Und oft wirkt es am Anfang abstrakt: eine &lt;code&gt;pom.xml&lt;/code&gt;, viele unbekannte Elemente, fremde Ordnerstruktur, automatische Downloads - was passiert hier eigentlich? Als Ausbilder sehe ich immer wieder, wie sehr Maven den Einstieg erleichtern kann, wenn man einmal verstanden hat, was es macht: Es organisiert dein Projekt, verwaltet Abhängigkeiten, baut dein Programm und sorgt dafür, dass es auf jedem Rechner gleich gebaut werden kann. In diesem Beitrag führe ich dich Schritt für Schritt durch die Grundlagen.</description>
      <pubDate>Tue, 30 Dec 2025 17:21:49 +0100</pubDate>
      <guid isPermaLink="false">7ce204cc36bf37f839dd643db3d84173</guid>
    </item>
    <item>
      <title>Fehleranalyse - Wenn der Teufel im Detail steckt</title>
      <link>https://magicmarcy.de/fehleranalyse-wenn-der-teufel-im-detail-steckt</link>
      <image/>
      <description>&lt;p&gt;Fehleranalyse in komplexen JavaEE-Anwendungen wirkt für viele Einsteiger zunächst wie ein undurchsichtiger Prozess. Im Alltag treffen unterschiedliche Frameworks, Serverkonfigurationen, Datenbanken und Frontend-Komponenten aufeinander. Wenn irgendwo etwas nicht so funktioniert, wie es soll, entsteht schnell das Gefühl, den Überblick zu verlieren. Dabei ist erfolgreiche Fehlersuche weniger eine Frage des Bauchgefühls als vielmehr eine Frage strukturierter Vorgehensweisen. Wer versteht, wie Fehler entstehen und wie sie sich in einer typischen JavaEE-Umgebung äußern, kann systematisch, ruhig und zielgerichtet arbeiten. Genau das schafft langfristig Sicherheit im Umgang mit komplexen Systemen.</description>
      <pubDate>Sat, 27 Dec 2025 17:17:47 +0100</pubDate>
      <guid isPermaLink="false">4a3f86fa874e54aa4285479a9cd8cce2</guid>
    </item>
    <item>
      <title>Zu viel KI, zu wenig Substanz: wie AI Slop Wissen langfristig verändert</title>
      <link>https://magicmarcy.de/zu-viel-ki-zu-wenig-substanz-wie-ai-slop-wissen-langfristig-veraendert</link>
      <image/>
      <description>&lt;p&gt;Wenn du den Begriff &amp;quot;AI Slop&amp;quot; zum ersten Mal hörst, klingt das ein bisschen nach Fast Food für Daten: schnell, billig, füllend, aber meistens eher fragwürdig. Gemeint ist im Kern genau das: KI-generierter Müll, der das Netz und zunehmend auch die echte Welt zumüllt. Text, Bilder, Videos, Produkte, Services - alles, was sich halbautomatisch mit künstlicher Intelligenz erzeugen lässt, landet irgendwo im Umlauf. Und die entscheidende Frage ist nicht mehr, ob uns das gefällt, sondern wie wir damit leben, weil: Das geht nicht wieder weg.</description>
      <pubDate>Thu, 25 Dec 2025 17:28:12 +0100</pubDate>
      <guid isPermaLink="false">26b267c534ef4499da6d1434a3fcafa0</guid>
    </item>
    <item>
      <title>Es ist nie zu spät, neu anzufangen</title>
      <link>https://magicmarcy.de/es-ist-nie-zu-spaet-neu-anzufangen</link>
      <image/>
      <description>&lt;p&gt;Wir werden ja alle nicht jünger - und irgendwie ist das auch gut so. Der Jungbrunnen muss erst noch erfunden werden oder wurde bislang einfach noch nicht entdeckt. Die Zeit schreitet unaufhörlich voran, und gefühlt hat sie das noch nie so schnell getan wie heute. Gerade in der Welt der Technik jagt ein Meilenstein den nächsten. Wir entwickeln Neues, bevor wir das Alte überhaupt richtig verstanden oder hinterfragt haben. Manchmal habe ich das Gefühl, die Welt rennt - und wir müssen entscheiden, ob wir mitlaufen oder stehen bleiben.</description>
      <pubDate>Wed, 24 Dec 2025 17:04:10 +0100</pubDate>
      <guid isPermaLink="false">1cc465134698c4e016ebfb7e8f6b5ae8</guid>
    </item>
    <item>
      <title>Immutability – Warum Unveränderlichkeit so wichtig ist</title>
      <link>https://magicmarcy.de/immutability-%E2%80%93-warum-unveraenderlichkeit-so-wichtig-ist</link>
      <image/>
      <description>&lt;p&gt;Wenn du in Java programmierst, wirst du früher oder später auf den Begriff Immutability stoßen. Wörtlich übersetzt bedeutet das „Unveränderlichkeit“. Eine &lt;em&gt;immutable&lt;/em&gt; Klasse ist also eine Klasse, deren Objekte nach ihrer Erstellung nicht mehr verändert werden können.</description>
      <pubDate>Mon, 22 Dec 2025 17:36:51 +0100</pubDate>
      <guid isPermaLink="false">76ddcdea800166abec194d3f2c726e01</guid>
    </item>
    <item>
      <title>Equals, HashCode und toString richtig implementieren</title>
      <link>https://magicmarcy.de/equals-hashcode-und-tostring-richtig-implementieren</link>
      <image/>
      <description>&lt;p&gt;Wer in Java eigene Klassen schreibt, kommt früher oder später an den Punkt, an dem &lt;code&gt;equals()&lt;/code&gt;, &lt;code&gt;hashCode()&lt;/code&gt; und &lt;code&gt;toString()&lt;/code&gt; relevant werden. Diese drei Methoden stammen alle aus der Klasse &lt;code&gt;Object&lt;/code&gt;, also der obersten Basisklasse in Java. Deshalb hat jede Klasse sie automatisch - aber oft reicht die Standard-Implementierung nicht aus. Besonders wenn du Objekte miteinander vergleichen oder in Collections wie &lt;code&gt;HashSet&lt;/code&gt; oder &lt;code&gt;HashMap&lt;/code&gt; speichern möchtest, wird es wichtig, diese Methoden richtig zu überschreiben.</description>
      <pubDate>Sat, 20 Dec 2025 17:48:24 +0100</pubDate>
      <guid isPermaLink="false">8fe13b1bffe40f85ef8dfbfe9582f63e</guid>
    </item>
    <item>
      <title>Der Unterschied zwischen „funktioniert“ und „ist fertig“</title>
      <link>https://magicmarcy.de/der-unterschied-zwischen-funktioniert-und-ist-fertig</link>
      <image/>
      <description>&lt;p&gt;Es gibt einen entscheidenden Moment in der Softwareentwicklung, an dem sich zeigt, ob jemand wirklich verstanden hat, was professionelles Programmieren bedeutet: der Moment, in dem der Code zwar „funktioniert“, aber noch längst nicht „fertig“ ist. Viele verwechseln diese beiden Zustände. Ein Stück Software, das „funktioniert“, erfüllt vielleicht auf den ersten Blick seinen Zweck – es liefert das erwartete Ergebnis, zeigt keine offensichtlichen Fehler und läuft ohne Absturz. Doch „fertig“ ist sie erst, wenn sie auch in einem halben Jahr, nach mehreren Änderungen, neuen Anforderungen und einem anderen Entwickler am Code, noch zuverlässig und nachvollziehbar funktioniert.</description>
      <pubDate>Thu, 18 Dec 2025 17:47:12 +0100</pubDate>
      <guid isPermaLink="false">1009617c7903be7481f4f2a1f6f5a0cc</guid>
    </item>
    <item>
      <title>Text-Blöcke in Java</title>
      <link>https://magicmarcy.de/text-bloecke-in-java</link>
      <image/>
      <description>&lt;p&gt;Wer schon ein paar Monate mit Java arbeitet, kennt das Problem: Man möchte längere Texte in seinen Code schreiben - etwa ein JSON, ein SQL-Statement oder einfach einen mehrzeiligen String. Und dann beginnt das Chaos. Überall Anführungszeichen, Escape-Zeichen und Zeilenumbrüche mit &lt;code&gt;\n&lt;/code&gt;. Der Code wird unübersichtlich und fehleranfällig. Genau hier kommen &lt;strong&gt;Textblöcke&lt;/strong&gt; ins Spiel - eine der angenehmsten Neuerungen, die Java in den letzten Jahren eingeführt hat.</description>
      <pubDate>Mon, 15 Dec 2025 17:53:04 +0100</pubDate>
      <guid isPermaLink="false">393afd26b2692061d8d8465f8792ce09</guid>
    </item>
    <item>
      <title>MagicSudoku</title>
      <link>https://magicmarcy.de/magic-sudoku</link>
      <image/>
      <description>&lt;p&gt;Statt Word-Ratespiel gibt’s heute Zahlenlogik: Magic Sudoku ist das tägliches 9×9-Puzzle für alle, die sonst nur mit 0 und 1 arbeiten. Die Regeln sind simpel: In jeder Zeile, Spalte und in jedem 3×3-Block dürfen die Zahlen 1–9 nur einmal vorkommen. Alles andere ist „Bug“.&lt;/p&gt;
&lt;p&gt;Jeden Tag wartet ein neues Sudoku auf dich. Sobald du es gelöst hast, wird dein Erfolg lokal im Browser gespeichert - und du siehst, wann das nächste Daily freigeschaltet wird.&lt;/p&gt;
&lt;p&gt;Bereit für ein bisschen „Constraint-Debugging“ ohne IDE? Löse das Daily, kopiere dein Ergebnis (inkl. Zeit) und zeige der Welt, dass du nicht nur Code, sondern auch Logik sauber zu Ende bringst.&lt;/p&gt;
&lt;p&gt;Viel Spaß!&lt;/p&gt;</description>
      <pubDate>Sun, 14 Dec 2025 10:00:05 +0100</pubDate>
      <guid isPermaLink="false">c84b8bd0abc429daa1f99d439d430a7d</guid>
    </item>
    <item>
      <title>Static vs. Instanzkontext - Wo Java-Einsteiger ins Stolpern geraten</title>
      <link>https://magicmarcy.de/static-vs-instanzkontext-%E2%80%93-wo-java-einsteiger-ins-stolpern-geraten</link>
      <image/>
      <description>&lt;p&gt;Einer der häufigsten Stolpersteine für Programmieranfänger in Java ist das Thema &lt;strong&gt;static vs. Instanzkontext&lt;/strong&gt;. Viele stoßen beim Lernen schnell auf Fehlermeldungen wie „non-static variable cannot be referenced from a static context“ und wissen nicht genau, warum das passiert. In diesem Beitrag möchte ich dir anschaulich erklären, was es mit diesen beiden „Welten“ auf sich hat, wann du was verwendest und warum dieser Unterschied in Java so wichtig ist.</description>
      <pubDate>Sat, 13 Dec 2025 17:49:31 +0100</pubDate>
      <guid isPermaLink="false">d06af497e062bf55204b460b707ae4ed</guid>
    </item>
    <item>
      <title>Code ist Kommunikation - nicht nur für Compiler</title>
      <link>https://magicmarcy.de/code-ist-kommunikation-%E2%80%93-nicht-nur-fuer-compiler</link>
      <image/>
      <description>&lt;p&gt;Wenn man über Programmierung spricht, denkt man oft an Logik, Algorithmen und Syntax. Doch im Kern ist Code mehr als nur eine Abfolge von Befehlen, die ein Computer ausführt. Code ist Kommunikation – eine Form des Ausdrucks zwischen Menschen, die eine Maschine als Übersetzer nutzt. Der Compiler mag der erste sein, der den Code liest, aber er ist nicht der wichtigste Adressat. Der wichtigste Leser ist immer ein Mensch.</description>
      <pubDate>Thu, 11 Dec 2025 17:52:48 +0100</pubDate>
      <guid isPermaLink="false">1a5db583067b9249ac6b471adcbc8ac6</guid>
    </item>
    <item>
      <title>Willkommen in der Realität der Softwareentwicklung</title>
      <link>https://magicmarcy.de/willkommen-in-der-realitaet-der-softwareentwicklung</link>
      <image/>
      <description>&lt;p&gt;Du sitzt vor deinem Rechner, IntelliJ ist offen, der Cursor blinkt. Vielleicht hast du gerade deine ersten Schritte mit Java hinter dir, verstehst die Syntax, weißt, was eine Klasse und was ein Objekt ist. Und dann öffnest du GitHub oder Stack Overflow und wirst erschlagen. Docker, Kubernetes, Wildfly, Maven, Jakarta EE, Microservices, CI/CD, Cloud Native. Die Liste der Buzzwords scheint endlos und jeden Tag kommt ein neues Framework dazu, das angeblich alles verändert. Da kommt schnell das Gefühl auf, dass du niemals genug wissen wirst, um in diesem Job wirklich gut zu sein. Atme tief durch. Das ist völlig normal. Willkommen in der Realität der Softwareentwicklung.</description>
      <pubDate>Wed, 10 Dec 2025 17:50:02 +0100</pubDate>
      <guid isPermaLink="false">3c6b282e0d79babcbaf93e09a794892d</guid>
    </item>
    <item>
      <title>Lokale Variablen mit var? Das ist doch JavaScript, oder?</title>
      <link>https://magicmarcy.de/lokale-variablen-mit-var-das-ist-doch-javascript-oder</link>
      <image/>
      <description>&lt;p&gt;Wenn du in den letzten Jahren mit Java gearbeitet hast, ist dir vielleicht schon das Schlüsselwort &lt;code&gt;var&lt;/code&gt; begegnet. Ja, du hast richtig gelesen: in Java! Denn schon seit Java 10 kannst du damit lokale Variablen deklarieren, ohne ihren Typ explizit anzugeben. Das ist eine praktische Erweiterung - aber wie so oft in der Programmierung steckt der Teufel im Detail. Heute schauen wir uns an, was &lt;code&gt;var&lt;/code&gt; genau macht, wann es hilfreich ist und wann du lieber darauf verzichten solltest.</description>
      <pubDate>Mon, 08 Dec 2025 17:42:04 +0100</pubDate>
      <guid isPermaLink="false">0124be4cbdc44042871380221d2e4400</guid>
    </item>
    <item>
      <title>MagicWordle</title>
      <link>https://magicmarcy.de/magic-wordle</link>
      <image/>
      <description>&lt;p data-start="273" data-end="579"&gt;Statt gewöhnlicher Alltagsbegriffe erwarten dich hier ausschließlich Wörter aus der Welt der Programmierung, Softwareentwicklung und IT. Von bekannten Basics bis zu fiesen Fachbegriffen - nur wer Code liebt oder täglich damit kämpft, hat hier echte Chancen. Jeden Tag erwartet dich ein neues Rätsel welches es zu lösen gilt. Kein Problem für dich, oder?&lt;/p&gt;
&lt;p data-start="581" data-end="643"&gt;Bist du bereit, dein Entwicklerwissen unter Beweis zu stellen? Teile dein Ergebnis und beweise, dass dein Entwicklerego vollkommen zurecht existiert!</description>
      <pubDate>Sun, 07 Dec 2025 12:00:00 +0100</pubDate>
      <guid isPermaLink="false">4530c899a3ab431d37d9cb466b6a4923</guid>
    </item>
    <item>
      <title>Das Builder Pattern - verständlich erklärt</title>
      <link>https://magicmarcy.de/das-builder-pattern-%E2%80%93-verstaendlich-erklaert</link>
      <image/>
      <description>&lt;p&gt;Wenn du schon einmal ein Objekt mit vielen Parametern im Konstruktor hattest, weißt du, wie schnell der Code unübersichtlich wird. Besonders bei Klassen, die viele optionale Eigenschaften haben, kann das Lesen und Erstellen solcher Objekte mühsam werden. Genau hier hilft das &lt;em&gt;Builder Pattern&lt;/em&gt;. Es sorgt dafür, dass dein Code besser lesbar, wartbarer und weniger fehleranfällig wird.</description>
      <pubDate>Fri, 05 Dec 2025 17:51:11 +0100</pubDate>
      <guid isPermaLink="false">84e84477022e3d832218eae73d695699</guid>
    </item>
    <item>
      <title>try-with-resources - endlich kein Ressourcen-Chaos mehr</title>
      <link>https://magicmarcy.de/try-with-resources</link>
      <image/>
      <description>&lt;p&gt;Wenn man in Java mit Dateien, Streams oder Datenbanken arbeitet, stößt man schnell auf das Thema Ressourcenmanagement. Vielleicht kennst du das Problem: Du öffnest eine Datei, liest etwas heraus und am Ende musst du sie wieder schließen. Klingt einfach, aber was passiert, wenn mitten im Code eine Exception geworfen wird? Wird die Ressource dann trotzdem geschlossen? Genau dafür gibt es seit Java 7 eine elegante Lösung: &lt;code&gt;try-with-resources&lt;/code&gt;.</description>
      <pubDate>Wed, 03 Dec 2025 17:42:35 +0100</pubDate>
      <guid isPermaLink="false">65ad2291acd457e9f1cc98857097643e</guid>
    </item>
    <item>
      <title>Optionals in Java - warum sie so wichtig sind und wie du sie richtig einsetzt</title>
      <link>https://magicmarcy.de/optionals-in-java</link>
      <image/>
      <description>&lt;p&gt;Wenn du mit Java arbeitest, wirst du früher oder später auf das Thema &lt;code&gt;Optional&lt;/code&gt; stoßen. Gerade für Einsteiger ist das anfangs oft verwirrend. Warum braucht man das überhaupt? Wieso kann man nicht einfach &lt;code&gt;null&lt;/code&gt; verwenden? Und wie geht man richtig damit um? In diesem Beitrag möchte ich dir zeigen, was &lt;code&gt;Optional&lt;/code&gt; ist, wofür es gedacht ist und wie du es praktisch einsetzen kannst, um sauberen, lesbaren und sicheren Code zu schreiben.</description>
      <pubDate>Mon, 01 Dec 2025 17:49:12 +0100</pubDate>
      <guid isPermaLink="false">7b3e55efdfd9b3053033f4bb0107ff01</guid>
    </item>
    <item>
      <title>Pattern Matching for instanceof</title>
      <link>https://magicmarcy.de/pattern-matching-for-instanceof</link>
      <image/>
      <description>&lt;p&gt;Wer mit Java arbeitet, kennt den Operator &lt;code&gt;instanceof&lt;/code&gt; wahrscheinlich schon länger. Er wird genutzt, um zu prüfen, ob ein Objekt einer bestimmten Klasse oder einem bestimmten Typ entspricht. Doch seit Java 16 gibt es eine deutliche Verbesserung: Pattern Matching für instanceof. Diese Neuerung sorgt nicht nur für kompakteren Code, sondern macht ihn auch sicherer und besser lesbar - besonders für Einsteiger ist das ein echter Gewinn.</description>
      <pubDate>Sat, 29 Nov 2025 17:58:56 +0100</pubDate>
      <guid isPermaLink="false">276a0097949dbfe479459430a64647ac</guid>
    </item>
    <item>
      <title>Sealed Classes? Was ist denn das schon wieder?</title>
      <link>https://magicmarcy.de/sealed-classes</link>
      <image/>
      <description>&lt;p&gt;Sealed Classes wurden mit Java 17 eingeführt und sind eines dieser Features, das man beim ersten Lesen vielleicht überfliegt, aber beim genaueren Hinsehen richtig spannend wird - vor allem, wenn man versteht, wofür sie gedacht sind. In diesem Beitrag möchte ich dir als Einsteiger zeigen, was es mit Sealed Classes auf sich hat, warum sie nützlich sind und wie du sie praktisch einsetzen kannst.&lt;/p&gt;
&lt;p&gt;Sealed Classes erlauben dir, ganz genau festzulegen, welche Klassen oder Interfaces von einer bestimmten Klasse erben dürfen. Damit bekommst du mehr Kontrolle über deine Vererbungshierarchie, ohne gleich alles mit &lt;code&gt;final&lt;/code&gt; oder Paketgrenzen zu „verbauen“. Es ist also eine Art „gezielte Freiheit“ in der Vererbung.</description>
      <pubDate>Thu, 27 Nov 2025 17:46:42 +0100</pubDate>
      <guid isPermaLink="false">164a09e36e323018caa1360cea159293</guid>
    </item>
    <item>
      <title>Geduld ist ein Feature, kein Bug</title>
      <link>https://magicmarcy.de/geduld-ist-ein-feature-kein-bug</link>
      <image/>
      <description>&lt;p&gt;Es gibt kaum eine Eigenschaft, die in der Softwareentwicklung so unterschätzt wird wie Geduld. Dabei ist sie - und das meine ich vollkommen ernst - kein Hindernis, kein Mangel an Tempo oder Motivation. Sie ist ein Feature. Ein entscheidendes. Wer langfristig gute Software schreiben will, wer mit anderen zusammenarbeitet, wer junge Entwickler ausbildet oder Verantwortung trägt, wird früher oder später verstehen: Ohne Geduld läuft gar nichts. Und da muss ich mir immer wieder selbst an die eigene Nase fassen und mich auch immer wieder ehrlich selbst reflektieren.</description>
      <pubDate>Tue, 25 Nov 2025 17:34:50 +0100</pubDate>
      <guid isPermaLink="false">aeaab8837f328f667dba8be8a7bd499d</guid>
    </item>
    <item>
      <title>Verantwortung im Team: Wenn dein Code nicht nur deiner ist</title>
      <link>https://magicmarcy.de/verantwortung-im-team-wenn-dein-code-nicht-nur-deiner-ist</link>
      <image/>
      <description>&lt;p&gt;In der Softwareentwicklung wird oft von Zusammenarbeit, Teamgeist und Kommunikation gesprochen - doch einer der zentralsten Aspekte dieser Zusammenarbeit ist Verantwortung. Nicht Verantwortung im Sinne von „Wer ist schuld, wenn etwas schiefgeht“, sondern im Sinne von Bewusstsein: das Bewusstsein dafür, dass jede einzelne Codezeile, die man schreibt, Auswirkungen auf andere hat. Diese Verantwortung trägt jeder Entwickler, ob Berufseinsteiger oder Senior, ob Backend, Frontend oder Fullstack.</description>
      <pubDate>Sat, 22 Nov 2025 17:26:07 +0100</pubDate>
      <guid isPermaLink="false">f63b1c2cb95c1c9b670b9b3fc1732cf7</guid>
    </item>
    <item>
      <title>Eine neue (alte) Welt: JSF</title>
      <link>https://magicmarcy.de/eine-neue-alte-welt-jsf</link>
      <image/>
      <description>&lt;p&gt;Wenn man zum ersten Mal mit &lt;strong&gt;Jakarta Server Faces (JSF)&lt;/strong&gt; arbeitet, wirkt vieles zunächst etwas „magisch“. Plötzlich erscheinen Daten im Browser, ohne dass man genau weiß, wie sie dorthin kommen. Doch wenn man einmal verstanden hat, wie JSF im Hintergrund arbeitet, wird schnell klar, dass es sich um ein mächtiges Framework handelt, das die Entwicklung von serverseitigen Webanwendungen in Java stark vereinfacht. In diesem Beitrag schauen wir uns die Grundlagen von JSF an, verstehen den Lebenszyklus und lernen, wie man einfache Seiten mit Eingabeformularen und Ausgaben erstellt.</description>
      <pubDate>Wed, 19 Nov 2025 17:58:07 +0100</pubDate>
      <guid isPermaLink="false">756b729ef0a3a7b0e0a9cc565faece9c</guid>
    </item>
    <item>
      <title>Was ist künstliche Intelligenz eigentlich?</title>
      <link>https://magicmarcy.de/was-ist-kuenstliche-intelligenz-eigentlich</link>
      <image/>
      <description>&lt;p&gt;Künstliche Intelligenz, kurz KI, ist längst mehr als ein Schlagwort aus der Forschung. Sie hat sich zu einem festen Bestandteil moderner Softwareentwicklung entwickelt und beeinflusst, wie Anwendungen entworfen, entwickelt und betrieben werden. Dabei ist es wichtig zu verstehen, was genau hinter den Begriffen steckt, die in diesem Zusammenhang häufig fallen – Begriffe wie &lt;em&gt;Machine Learning&lt;/em&gt;, &lt;em&gt;Neural Network&lt;/em&gt;, &lt;em&gt;LLM &lt;/em&gt;oder &lt;em&gt;Prompt&lt;/em&gt;. Nur wer die grundlegenden Konzepte kennt, kann die Möglichkeiten und Grenzen dieser Technologie realistisch einschätzen.</description>
      <pubDate>Mon, 17 Nov 2025 18:09:05 +0100</pubDate>
      <guid isPermaLink="false">f463a4b72a0da8714fe203c76b1cc47e</guid>
    </item>
    <item>
      <title>Kennzeichnungspflicht für KI-Inhalte ab 2026: Was Blogger wissen sollten</title>
      <link>https://magicmarcy.de/verwendung-von-ki-in-meinem-beitraegen</link>
      <image/>
      <description>&lt;p&gt;Voraussichtlich ab dem 02.08.2026 tritt die neue Verordnung (EU) 2024/1689 - häufig KI-VO oder AI Act genannt - weitgehend in Kraft. Damit kommen unter anderem Kennzeichnungspflichten für Inhalte, die durch KI erstellt oder manipuliert wurden.</description>
      <pubDate>Sun, 16 Nov 2025 18:40:43 +0100</pubDate>
      <guid isPermaLink="false">75a693d8ba0bab8d444e4056d871291c</guid>
    </item>
    <item>
      <title>Enums, EnumSet &amp; EnumMap in Java – einfache Helfer mit grosser Wirkung</title>
      <link>https://magicmarcy.de/enums-enumset-enummap-in-java</link>
      <image/>
      <description>&lt;p&gt;Wer mit Java arbeitet, trifft früher oder später auf sogenannte &lt;em&gt;Enums&lt;/em&gt;. Für Einsteiger wirken sie anfangs vielleicht etwas seltsam – man könnte ja auch einfach Konstanten mit &lt;code&gt;public static final&lt;/code&gt; definieren. Doch Enums bieten viel mehr: sie sind typsicher, leicht erweiterbar und lassen sich hervorragend mit speziellen Sammlungen wie &lt;code&gt;EnumSet&lt;/code&gt; und &lt;code&gt;EnumMap&lt;/code&gt; kombinieren. In diesem Beitrag zeige ich dir, wie du diese Werkzeuge effektiv einsetzt.</description>
      <pubDate>Fri, 14 Nov 2025 18:09:20 +0100</pubDate>
      <guid isPermaLink="false">1c42c4c0efbb443f10c9b3f4bea7e209</guid>
    </item>
    <item>
      <title>Java Collections verstehen (List, Set, Map, Queue)</title>
      <link>https://magicmarcy.de/java-collections-verstehen-list-set-map-queue</link>
      <image/>
      <description>&lt;p&gt;Wer mit Java anfängt, stößt sehr schnell auf den Begriff &lt;em&gt;Collection&lt;/em&gt;. Gemeint ist damit nicht einfach irgendeine Liste, sondern ein ganzes Framework – also eine Sammlung von Schnittstellen und Klassen, die es uns ermöglichen, Daten komfortabel zu speichern, zu durchsuchen und zu verarbeiten. Für viele Einsteiger ist das am Anfang ein undurchsichtiger Dschungel: &lt;code&gt;ArrayList&lt;/code&gt;, &lt;code&gt;HashSet&lt;/code&gt;, &lt;code&gt;HashMap&lt;/code&gt;, &lt;code&gt;LinkedList&lt;/code&gt; – was ist was, und wann verwende ich welches?&lt;/p&gt;
&lt;p&gt;In diesem Beitrag möchte ich dir Schritt für Schritt zeigen, wie du die wichtigsten Typen der Java Collections verstehst und wie du sie praktisch einsetzen kannst. Wir konzentrieren uns dabei auf die vier Grundtypen: &lt;strong&gt;List&lt;/strong&gt;, &lt;strong&gt;Set&lt;/strong&gt;, &lt;strong&gt;Map&lt;/strong&gt; und &lt;strong&gt;Queue&lt;/strong&gt;. Ziel ist, dass du am Ende intuitiv weißt, wann du welche Datenstruktur verwendest und warum.</description>
      <pubDate>Wed, 12 Nov 2025 18:02:50 +0100</pubDate>
      <guid isPermaLink="false">df987d3f0a48ddf91ddf636d91f918ad</guid>
    </item>
    <item>
      <title>Java: Sichtbarkeiten - Das Geheimnisprinzip einfach erklärt</title>
      <link>https://magicmarcy.de/java-sichtbarkeiten-%E2%80%93-das-geheimnisprinzip-einfach-erklaert</link>
      <image/>
      <description>&lt;p&gt;In der objektorientierten Programmierung geht es nicht nur darum, was ein Programm kann, sondern auch darum, &lt;strong&gt;wer&lt;/strong&gt; was wissen darf. Genau hier setzt das sogenannte &lt;em&gt;Geheimnisprinzip&lt;/em&gt; an – oder etwas technischer formuliert: die &lt;strong&gt;Sichtbarkeit&lt;/strong&gt; von Variablen, Methoden und Klassen in Java.&lt;/p&gt;
&lt;p&gt;Das Ziel ist einfach: Eine Klasse soll nur so viel preisgeben, wie wirklich nötig ist. Alles andere bleibt intern und damit geschützt vor unbeabsichtigtem Zugriff von außen. Das ist ein wichtiger Teil von &lt;em&gt;sauberem Code&lt;/em&gt; und schützt vor Fehlern, die durch falsche Nutzung entstehen könnten.</description>
      <pubDate>Mon, 10 Nov 2025 17:32:33 +0100</pubDate>
      <guid isPermaLink="false">2337ac8862b7ffe668103fb410a70893</guid>
    </item>
    <item>
      <title>Die mündliche Abschlussprüfung zum Fachinformatiker*in für Anwendungsentwicklung (Abschlusspräsentation)</title>
      <link>https://magicmarcy.de/die-muendliche-abschlusspruefung</link>
      <image/>
      <description>&lt;p&gt;Die Präsentation in der IHK-Abschlussprüfung zum Fachinformatiker Anwendungsentwickler ist für viele Auszubildende der letzte große Schritt vor dem erfolgreichen Abschluss der Ausbildung. Sie bietet die Gelegenheit, das eigene Projekt noch einmal kompakt und verständlich darzustellen – nicht nur technisch, sondern auch kommunikativ. Dabei geht es nicht allein um das Zeigen von Quellcode oder Architekturdiagrammen, sondern vor allem darum, die Prüfer davon zu überzeugen, dass man das Projekt versteht, es selbstständig durchgeführt hat und die fachlichen Entscheidungen nachvollziehbar begründen kann.</description>
      <pubDate>Sun, 09 Nov 2025 18:05:55 +0100</pubDate>
      <guid isPermaLink="false">9ef834d07dbe10d92828212daae6b7a4</guid>
    </item>
    <item>
      <title>Interceptoren in Java - kleine Helfer mit großer Wirkung</title>
      <link>https://magicmarcy.de/interceptoren-in-java</link>
      <image/>
      <description>&lt;p&gt;Wenn man mit JavaEE (oder JakartaEE, wie es heute heißt) arbeitet, begegnet man früher oder später einem ziemlich mächtigen, aber oft übersehenen Konzept: den &lt;em&gt;Interceptoren&lt;/em&gt;. Interceptoren sind kleine Klassen, die sich zwischen den Aufruf eines Methodenaufrufs und dessen tatsächliche Ausführung schalten. Sie können also Code ausführen, bevor oder nachdem eine Methode läuft – ohne, dass man diesen Code in jeder einzelnen Methode wiederholen muss.</description>
      <pubDate>Sat, 08 Nov 2025 18:39:29 +0100</pubDate>
      <guid isPermaLink="false">faf284953ccd9e0dd4586f91a6451587</guid>
    </item>
    <item>
      <title>Wie man Fehler eingesteht – und warum das die beste Entwicklerqualität ist</title>
      <link>https://magicmarcy.de/wie-man-fehler-eingesteht</link>
      <image/>
      <description>&lt;p&gt;Es gibt kaum einen Beruf, in dem man so oft scheitert, wie in der Softwareentwicklung. Wir alle schreiben Code, der nicht funktioniert. Wir alle deployen Features, die unerwartete Nebenwirkungen haben. Und wir alle haben schon mal eine Datenbank gelöscht, ein Build-Skript ruiniert oder eine Endlosschleife in Produktion geschickt. Der Unterschied zwischen einem guten und einem schlechten Entwickler liegt dabei nicht darin, ob er Fehler macht – sondern wie er damit umgeht.</description>
      <pubDate>Fri, 07 Nov 2025 18:09:52 +0100</pubDate>
      <guid isPermaLink="false">a74d15d9261a20dd23befaa9a9435dc7</guid>
    </item>
    <item>
      <title>Mergekonflikte – wo Sorgfalt wichtiger ist als Geschwindigkeit</title>
      <link>https://magicmarcy.de/mergekonflikte-%E2%80%93-wo-sorgfalt-wichtiger-ist-als-geschwindigkeit</link>
      <image/>
      <description>&lt;p&gt;Es gibt Momente in der Softwareentwicklung, in denen man merkt, dass Technik allein nicht reicht. Mergekonflikte gehören genau in diese Kategorie. Sie sind nicht das Ergebnis eines Fehlers oder Unvermögens, sondern schlicht ein Zeichen dafür, dass mehrere Menschen gleichzeitig an demselben Projekt arbeiten – mit unterschiedlichen Ideen, unterschiedlichen Aufgaben und manchmal auch unterschiedlichen Ansätzen. Und genau hier zeigt sich, wer wirklich versteht, was gemeinsames Entwickeln bedeutet.</description>
      <pubDate>Wed, 05 Nov 2025 10:45:00 +0100</pubDate>
      <guid isPermaLink="false">7719f68bb0ce7cd7fb5ed36d652305ac</guid>
    </item>
    <item>
      <title>Der StackTrace - Fehlermeldungen verstehen lernen</title>
      <link>https://magicmarcy.de/der-stacktrace-fehlermeldungen-verstehen-lernen</link>
      <image/>
      <description>&lt;p&gt;Wenn du länger mit Java arbeitest, wirst du irgendwann unweigerlich auf ihn treffen: den StackTrace.&lt;br&gt;Dieses oft einschüchternd wirkende Konstrukt aus Zeilen voller Klassen, Methoden und Zeilennummern ist in Wahrheit einer deiner besten Freunde. Ein StackTrace verrät dir nämlich ganz genau, was schiefgelaufen ist, wo es passiert ist und oft auch warum.&lt;/p&gt;
&lt;p&gt;Doch viele Einsteiger sehen ihn zum ersten Mal, bekommen große Augen und schließen schnell das Fenster. Das ist schade, denn wer lernt, einen StackTrace zu lesen, spart sich Stunden an Fehlersuche.</description>
      <pubDate>Wed, 05 Nov 2025 10:06:01 +0100</pubDate>
      <guid isPermaLink="false">43c39ee404f4d297a14ce85c185e3db9</guid>
    </item>
    <item>
      <title>Java, Java SE, JDK, JRE, Java EE? Was soll das?</title>
      <link>https://magicmarcy.de/java-java-se-jdk-jre-java-ee-was-soll-das</link>
      <image/>
      <description>&lt;p&gt;Wenn man mit Java anfängt, stolpert man schnell über verschiedene Begriffe wie Java SE, JDK, JRE oder Java EE oder auch Jakarta EE und ganz ehrlich: Das kann am Anfang ziemlich verwirrend sein.&lt;br&gt;Was gehört zusammen? Was braucht man zum Programmieren? Und was bedeutet das alles überhaupt?</description>
      <pubDate>Sat, 18 Oct 2025 19:21:24 +0200</pubDate>
      <guid isPermaLink="false">fe9c3812ddfef88b949da5e9a7ba4553</guid>
    </item>
    <item>
      <title>Serialisierung in Java</title>
      <link>https://magicmarcy.de/serialisierung-in-java</link>
      <image/>
      <description>&lt;p&gt;Wenn du schon eine Weile mit Java arbeitest, bist du sicher auf den Begriff Serialisierung gestoßen. Aber was bedeutet das eigentlich? Und warum sollte man es brauchen?&lt;/p&gt;
&lt;p&gt;In diesem Beitrag erkläre ich dir Schritt für Schritt, was Serialisierung ist, wofür man sie verwendet, und zeige dir ein paar praxisnahe Beispiele.</description>
      <pubDate>Thu, 02 Oct 2025 19:06:04 +0200</pubDate>
      <guid isPermaLink="false">abb5c5b8142c865ccdc68e263203200c</guid>
    </item>
    <item>
      <title>WAR vs. EJB: Die Unterschiede einfach erklärt</title>
      <link>https://magicmarcy.de/war-vs-ejb</link>
      <image/>
      <description>&lt;p&gt;Heute nehmen wir uns diese Akronyme vor. Wir schauen uns an, was sie bedeuten, wofür du sie brauchst und wo die feinen, aber wichtigen Unterschiede liegen – besonders im Kontext deiner Java EE-Web-Anwendungen.</description>
      <pubDate>Sun, 20 Jul 2025 18:27:24 +0200</pubDate>
      <guid isPermaLink="false">f7129a4b8c8128399312d1f07aba1869</guid>
    </item>
    <item>
      <title>MavenBuildManager - Schluss mit Maven-Chaos auf dem Desktop</title>
      <link>https://magicmarcy.de/mavenbuildmanager-schluss-mit-maven-chaos-auf-dem-desktop</link>
      <image/>
      <description>&lt;p&gt;Viele Java-Entwickler kennen das Problem: Ein ganzer Zoo aus Projekten, unterschiedliche Java-Versionen, fragmentierte Build-Optionen – und dazu die Frage: Mit welcher Java-Version wurde dieses Projekt eigentlich gebaut?&lt;/p&gt;
&lt;p&gt;Und spätestens wenn man zwischen mehreren Java-Versionen, verschiedenen Maven-Profilen oder Build-Parametern jonglieren muss, wird aus dem einfachen &lt;em&gt;mvn clean install&lt;/em&gt; schnell eine frustrierende Fehlerquelle.</description>
      <pubDate>Wed, 28 May 2025 18:14:55 +0200</pubDate>
      <guid isPermaLink="false">62694bc3f15978af02d536de1f03bd15</guid>
    </item>
    <item>
      <title>Was ist eigentlich ein DTO?</title>
      <link>https://magicmarcy.de/was-ist-eigentlich-ein-dto</link>
      <image/>
      <description>&lt;p&gt;In der Welt der Java-Entwicklung stößt man früher oder später auf den Begriff DTO – kurz für Data Transfer Object. Gerade in größeren Anwendungen oder beim Arbeiten mit Daten aus Datenbanken, REST-Schnittstellen oder Microservices ist es ein häufig verwendetes Muster. Doch was genau ist ein DTO, warum braucht man es, und wie unterscheidet es sich von anderen Objekten wie POJOs oder Java Records?</description>
      <pubDate>Mon, 26 May 2025 15:12:47 +0200</pubDate>
      <guid isPermaLink="false">9d8ab2d5d5b5b24c18f1aa1de7412569</guid>
    </item>
    <item>
      <title>Die main-Methode - Was passiert beim Start einer Java-Anwendung</title>
      <link>https://magicmarcy.de/die-main-methode-was-passiert-beim-start-einer-java-anwendung</link>
      <image/>
      <description>&lt;p&gt;Viele Anfänger schreiben ihre ersten Zeilen Java-Code, kompilieren die Datei und führen das Programm über die Konsole aus – ohne sich Gedanken darüber zu machen, was da eigentlich im Hintergrund passiert. Dieser Beitrag zeigt dir Schritt für Schritt, wie Java-Programme starten, warum die &lt;em&gt;main()&lt;/em&gt;-Methode so wichtig ist, und was dabei unter der Haube abläuft.</description>
      <pubDate>Sat, 24 May 2025 16:49:12 +0200</pubDate>
      <guid isPermaLink="false">7f0535e32c1f63931dd38c69b7f85bda</guid>
    </item>
    <item>
      <title>Library vs. Framework</title>
      <link>https://magicmarcy.de/library-vs-framework</link>
      <image/>
      <description>&lt;p&gt;In der Softwareentwicklung stolpert man schnell über die Begriffe &lt;strong data-start="313" data-end="324"&gt;Library&lt;/strong&gt; und &lt;strong data-start="329" data-end="342"&gt;Framework&lt;/strong&gt;.Beide liefern fertige Bausteine, um schneller ans Ziel zu kommen. Doch obwohl sie sich ähnlich anhören, bzw. im allgemeinen Sprachgebrauch auch oft verwechselt werden, verfolgen sie ganz unterschiedliche Prinzipien. In diesem Artikel schauen wir uns die Unterschiede an – praxisnah und mit Beispielen aus Java sowie HTML, CSS und JavaScript.</description>
      <pubDate>Thu, 22 May 2025 18:27:10 +0200</pubDate>
      <guid isPermaLink="false">33b549e3f8a2413ed76cfe645191d894</guid>
    </item>
    <item>
      <title>Warum die Browserwahl wichtiger ist denn je</title>
      <link>https://magicmarcy.de/warum-die-browserwahl-wichtiger-ist-denn-je</link>
      <image/>
      <description>&lt;p&gt;Als Google im Jahr 2023 begann, den neuen Erweiterungsstandard Manifest v3 in Chrome einzuführen, ging ein spürbarer Ruck durch die Internet-Community. Die Kritik war laut: Werbeblocker wie uBlock Origin sollten kastriert werden, Nutzerfreiheiten eingeschränkt und die Kontrolle über den eigenen Browser geschwächt werden. Doch trotz all der Diskussionen blieb die große Wechselwelle aus. Und auch als Google Manifest v2 endgültig den Stecker gezogen hat– Chrome ist weiterhin der dominierende Browser weltweit.</description>
      <pubDate>Mon, 19 May 2025 16:25:27 +0200</pubDate>
      <guid isPermaLink="false">c0ec24200c7c24768227514ad636123c</guid>
    </item>
    <item>
      <title>Einstieg in JavaScript – So funktioniert die Sprache im Browser</title>
      <link>https://magicmarcy.de/einstieg-in-javascript-%E2%80%93-so-funktioniert-die-sprache-im-browser</link>
      <image/>
      <description>&lt;p&gt;JavaScript ist eine der wichtigsten Sprachen der Webentwicklung. Nachdem du in meinem &lt;a data-start="357" data-end="377" class="" href="https://magicmarcy.de/was-ist-eigentlich-javascript"&gt;letzten Beitrag&lt;/a&gt; bereits erfahren hast, &lt;em data-start="401" data-end="431"&gt;was JavaScript überhaupt ist&lt;/em&gt;, schauen wir uns heute an, wie JavaScript funktioniert, welche Besonderheiten es gibt, und was du beim Start wissen solltest.</description>
      <pubDate>Fri, 16 May 2025 19:17:50 +0200</pubDate>
      <guid isPermaLink="false">6af27afda292c04a32bbd85c40f2efcb</guid>
    </item>
    <item>
      <title>Tricky Java #1</title>
      <link>https://magicmarcy.de/tricky-java-1</link>
      <image/>
      <description>&lt;p&gt;&lt;label for="shortcode_java-tricky-einleitung"&gt;{{java-tricky-einleitung}}&lt;/label&gt;&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Welcher Wert wird auf der Konsole ausgegeben:&lt;/h3&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;public class Test {
    public static void main(String[] args) {
        int x = 10;
        int y = ++x + x++ + ++x;
        System.out.println(y);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Antwortmöglichkeiten:&lt;/h4&gt;
&lt;ol style="list-style-type: upper-alpha;"&gt;
&lt;li&gt;33&lt;/li&gt;
&lt;li&gt;34&lt;/li&gt;
&lt;li&gt;35&lt;/li&gt;
&lt;li&gt;Compilation Error&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Step-by-Step zur Lösung:&lt;/h3&gt;
&lt;p&gt;Wie man vielleicht auf den ersten Blick schon erkennt, geht es hier um die Behandlung von ++x sowie x++, also das Inkrementieren eines Wertes und den exakten Zeitpunkt, wann genau das stattfindet.&lt;/p&gt;
&lt;p&gt;Lass uns das zunächst mal etwas besser aufschreiben, damit das auch deutlich wird:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;int y = (++x) + (x++) + (++x);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dabei kann man sich folgendes merken:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;++x&lt;/strong&gt;: Der Wert wird &lt;strong&gt;VOR&lt;/strong&gt; dem Zugriff um 1 erhöht&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;x++&lt;/strong&gt;: Der Wert wird &lt;strong&gt;NACH&lt;/strong&gt; dem Zugriff um 1 erhöht&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dann gehen wir die Aufgabe mal der Reihe nach durch:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;int y = &lt;strong&gt;++x&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Gemäß unseres Merksatzes wird also x &lt;strong&gt;VOR&lt;/strong&gt; dem Zugriff um 1 erhöht was bedeutet, dass x an dieser Stelle den Wert 11 hat.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;int y = ++x &lt;strong&gt;+&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hier ist ein ganz normaler Operator um die einzelnen Ergebnisse zu addieren&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;int y = ++x + &lt;strong&gt;x++&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;x++ bedeutet nach unserem Merksatz, dass der Wert von x erst &lt;strong&gt;NACH&lt;/strong&gt; dem Zugriff um 1 erhöht wird, also hat x zu diesem Zeitpunkt noch den Wert 11.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;int y = ++x + x++ &lt;strong&gt;+&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hier ist wieder ein normaler Operator um die einzelnen Ergebnisse zu addieren&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-java"&gt;int y = ++x + x++ + &lt;strong&gt;++x&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das ist nun der tricky Teil: x wird hier &lt;strong&gt;VOR&lt;/strong&gt; dem Zugriff um 1 erhöht, erhält aber durch den Vorgänger (&lt;strong&gt;NACH&lt;/strong&gt; dem Zugriff) noch ein plus 1, sodass x hier den Wert 13 hat! (12 wegen der Erhöhung vorher, 13 wegen der Erhöhung VOR diesem Zugriff).&lt;/p&gt;
&lt;p&gt;Dadurch ergibt sich: int y = 11 + 11 + 13 welches in Summe dann 35 ergibt.&lt;/p&gt;
&lt;p&gt;Die richtige Lösung lautet also &lt;strong&gt;C&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Dies ist ein schönes Beispiel um sich das Thema gut merken zu können und ich bin mir sicher, wenn man das einmal raus hat, ist es auch gar nicht mehr so schwer.&lt;/p&gt;
&lt;p&gt;Wie fandest du die Aufgabe? Hast du auf den ersten Blick die richtige Lösung gefunden oder hast du die Step-by-Step Lösung benötigt?&lt;/p&gt;</description>
      <pubDate>Tue, 13 May 2025 10:03:43 +0200</pubDate>
      <guid isPermaLink="false">afdb26f9201aaf1c34ad7b6df1ef0561</guid>
    </item>
    <item>
      <title>Was ist eigentlich JavaScript?</title>
      <link>https://magicmarcy.de/was-ist-eigentlich-javascript</link>
      <image/>
      <description>&lt;p&gt;JavaScript ist aus der modernen Webentwicklung nicht mehr wegzudenken – und doch ranken sich viele Missverständnisse um diese Programmiersprache. Manche glauben, sie hätte etwas mit Java zu tun, andere halten sie grundsätzlich für unsicher oder sogar für ein Datenschutzrisiko. Zeit also, mit einigen Mythen aufzuräumen und einen fundierten Überblick zu geben: Was ist JavaScript eigentlich wirklich, wofür wird es verwendet, und warum ist es längst viel mehr als nur eine „Skriptsprache für Webseiten“?&lt;br&gt;</description>
      <pubDate>Sat, 10 May 2025 17:44:35 +0200</pubDate>
      <guid isPermaLink="false">d0b4b94739b2c1ab118227029e25363c</guid>
    </item>
    <item>
      <title>Java Interview-Fragen: #5 Multithreading</title>
      <link>https://magicmarcy.de/java-interview-fragen-5-multithreading</link>
      <image/>
      <description>&lt;p _d-id="111"&gt;&lt;span _d-id="4429" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4435" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="4461" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4540" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Kürzlich&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4543" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;habe&lt;/span&gt; &lt;span _d-id="4547" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="4551" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einen&lt;/span&gt; &lt;span _d-id="4465" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4554" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Artikel&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4557" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;gelesen&lt;/span&gt;&lt;span _d-id="4469" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;,&lt;/span&gt; &lt;span _d-id="4560" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4564" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dem&lt;/span&gt; &lt;span _d-id="4568" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;es&lt;/span&gt; &lt;span _d-id="4572" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;um&lt;/span&gt; &lt;span _d-id="4576" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt; &lt;span _d-id="4580" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4584" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einem&lt;/span&gt; &lt;span _d-id="4588" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt; &lt;span _d-id="4592" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;als&lt;/span&gt; &lt;span _d-id="4473" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4595" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt;-&lt;span _d-id="4599" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Entwickler&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4602" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ging&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4433" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4437" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;Es &lt;span _d-id="4477" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;wurden&lt;/span&gt; einige Fragen vorgestellt und die These &lt;span _d-id="4481" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;aufgestellt&lt;/span&gt;, dass die meisten Bewerber diese Fragen nicht beantworten &lt;span _d-id="4485" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;können.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p _d-id="4"&gt;&lt;span _d-id="5861" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="5869" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="5970" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Aus&lt;/span&gt; &lt;span _d-id="5974" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diesem&lt;/span&gt; &lt;span _d-id="5978" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Grund&lt;/span&gt; &lt;span _d-id="5982" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;möchte&lt;/span&gt; &lt;span _d-id="5986" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="5990" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="5994" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dieser&lt;/span&gt; &lt;span _d-id="5998" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Serie&lt;/span&gt; &lt;span _d-id="6002" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;auf&lt;/span&gt; &lt;span _d-id="6006" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diese&lt;/span&gt; &lt;span _d-id="5918" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6009" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt; &lt;span _d-id="6013" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6016" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;im&lt;/span&gt; &lt;span _d-id="5922" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6019" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6022" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;eingehen&lt;/span&gt; &lt;span _d-id="6026" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;und&lt;/span&gt; &lt;span _d-id="5926" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6029" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;sie&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6032" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;beantworten&lt;/span&gt;.</description>
      <pubDate>Mon, 05 May 2025 18:00:11 +0200</pubDate>
      <guid isPermaLink="false">ba8573cff80c706b51e8b6fa161b1655</guid>
    </item>
    <item>
      <title>Java Interview-Fragen: #4 Exception Handling</title>
      <link>https://magicmarcy.de/java-interview-fragen-4-exception-handling</link>
      <image/>
      <description>&lt;p _d-id="111"&gt;&lt;span _d-id="4429" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4435" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="4461" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4540" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Kürzlich&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4543" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;habe&lt;/span&gt; &lt;span _d-id="4547" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="4551" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einen&lt;/span&gt; &lt;span _d-id="4465" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4554" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Artikel&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4557" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;gelesen&lt;/span&gt;&lt;span _d-id="4469" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;,&lt;/span&gt; &lt;span _d-id="4560" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4564" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dem&lt;/span&gt; &lt;span _d-id="4568" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;es&lt;/span&gt; &lt;span _d-id="4572" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;um&lt;/span&gt; &lt;span _d-id="4576" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt; &lt;span _d-id="4580" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4584" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einem&lt;/span&gt; &lt;span _d-id="4588" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt; &lt;span _d-id="4592" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;als&lt;/span&gt; &lt;span _d-id="4473" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4595" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt;-&lt;span _d-id="4599" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Entwickler&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4602" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ging&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4433" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4437" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;Es &lt;span _d-id="4477" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;wurden&lt;/span&gt; einige Fragen vorgestellt und die These &lt;span _d-id="4481" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;aufgestellt&lt;/span&gt;, dass die meisten Bewerber diese Fragen nicht beantworten &lt;span _d-id="4485" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;können.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p _d-id="4"&gt;&lt;span _d-id="5861" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="5869" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="5970" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Aus&lt;/span&gt; &lt;span _d-id="5974" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diesem&lt;/span&gt; &lt;span _d-id="5978" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Grund&lt;/span&gt; &lt;span _d-id="5982" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;möchte&lt;/span&gt; &lt;span _d-id="5986" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="5990" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="5994" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dieser&lt;/span&gt; &lt;span _d-id="5998" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Serie&lt;/span&gt; &lt;span _d-id="6002" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;auf&lt;/span&gt; &lt;span _d-id="6006" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diese&lt;/span&gt; &lt;span _d-id="5918" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6009" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt; &lt;span _d-id="6013" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6016" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;im&lt;/span&gt; &lt;span _d-id="5922" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6019" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6022" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;eingehen&lt;/span&gt; &lt;span _d-id="6026" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;und&lt;/span&gt; &lt;span _d-id="5926" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6029" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;sie&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6032" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;beantworten&lt;/span&gt;.</description>
      <pubDate>Mon, 28 Apr 2025 18:00:33 +0200</pubDate>
      <guid isPermaLink="false">a1296727b8535bb9898474418543e8b0</guid>
    </item>
    <item>
      <title>Java Interview-Fragen: #3 Datenstrukturen und Algorithmen</title>
      <link>https://magicmarcy.de/java-interview-fragen-3-datenstrukturen-und-algorithmen</link>
      <image/>
      <description>&lt;p _d-id="111"&gt;&lt;span _d-id="4429" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4435" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="4461" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4540" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Kürzlich&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4543" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;habe&lt;/span&gt; &lt;span _d-id="4547" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="4551" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einen&lt;/span&gt; &lt;span _d-id="4465" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4554" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Artikel&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4557" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;gelesen&lt;/span&gt;&lt;span _d-id="4469" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;,&lt;/span&gt; &lt;span _d-id="4560" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4564" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dem&lt;/span&gt; &lt;span _d-id="4568" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;es&lt;/span&gt; &lt;span _d-id="4572" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;um&lt;/span&gt; &lt;span _d-id="4576" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt; &lt;span _d-id="4580" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4584" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einem&lt;/span&gt; &lt;span _d-id="4588" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt; &lt;span _d-id="4592" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;als&lt;/span&gt; &lt;span _d-id="4473" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4595" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt;-&lt;span _d-id="4599" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Entwickler&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4602" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ging&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4433" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4437" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;Es &lt;span _d-id="4477" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;wurden&lt;/span&gt; einige Fragen vorgestellt und die These &lt;span _d-id="4481" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;aufgestellt&lt;/span&gt;, dass die meisten Bewerber diese Fragen nicht beantworten &lt;span _d-id="4485" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;können.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p _d-id="4"&gt;&lt;span _d-id="5861" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="5869" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="5970" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Aus&lt;/span&gt; &lt;span _d-id="5974" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diesem&lt;/span&gt; &lt;span _d-id="5978" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Grund&lt;/span&gt; &lt;span _d-id="5982" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;möchte&lt;/span&gt; &lt;span _d-id="5986" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="5990" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="5994" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dieser&lt;/span&gt; &lt;span _d-id="5998" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Serie&lt;/span&gt; &lt;span _d-id="6002" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;auf&lt;/span&gt; &lt;span _d-id="6006" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diese&lt;/span&gt; &lt;span _d-id="5918" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6009" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt; &lt;span _d-id="6013" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6016" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;im&lt;/span&gt; &lt;span _d-id="5922" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6019" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6022" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;eingehen&lt;/span&gt; &lt;span _d-id="6026" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;und&lt;/span&gt; &lt;span _d-id="5926" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6029" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;sie&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6032" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;beantworten&lt;/span&gt;.</description>
      <pubDate>Mon, 21 Apr 2025 18:00:51 +0200</pubDate>
      <guid isPermaLink="false">713f1cda10a82344c2b07fb8482488b9</guid>
    </item>
    <item>
      <title>Java Interview-Fragen: #2 Objektorientierte Programmierung (OOP)</title>
      <link>https://magicmarcy.de/java-interview-fragen-2-objektorientierte-programmierung-oop</link>
      <image/>
      <description>&lt;p _d-id="111"&gt;&lt;span _d-id="4429" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4435" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="4461" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4540" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Kürzlich&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4543" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;habe&lt;/span&gt; &lt;span _d-id="4547" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="4551" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einen&lt;/span&gt; &lt;span _d-id="4465" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4554" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Artikel&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4557" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;gelesen&lt;/span&gt;&lt;span _d-id="4469" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;,&lt;/span&gt; &lt;span _d-id="4560" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4564" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dem&lt;/span&gt; &lt;span _d-id="4568" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;es&lt;/span&gt; &lt;span _d-id="4572" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;um&lt;/span&gt; &lt;span _d-id="4576" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt; &lt;span _d-id="4580" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4584" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einem&lt;/span&gt; &lt;span _d-id="4588" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt; &lt;span _d-id="4592" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;als&lt;/span&gt; &lt;span _d-id="4473" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4595" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt;-&lt;span _d-id="4599" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Entwickler&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4602" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ging&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4433" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4437" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;Es &lt;span _d-id="4477" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;wurden&lt;/span&gt; einige Fragen vorgestellt und die These &lt;span _d-id="4481" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;aufgestellt&lt;/span&gt;, dass die meisten Bewerber diese Fragen nicht beantworten &lt;span _d-id="4485" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;können.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p _d-id="4"&gt;&lt;span _d-id="5861" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="5869" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="5970" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Aus&lt;/span&gt; &lt;span _d-id="5974" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diesem&lt;/span&gt; &lt;span _d-id="5978" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Grund&lt;/span&gt; &lt;span _d-id="5982" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;möchte&lt;/span&gt; &lt;span _d-id="5986" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="5990" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="5994" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dieser&lt;/span&gt; &lt;span _d-id="5998" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Serie&lt;/span&gt; &lt;span _d-id="6002" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;auf&lt;/span&gt; &lt;span _d-id="6006" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diese&lt;/span&gt; &lt;span _d-id="5918" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6009" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt; &lt;span _d-id="6013" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6016" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;im&lt;/span&gt; &lt;span _d-id="5922" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6019" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6022" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;eingehen&lt;/span&gt; &lt;span _d-id="6026" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;und&lt;/span&gt; &lt;span _d-id="5926" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6029" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;sie&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6032" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;beantworten&lt;/span&gt;.</description>
      <pubDate>Mon, 14 Apr 2025 18:00:31 +0200</pubDate>
      <guid isPermaLink="false">ac31f03307d5d79bca857d58a905e853</guid>
    </item>
    <item>
      <title>Java Interview-Fragen: #1 Java Grundlagen</title>
      <link>https://magicmarcy.de/java-interview-fragen-1-java-grundlagen</link>
      <image/>
      <description>&lt;p _d-id="111"&gt;&lt;span _d-id="4429" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4435" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="4461" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4540" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Kürzlich&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4543" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;habe&lt;/span&gt; &lt;span _d-id="4547" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="4551" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einen&lt;/span&gt; &lt;span _d-id="4465" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4554" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Artikel&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4557" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;gelesen&lt;/span&gt;&lt;span _d-id="4469" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;,&lt;/span&gt; &lt;span _d-id="4560" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4564" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dem&lt;/span&gt; &lt;span _d-id="4568" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;es&lt;/span&gt; &lt;span _d-id="4572" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;um&lt;/span&gt; &lt;span _d-id="4576" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt; &lt;span _d-id="4580" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="4584" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;einem&lt;/span&gt; &lt;span _d-id="4588" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt; &lt;span _d-id="4592" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;als&lt;/span&gt; &lt;span _d-id="4473" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="4595" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt;-&lt;span _d-id="4599" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Entwickler&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4602" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ging&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="4433" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="4437" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;Es &lt;span _d-id="4477" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;wurden&lt;/span&gt; einige Fragen vorgestellt und die These &lt;span _d-id="4481" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;aufgestellt&lt;/span&gt;, dass die meisten Bewerber diese Fragen nicht beantworten &lt;span _d-id="4485" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;können.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p _d-id="4"&gt;&lt;span _d-id="5861" class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span _d-id="5869" class="--l --r hover:bg-blue-50 hover:dark:bg-gray-600 lmt__write_highlight_sentence py-[3px]"&gt;&lt;span _d-id="5970" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Aus&lt;/span&gt; &lt;span _d-id="5974" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diesem&lt;/span&gt; &lt;span _d-id="5978" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Grund&lt;/span&gt; &lt;span _d-id="5982" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;möchte&lt;/span&gt; &lt;span _d-id="5986" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ich&lt;/span&gt; &lt;span _d-id="5990" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;in&lt;/span&gt; &lt;span _d-id="5994" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;dieser&lt;/span&gt; &lt;span _d-id="5998" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Serie&lt;/span&gt; &lt;span _d-id="6002" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;auf&lt;/span&gt; &lt;span _d-id="6006" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;diese&lt;/span&gt; &lt;span _d-id="5918" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6009" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Java&lt;/span&gt; &lt;span _d-id="6013" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Fragen&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6016" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;im&lt;/span&gt; &lt;span _d-id="5922" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6019" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;Vorstellungsgespräch&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6022" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;eingehen&lt;/span&gt; &lt;span _d-id="6026" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;und&lt;/span&gt; &lt;span _d-id="5926" class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span _d-id="6029" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;sie&lt;/span&gt;&lt;/span&gt; &lt;span _d-id="6032" class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;beantworten&lt;/span&gt;.</description>
      <pubDate>Mon, 07 Apr 2025 18:00:34 +0200</pubDate>
      <guid isPermaLink="false">a1b8c55764324af1502c246d6ceb3d0f</guid>
    </item>
    <item>
      <title>Maps in Java - mehr als Wegweiser</title>
      <link>https://magicmarcy.de/maps-in-java-mehr-als-wegweiser</link>
      <image/>
      <description>&lt;p&gt;In der Java-Welt begegnet man früher oder später sogenannten Maps (der Map-Schnittstelle) – und das völlig zu Recht! Sie ist ein grundlegender Bestandteil der Java Collection Frameworks und ermöglicht es, anders als Listen, Daten als Schlüssel-Wert-Paare zu speichern.&lt;/p&gt;
&lt;p&gt;Eine Map ist grundsätzlich erstmal eine Datenstruktur, in der jeder Schlüssel (Key) genau einem Wert (Value) zugeordnet ist. Das kennt man </description>
      <pubDate>Sun, 16 Mar 2025 17:19:21 +0100</pubDate>
      <guid isPermaLink="false">c1067589f6edbef943cbb60c6eb086a0</guid>
    </item>
    <item>
      <title>Der Garbage Collector in Java - Superheld Müllsammler</title>
      <link>https://magicmarcy.de/der-garbage-collector-in-java-superheld-muellsammler</link>
      <image/>
      <description>&lt;p&gt;Vielleicht hast du den Begriff in Zusammenhang mit Java schon einmal gehört: Der Garabage Collector (deutsch: der Müllsammler). "Name ist Programm" könnte man sagen, denn der Garbage Collector (GC) ist eine der wichtigsten Komponenten der Java Virtual Machine (JVM). Er verwaltet den Speicher automatisch, indem er ungenutzte Objekte erkennt und entfernt und somit Speicher freigibt. Dadurch entfällt die Notwendigkeit einer expliziten Speicherfreigabe durch den Entwickler, wie es beispielsweise in C oder C++ der Fall ist.</description>
      <pubDate>Wed, 12 Mar 2025 18:05:29 +0100</pubDate>
      <guid isPermaLink="false">2fbd51f87d56acfadbb6baf6389777b1</guid>
    </item>
    <item>
      <title>[VIDEO] Exception Handling #2</title>
      <link>https://magicmarcy.de/exception-handling-2</link>
      <image/>
      <description>&lt;p&gt;Vor einiger Zeit habe ich hier im Blog bereits einen Beitrag über &lt;a href="https://magicmarcy.de/exception-handling-in-java-grundlagen-und-best-practices"&gt;Exception Handling in Java&lt;/a&gt; veröffentlicht. Ergänzend zu diesem Beitrag bin ich über ein spannendes YouTube Video gestoßen, welches ich dir an dieser Stelle als zusätzliches "Futter" an die Hand geben möchte.&lt;/p&gt;
&lt;p&gt;Im Video "You're Doing Exceptions Wrong" erzählt Matt Burke auf der NDC London, was wir beim behandeln von Ausnahmen eigentlich falsch machen und viel wichtiger, wie wir es in Zukunft besser machen können. </description>
      <pubDate>Tue, 11 Mar 2025 19:12:35 +0100</pubDate>
      <guid isPermaLink="false">df99680cccb4d3ed3ff082c264120f3f</guid>
    </item>
    <item>
      <title>[UPDATE] Verlust einiger Komfortfunktionen auf magicmarcy.de</title>
      <link>https://magicmarcy.de/verlust-einiger-komfortfunktionen-auf-magicmarcy-de</link>
      <image/>
      <description>&lt;p&gt;Wie du vielleicht schon gesehen hast, gibt es auf meiner Seite aktuell weder ein Kontaktformular noch eine Kommentar- oder Teilen-Funktion. Diese Funktionen habe ich heute abgeschaltet. Und das hat gute Gründe, über die ich dich in diesem Artikel informieren möchte.</description>
      <pubDate>Sun, 09 Mar 2025 12:44:24 +0100</pubDate>
      <guid isPermaLink="false">0fc996234680a880f5259259e99de6c0</guid>
    </item>
    <item>
      <title>Dein privater YouTube-Player – Werbung einfach blockieren?</title>
      <link>https://magicmarcy.de/dein-privater-youtube-player</link>
      <image/>
      <description>&lt;p data-pm-slice="1 1 []"&gt;&lt;span&gt;YouTube ist die wohl bekannteste Videoplattform, doch sie bringt einige Datenschutzprobleme mit sich. Wer ein Video einbettet, liefert seinen Nutzern nicht nur den Content, sondern auch jede Menge Tracking und Werbung. Doch was wäre, wenn es eine Möglichkeit gäbe, YouTube-Videos einzubetten, ohne dass Werbung oder Tracking ausgespielt wird? Oder vielleicht willst du auch einfach nur mal ein Video ansehen, ohne die Befürchtung haben zu müssen, dass dieses direkten Einfluss auf deinen persönlichen Algorithmus hat und dir immer wieder solche Videos vorgeschlagen werden?</description>
      <pubDate>Sat, 08 Mar 2025 17:39:46 +0100</pubDate>
      <guid isPermaLink="false">f0c7a0d4ff33261e2810780ead79384f</guid>
    </item>
    <item>
      <title>[VIDEO] Java 24 - Neue Features!</title>
      <link>https://magicmarcy.de/java-24</link>
      <image/>
      <description>&lt;p&gt;Java 24 befindet sich seit dem 5. Dezember 2024 in der sogenannten „Rampdown Phase One”, d. h. es werden keine weiteren JDK Enhancement Proposals (JEPs) in das Release aufgenommen. Das Feature-Set steht also fest. Es werden nur noch Bugs gefixt und ggf. kleinere Verbesserungen durchgeführt.&lt;/p&gt;
&lt;p&gt;In Java 24 werden ... überraschung... exakt 24 JEPs umgesetzt – nach Java 11 (18 JEPs) ein neuer Rekord! Das hört sich erstmal nach viel an, mit einem Großteil der Änderungen werden allerdings die meisten von uns im Programmier-Alltag nicht direkt konfrontieren werden.</description>
      <pubDate>Fri, 07 Mar 2025 18:49:42 +0100</pubDate>
      <guid isPermaLink="false">bf396770b5cce3c837a1117f7a2f70bf</guid>
    </item>
    <item>
      <title>Von OOA über OOD zu OOP</title>
      <link>https://magicmarcy.de/von-ooa-ueber-ood-zu-oop</link>
      <image/>
      <description>&lt;p&gt;In meinem Blog geht es ja hauptsächlich um Java-Themen sowie begleitendes Material. Hier möchte ich einmal über eine häufig auftretende Frage sprechen: Wie kommt man von der objektorientierten Analyse zur objektorientierten Programmierung.</description>
      <pubDate>Thu, 06 Mar 2025 18:35:08 +0100</pubDate>
      <guid isPermaLink="false">90fc895f999095b82a1a5e3b508f28ec</guid>
    </item>
    <item>
      <title>Assoziationen in Java - Entschuldigung, kennen wir uns?</title>
      <link>https://magicmarcy.de/assoziationen-in-java-entschuldigung-kennen-wir-uns</link>
      <image/>
      <description>&lt;p&gt;Ich hatte neulich erst einen Beitrag zur objektorientierten Programmieung in Java geschrieben und möchte ergänzend dazu heute über Assoziationen sprechen. Denn auch diese sind ein wichtiger Teil wenn uns um Verbindungen, bzw. Beziehungen zwischen Klassen geht.</description>
      <pubDate>Tue, 04 Mar 2025 13:46:22 +0100</pubDate>
      <guid isPermaLink="false">89cc0e07c3707591f6867d62a8e75a20</guid>
    </item>
    <item>
      <title>Generische Datentypen in Java</title>
      <link>https://magicmarcy.de/generische-datentypen-in-java</link>
      <image/>
      <description>&lt;p&gt;Datentypen sind in Java ja relativ einfach: &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;char&lt;/code&gt;, &lt;code&gt;double&lt;/code&gt;, &lt;code&gt;float&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt; deren Wrapper-Klassen sowie eigene Objekte und am Ende ist doch alles nur ein &lt;code&gt;Object&lt;/code&gt;, oder? Doch irgendwie gibt es da noch mehr denn was ist denn eigentlich dieser komische Typ &lt;code&gt;T&lt;/code&gt; den man schon mal irgendwo gesehen hat?&lt;/p&gt;
&lt;p&gt;In diesem Beitrag soll es um generische Datentypen gehen und ich möchte dir an einem kurzen Beispiel zeigen, wie sie anzuwenden sind.</description>
      <pubDate>Fri, 28 Feb 2025 22:07:03 +0100</pubDate>
      <guid isPermaLink="false">30509845a0bfb652c76be9f13493a52c</guid>
    </item>
    <item>
      <title>Interfaces vs. abstrakte Klassen in Java</title>
      <link>https://magicmarcy.de/interfaces-vs-abstrakte-klassen-in-java</link>
      <image/>
      <description>&lt;p&gt;Ich hatte erst kürzlich einen Beitrag über objektorientierte Programmierung in Java geschrieben. Diesen findest du &lt;a href="https://magicmarcy.de/was-ist-denn-eigentich-objektorientierte-programmierung-und-wozu-soll-das-gut-sein"&gt;hier&lt;/a&gt;. Da der Beitrag eh schon recht lang geworden war, wollte ich das Thema Interfaces und abstrakte Klassen und dessen Unterschiede in einem separaten Beitrag noch einmal aufgreifen, denn sie gehören zu den wichtigsten Konzepten der objektorientierten Programmierung.&lt;/p&gt;
&lt;p&gt;Beide dienen dazu, eine gemeinsame Basis für mehrere Klassen bereitzustellen, aber sie haben unterschiedliche Anwendungsfälle und Einschränkungen. In diesem Beitrag erkläre ich die Unterschiede anhand eines einfachen Beispiels und erläutere, wann welche Technik sinnvoll eingesetzt wird.</description>
      <pubDate>Mon, 24 Feb 2025 20:19:54 +0100</pubDate>
      <guid isPermaLink="false">74bf65803282b3772400af161b0a7bf8</guid>
    </item>
    <item>
      <title>Rekursion in Java – Einfach und schnell erklärt</title>
      <link>https://magicmarcy.de/rekursion-in-java-%E2%80%93-einfach-und-schnell-erklaert</link>
      <image/>
      <description>&lt;p&gt;Die Rekursion ist ein grundlegendes Konzept in der Programmierung, das sich besonders für Probleme eignet, die sich in kleinere, gleichartige Teilprobleme zerlegen lassen. Es ist ein mächtiges Werkzeug, um Probleme elegant zu lösen. Dabei sind eine &lt;strong data-start="2832" data-end="2858"&gt;klare Abbruchbedingung&lt;/strong&gt; und ein &lt;strong data-start="2867" data-end="2902"&gt;verständliches Rekursionsmuster&lt;/strong&gt; sehr wichtig.&lt;/p&gt;
&lt;p data-start="481" data-end="707"&gt;Rekursion bezeichnet dabei eine Methode, die sich selbst aufruft, bis eine bestimmte Abbruchbedingung erreicht ist. </description>
      <pubDate>Thu, 20 Feb 2025 21:48:31 +0100</pubDate>
      <guid isPermaLink="false">2b6da57deeec30414858b23881dd8638</guid>
    </item>
    <item>
      <title>Switch-Cases in Java</title>
      <link>https://magicmarcy.de/switches-in-java</link>
      <image/>
      <description>&lt;p&gt;Die Switch-Case-Anweisung ist eine Kontrollstruktur in Java, die es dir ermöglicht, einen Ausdruck auf verschiedene mögliche Werte zu überprüfen und - je nach Wert - unterschiedliche Anweisungen auszuführen. Switch-Cases werden vor allem genutzt, um komplexe Verschachtelungen von if-else-Anweisungen zu vermeiden.&lt;/p&gt;
&lt;p&gt;Über die Jahre hinweg haben sie die Switch-Case-Anweisungen immer wieder verbessert und sind heute ein wirklich mächtiges Werkzeug.</description>
      <pubDate>Mon, 17 Feb 2025 21:17:24 +0100</pubDate>
      <guid isPermaLink="false">53a0cb72d87441fbc9266e3e118948e7</guid>
    </item>
    <item>
      <title>Exception Handling in Java - Grundlagen und Best Practices</title>
      <link>https://magicmarcy.de/exception-handling-in-java-grundlagen-und-best-practices</link>
      <image/>
      <description>&lt;p data-pm-slice="1 1 []"&gt;&lt;span&gt;Exception Handling ist ein wichtiger Bestandteil der (Java)-Programmierung da Fehler und Unerwartetes jederzeit auftreten kann. Ein gutes Exception Handling stellt in solchen Fällen sicher, dass Programme stabil und benutzerfreundlich bleiben. In diesem Beitrag erkläre ich, was Exceptions sind und wie wir sie in Java einsetzen können.</description>
      <pubDate>Sat, 15 Feb 2025 18:55:03 +0100</pubDate>
      <guid isPermaLink="false">b885a57b4e73df7335f24f4be5a1d017</guid>
    </item>
    <item>
      <title>Was ist denn eigentlich objektorientierte Programmierung und wozu soll das gut sein?</title>
      <link>https://magicmarcy.de/was-ist-denn-eigentich-objektorientierte-programmierung-und-wozu-soll-das-gut-sein</link>
      <image/>
      <description>&lt;p&gt;Du hast sicher auch schon, gerade wenn du dich etwas weiter mit der Programmierung beschäftigst, den Begriff "Objektorientierte Programmierung", kurz OOP, gehört oder gelesen. Dieses Konzept ist gerade in der Programmiersprache Java weit verbreitet und findet auch hohen Anklag.&lt;/p&gt;
&lt;p&gt;Doch was ist das eigentlich? Was bedeutet das konkret und wie wird das umgesetzt? Genau darüber möchte ich in diesem Artikel sprechen.</description>
      <pubDate>Thu, 13 Feb 2025 22:00:42 +0100</pubDate>
      <guid isPermaLink="false">c8baf10667334e460603bd8592711a8d</guid>
    </item>
    <item>
      <title>Liste der Programmier-Paradigmen</title>
      <link>https://magicmarcy.de/liste-der-programmier-paradigmen</link>
      <image/>
      <description>&lt;p&gt;In der Programmierung gibt es verschiedenen Programmier-Paradigmen. Ein Paradigma beschreibt einen bestimmten Ansatz oder Stil, Probleme zu lösen und Software zu entwickeln. Die zwei bekanntesten Programmier-Paradigmen sind objektorientierte und prozeduale Programmierung.&lt;/p&gt;
&lt;p&gt;Es gibt viele Überschneidungen und Mischformen und oft werden Paradigmen in Kombination verwendet um Vorteile verschiedener Ansätze zu nutzen.</description>
      <pubDate>Thu, 13 Feb 2025 19:30:13 +0100</pubDate>
      <guid isPermaLink="false">434852a01038a4489a6451f6c88954e0</guid>
    </item>
    <item>
      <title>Wenn du dein Hobby zum Beruf machst, hast du kein Hobby mehr</title>
      <link>https://magicmarcy.de/wenn-du-dein-hobby-zum-beruf-machst-hast-du-kein-hobby-mehr</link>
      <image/>
      <description>&lt;h4&gt;&lt;em&gt;"Mach dein Hobby zum Beruf, das ist das Beste, was dir passieren kann!"&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;So oder so ähnlich hast du diesen Satz sicher schon einmal gehört oder gelesen. Mach dein Hobby zum Beruf und du hast einen Beruf, der dir immer Spaß macht, in dem du aufgehen kannst und der dir ein Leben lang Freude bereitet. Man sagt, das ist im Grunde das Beste, was dir passieren kann, du wirst bis an dein Lebensende Freude daran haben, glücklich und zufrieden sein. Und im Grunde ist da auch etwas Wahres dran.</description>
      <pubDate>Tue, 11 Feb 2025 00:23:06 +0100</pubDate>
      <guid isPermaLink="false">5636008d4e07477d3a37119d22328056</guid>
    </item>
    <item>
      <title>Blackbox Badge</title>
      <link>https://magicmarcy.de/blackbox-badge</link>
      <image/>
      <description>&lt;p&gt;[blackbox-badge]&lt;/p&gt;</description>
      <pubDate>Wed, 01 Jan 2025 00:00:00 +0100</pubDate>
      <guid isPermaLink="false">autosave-a6a6aca3cd1eb444bc4e902af8b4ece8</guid>
    </item>
    <item>
      <title>Was bringt 2025</title>
      <link>https://magicmarcy.de/was-bringt-2025</link>
      <image/>
      <description>&lt;p&gt;Das Jahr neigt sich dem Ende und ich blicke zurück auf ein anstrengendes Jahr. Ein Jahr in dem ich wieder viel gelernt habe, viele Erfahrungen sammeln konnte und sich auch meine Skills weiter verbessert haben. Beruflich ein durchaus erfolgreiches Jahr, könnte man sagen. Ich bin zufrieden mit mir und meiner Arbeit.</description>
      <pubDate>Sun, 22 Dec 2024 11:25:48 +0100</pubDate>
      <guid isPermaLink="false">d0b46915196d31c070ec31d2e85fd5b1</guid>
    </item>
    <item>
      <title>Okay Google, ich gebe auf ...</title>
      <link>https://magicmarcy.de/okay-google-ich-gebe-auf</link>
      <image/>
      <description>&lt;p&gt;Wie ich bereits in einigen anderen Beiträgen geschrieben habe, konsumiere ich reichlich Content auf YouTube. Das ist so mein daily Fernsehprogramm und ich kann hier auch Dinge, die ich interessant finde einfach anschauen, wann es mir passt. Das hat das klassische Fernsehen, wie man es noch kannte, bei mir vollständig abgelöst.</description>
      <pubDate>Fri, 20 Dec 2024 23:01:17 +0100</pubDate>
      <guid isPermaLink="false">c6d5bf755f8cb2966ebe3cf98d98f153</guid>
    </item>
    <item>
      <title>Dein eigener YouTube- und News-Feed</title>
      <link>https://magicmarcy.de/dein-eigener-youtube-feed</link>
      <image/>
      <description>&lt;p&gt;Vielleicht hast du es schon einmal gehört: "Ein Kommentar für den Algorhitmus" oder "Like für den Algorhitmus". Damit ist gemeint, dass durch die Interaktion mit dem jeweiligen Medium ein Algorhitmus ausgelöst wird, der das Konsumierte weiterempfiehlt und ihm mehr Bedeutung beimisst. Denn je mehr Menschen interagieren, desto interessanter wird es - oder?</description>
      <pubDate>Thu, 09 May 2024 20:00:01 +0200</pubDate>
      <guid isPermaLink="false">3925ae772316ce6fa9ab93ab06971e08</guid>
    </item>
    <item>
      <title>Bludit zu Mastodon (Plugin)</title>
      <link>https://magicmarcy.de/bludit-zu-mastodon-plugin</link>
      <image/>
      <description>&lt;p&gt;Wie du vielleicht schon mitbekommen hast, habe ich WordPress schon seit längerer Zeit den Rücken gekehrt und habe mich für die Alternative Bludit entschieden. Meinen Erfahrungsbericht dazu kannst du &lt;a href="https://magicmarcy.de/bludit-ein-resümee"&gt;hier&lt;/a&gt; nachlesen.&lt;/p&gt;
&lt;p&gt;Ich bin nach wie vor sehr zufrieden damit und es ist für mich und meinen Anwendungsfall genau das Richtige. </description>
      <pubDate>Sat, 04 May 2024 14:49:03 +0200</pubDate>
      <guid isPermaLink="false">221928bbd5e9062e5dbb2235301685d9</guid>
    </item>
    <item>
      <title>YouTube vs. Firefox</title>
      <link>https://magicmarcy.de/youtube-vs-firefox</link>
      <image/>
      <description>&lt;p&gt;Der interessierte Beobachter wird bereits wissen, dass Google bzw. YouTube sehr daran interessiert ist, dass man zum Anschauen von Videos auf YouTube einen Chromium-basierten Browser verwendet, am besten natürlich Google Chrome. Und Google macht auch kein Geheimnis daraus, denn es gab in der Vergangenheit immer wieder Situationen, die für Firefox-Nutzer nicht ganz so angenehm waren und sind.</description>
      <pubDate>Fri, 03 May 2024 11:15:19 +0200</pubDate>
      <guid isPermaLink="false">afaf2b90c4366db800c0d0e70c087faf</guid>
    </item>
    <item>
      <title>KI und Coding Assistant für alle?</title>
      <link>https://magicmarcy.de/ki-und-coding-assistant-fuer-alle</link>
      <image/>
      <description>&lt;p&gt;Das Thema KI ist derzeit in aller Munde und rückt auch im Bereich des Coding immer mehr in den Fokus.&lt;/p&gt;
&lt;p&gt;Neben ChatGPT gibt es mittlerweile eine Reihe von Tools, die uns nicht nur bei kniffligen Problemen Fragen beantworten, sondern sogar ganze Methoden oder gar Klassen zur Lösung komplexer Probleme erstellen können. Es ist auch möglich, JavaDoc für seine bestehenden Methoden generieren zu lassen, was in vielen Fällen wirklich gut funktioniert.</description>
      <pubDate>Sun, 11 Feb 2024 13:42:11 +0100</pubDate>
      <guid isPermaLink="false">25f009f28ac272c6d9c8fc816fc5c075</guid>
    </item>
    <item>
      <title>Java Records leicht und schnell</title>
      <link>https://magicmarcy.de/java-records-leicht-und-schnell</link>
      <image/>
      <description>&lt;p&gt;Vielleicht hast du bereits schon das ein oder andere Mal von Java Records gehört doch der richtige Anwendungsfalle erschließt sich dir nicht? Oder fehlt dir einfach noch ein bisschen Wissen um Records richtig einsetzen zu können?&lt;/p&gt;
&lt;p&gt;Dann erkläre ich dir nun hier, schnell und einfach, wie du Java Records in deinen zukünftigen Projekten richtig einsetzen kannst.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Mon, 27 Nov 2023 21:01:35 +0100</pubDate>
      <guid isPermaLink="false">d58a86fbc59adcc032f02782d8691da6</guid>
    </item>
    <item>
      <title>"Wir wollen doch nur dein Bestes!" - Wir müssen reden...</title>
      <link>https://magicmarcy.de/wir-wollen-nur-dein-bestes</link>
      <image/>
      <description>&lt;p&gt;Die meisten, die mich nun schon ein Weilchen kennen wissen, dass ich einiges meiner Freizeit auf Plattformen wie Twitch und YouTube zu Konsumzwecken verbringe (wenn nicht, dann bist du jetzt im Bilde). Gern schaue ich - wie vielleicht du auch - ein paar Videos oder Livestreams zur Entspannung, zum Lernen, Nachschlagen oder einfach zur Unterhaltung und dies hat sogar für mich das klassische Fernsehen oder sogar das Filme und Serien schauen so gut wie abgelöst.&lt;/p&gt;
&lt;p&gt;Doch in den letzten Jahren hat sich einiges geändert und das bringt mich dazu diesen Beitrag zu schreiben.</description>
      <pubDate>Sun, 12 Nov 2023 16:00:12 +0100</pubDate>
      <guid isPermaLink="false">de3e8f712bc96b6b3a593a48e0a61a05</guid>
    </item>
    <item>
      <title>Netzschau #1</title>
      <link>https://magicmarcy.de/netzschau-1</link>
      <image/>
      <description>&lt;p&gt;Was ist los im Internet, was gab es Lustiges, Interessantes oder Wissenswertes in der letzten Zeit? Hier ist die Zusammenfassung, gefiltert nach meinen persönlichen Interessen (politisches ist ausdrücklich NICHT Teil dieses Formats!). </description>
      <pubDate>Sun, 05 Nov 2023 13:44:45 +0100</pubDate>
      <guid isPermaLink="false">f49447331ead0dd074b3676d0bf5f7a9</guid>
    </item>
    <item>
      <title>Bludit - ein Resümee</title>
      <link>https://magicmarcy.de/bludit-ein-res%C3%BCmee</link>
      <image/>
      <description>&lt;p&gt;&lt;a href="https://magicmarcy.de/adieu-wordpress-willkommen-bludit"&gt;Vor etwa einem halben Jahr&lt;/a&gt; habe ich mich für meinen persönlichen Blog von WordPress getrennt. Nachdem ich viele verschiedene Lösungen ausprobiert habe, bin ich schließlich bei Bludit gelandet. Ich hatte damals versprochen, etwas ausführlicher darüber zu schreiben und meine Eindrücke und Erfahrungen zu teilen.</description>
      <pubDate>Sat, 05 Aug 2023 12:11:07 +0200</pubDate>
      <guid isPermaLink="false">86a0bcdbfec0dcb2af79d46485b8d195</guid>
    </item>
    <item>
      <title>justBookmarks: Was geht'n?</title>
      <link>https://magicmarcy.de/justbookmarks-was-geht-n</link>
      <image/>
      <description>&lt;p&gt;Im Moment ist es etwas ruhiger um justBookmarks geworden, zumindest was die öffentlichen Informationen betrifft. Das liegt daran, dass im Hintergrund ein größeres Redesign läuft, das noch etwas Zeit in Anspruch nehmen wird.&lt;br&gt;&lt;br&gt;Das Redesign behebt einige der größeren Baustellen, die ich mit dem bisherigen Design hatte - vor allem den Punkt, dass das Ganze mit zunehmender Anzahl an Kategorien viel zu unübersichtlich wird. Mit der Einführung von Kategorien in bis zu drei Ebenen hat sich das Problem eher noch verschärft. Aber auch die Tatsache, dass die Darstellung der einzelnen Bookmarks nicht optimal ist, wird mit dem Redesign behoben.</description>
      <pubDate>Sat, 05 Aug 2023 11:21:37 +0200</pubDate>
      <guid isPermaLink="false">2e9d05ad3578364540ce1de7ace62d45</guid>
    </item>
    <item>
      <title>Das Problem mit den Algorithmen von YouTube und Co.</title>
      <link>https://magicmarcy.de/das-problem-mit-den-algorithmen-von-youtube-und-co</link>
      <image/>
      <description>&lt;p&gt;Du kennst das sicherlich auch: Du schaust dir auf YouTube ein paar Videos zu einem Thema an, das dich gerade interessiert. Vielleicht geht es um Musik, ein Spiel, ein technisches Thema oder einfach um etwas, das dir zufällig vorgeschlagen wurde. Danach passiert genau das, was man erwartet: YouTube zeigt dir weitere Videos zu diesem oder einem ähnlichen Thema an. Erstmal ist das völlig in Ordnung, denn Empfehlungen können ja durchaus hilfreich sein. Wenn ich mir ein Video zu einem bestimmten Thema anschaue, ist es nicht abwegig, dass ich vielleicht noch ein weiteres dazu sehen möchte.</description>
      <pubDate>Wed, 28 Jun 2023 17:46:40 +0200</pubDate>
      <guid isPermaLink="false">e50a9742950bf5eb3d353800dcecd151</guid>
    </item>
    <item>
      <title>justBookmarks 2023.1.0.alpha</title>
      <link>https://magicmarcy.de/justbookmarks-2023-1-0-alpha</link>
      <image/>
      <description>&lt;p&gt;Es gibt wieder ein paar kleinere Updates zu justBookmarks.&lt;/p&gt;
&lt;p&gt;Bereits vor ein paar Tagen ist die offizielle Version 2023.1.0.alpha erschienen.Folgende Änderungen sind mit der neuen Version erschienen:</description>
      <pubDate>Sat, 03 Jun 2023 10:57:20 +0200</pubDate>
      <guid isPermaLink="false">cf9af0f9d110321bfd87dbf278ff0211</guid>
    </item>
    <item>
      <title>justBookmarks: Volltextsuche (Quicksearch)</title>
      <link>https://magicmarcy.de/justbookmarks-neues-feature-volltextsuche-quicksearch</link>
      <image/>
      <description>&lt;p&gt;Bei meiner täglichen Arbeit mit justBookmarks ist mir aufgefallen, dass ich oft Probleme habe, bestimmte Bookmarks wiederzufinden. Ich habe zwar viele Kategorien und Unterkategorien, aber manchmal weiß ich einfach nicht mehr, wo genau ich etwas abgelegt habe und muss mich durch mehrere Kategorien klicken, um das Gesuchte zu finden. Deshalb hatte ich die Idee, eine vernünftige Suchfunktion zu bauen.</description>
      <pubDate>Sun, 19 Mar 2023 23:18:43 +0100</pubDate>
      <guid isPermaLink="false">4a03cc9d42a0e1f872203e97e0feb0a5</guid>
    </item>
    <item>
      <title>justBookmarks v0.6.227</title>
      <link>https://magicmarcy.de/justbookmarks-v0-6-227</link>
      <image/>
      <description>&lt;p&gt;Bereits am gestrigen Abend ist eine neue Version von justBookmarks erschienen: v0.6.227. Benutzer der offiziellen Alpha-Version auf &lt;a href="https://bookmarks.magicmarcy.de" target="_blank" rel="noopener"&gt;bookmarks.magicmarcy.de&lt;/a&gt; haben diese Änderungen schon seit ein paar Tagen.&lt;/p&gt;
&lt;p&gt;Es sind wieder einige kleinere Bugfixes und Verbesserungen enthalten, wie z.B. das Anlegen von Subkategorien oder - jetzt offiziell in dieser Version - das Bookmarklet, mit dem du jede Webseite mit einem Klick zu deinen Bookmarks hinzufügen kannst. Ebenfalls in dieser Version enthalten ist, dass nun - wenn möglich - automatisch ein Favoriten-Icon zu deinen Bookmarks angezeigt wird sowie kleinere Designanpassungen.&lt;/p&gt;
&lt;p&gt;Es gibt aber noch einige offene Punkte, zu denen ich einfach noch nicht gekommen bin, und natürlich sind weitere Verbesserungen geplant.</description>
      <pubDate>Wed, 08 Mar 2023 19:03:06 +0100</pubDate>
      <guid isPermaLink="false">b174f51f23623c5090f7631a1215aa4b</guid>
    </item>
    <item>
      <title>Adieu WordPress - willkommen Bludit!</title>
      <link>https://magicmarcy.de/adieu-wordpress-willkommen-bludit</link>
      <image/>
      <description>&lt;p&gt;Wahrscheinlich ist es nur den wenigsten Lesern aufgefallen, aber vielleicht hast gerade du bemerkt, dass meine Website nicht mehr mit WordPress betrieben wird - obwohl ich sie erst kürzlich umgestellt habe. Auf den ersten Blick sieht die Seite für dich aber wahrscheinlich nur wieder etwas anders aus.&lt;/p&gt;
&lt;p&gt;Aber der Reihe nach...&lt;/p&gt;
&lt;p&gt;Vor ein paar Wochen erst habe ich meine Webseite mit allen Artikeln und Projektinfos von meinem RaspberryPi auf meinen Webhoster umgezogen. Dies vor allem deshalb, weil die Performance der Webseite durch die vielen Projekte stark gelitten hatte.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Sun, 26 Feb 2023 23:39:03 +0100</pubDate>
      <guid isPermaLink="false">d27ba9d5ec1279b6610a7813606f4fe4</guid>
    </item>
    <item>
      <title>Donate / Support</title>
      <link>https://magicmarcy.de/donate</link>
      <image/>
      <description>&lt;p&gt;Wenn dir meine Tutorials und Projekte auf &lt;strong&gt;magicmarcy.de&lt;/strong&gt; helfen und gefallen, kannst du mich hier unterstützen. Das ist komplett freiwillig - kein Druck.  &lt;/p&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;Drei einfache Möglichkeiten&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Kostenlos weiterhelfen&lt;/strong&gt;&lt;br /&gt;
Empfiehl einen Artikel oder ein Projekt an jemanden, der Java lernt, oder gib einem meiner Repositories auf GitHub einen Star.&lt;br /&gt;
Links: &lt;a href="https://github.com/magicmarcy"&gt;GitHub / Projekte&lt;/a&gt; | &lt;a href="/"&gt;Alle Beiträge&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ko-fi (einmalig oder regelmäßig)&lt;/strong&gt;&lt;br /&gt;
Wenn du diesen Blog finanziell unterstützen möchtest, ist Ko-fi der unkomplizierteste Weg.&lt;br /&gt;
Link: &lt;a href="https://ko-fi.com/magicmarcy"&gt;Auf Ko-fi unterstützen&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amazon Wishlist&lt;/strong&gt;&lt;br /&gt;
Wenn du lieber etwas Konkretes beisteuern willst, findest du hier eine Liste mit Dingen die ich gern besitzen würde (ggf. nicht in direktem Zusammenhang mit dem Blog).&lt;br /&gt;
Link: &lt;a href="https://www.amazon.de/hz/wishlist/ls/33BLW9J6YQQ8W"&gt;Wishlist ansehen&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;Wofür ich die finanzielle Unterstützung nutze&lt;/h4&gt;
&lt;p&gt;Für den Betrieb und die Pflege von magicmarcy.de (z. B. Hosting/Domain), Tools/Services rund um Entwicklung und - wenn sinnvoll - kleinere Hardware/Zubehör für Inhalte und Projekte.&lt;/p&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;Kurz-FAQ&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Gibt es Inhalte hinter einer Paywall?&lt;/strong&gt;&lt;br /&gt;
Nein. Der Blog bleibt frei zugänglich.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ist das eine Spende im rechtlichen Sinn?&lt;/strong&gt;&lt;br /&gt;
Es ist als freiwillige Unterstützung ohne Gegenleistung gedacht.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Was hilft am meisten?&lt;/strong&gt;&lt;br /&gt;
Eine Empfehlung an eine Person, die Java lernt, wirkt oft mehr als man denkt.&lt;/p&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;Danke!&lt;/h4&gt;</description>
      <pubDate>Sun, 26 Feb 2023 22:05:24 +0100</pubDate>
      <guid isPermaLink="false">94a7a4a59c099ed01ca838a7f1d16554</guid>
    </item>
    <item>
      <title>Impressum</title>
      <link>https://magicmarcy.de/impressum</link>
      <image/>
      <description>&lt;p&gt; &lt;br /&gt;
&lt;strong&gt;Diensteanbieter / Verantwortliche Person&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Marcel Lorenz&lt;br /&gt;
&lt;small&gt;&lt;em&gt;a.k.a. magicmarcy&lt;/em&gt;&lt;/small&gt;&lt;br /&gt;
Fachinformatiker für Anwendungsentwicklung (IHK)&lt;br /&gt;
IHK-geprüfter Ausbilder nach AEVO  &lt;/p&gt;
&lt;p&gt;&lt;span class="street"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="plz"&gt;&lt;/span&gt;&lt;br /&gt;
Deutschland&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kontakt&lt;/strong&gt;&lt;br /&gt;
E-Mail: &lt;span class="mail"&gt;&lt;/span&gt;&lt;br /&gt;
Telefon: &lt;span class="tel"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kontakt bitte ausschließlich über das &lt;a href="/kontakt"&gt;Kontaktformular&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Redaktionell verantwortlich:&lt;br /&gt;
Marcel Lorenz, Anschrift wie oben.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inhalt und Ausrichtung&lt;/strong&gt;&lt;br /&gt;
magicmarcy.de ist ein privates, nicht kommerzielles Projekt. Ich veröffentliche hier gelegentlich Beiträge rund um Softwareentwicklung (insbesondere Java) und Themen, die mir im IT-Alltag begegnen - mit einem Schwerpunkt auf verständlichen Inhalten für Programmier-Einsteiger. Zusätzlich präsentiere ich eigene Projekte; diese sind frei verfügbar und in der Regel Open Source. Details und Quellcode finden sich auf der jeweiligen GitHub-Seite. Es gibt keine Werbung und keine bezahlten Inhalte. Eine freiwillige Unterstützung ist über Spenden (z. B. Ko-fi) möglich.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Haftungshinweis&lt;/strong&gt;&lt;br /&gt;
Die Inhalte werden mit Sorgfalt erstellt, es besteht jedoch kein Anspruch auf Vollständigkeit, Richtigkeit oder Aktualität. Bitte beachte das jeweilige Veröffentlichungsdatum der Beiträge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Datenschutzerklärung&lt;/strong&gt;&lt;br /&gt;
Eine separate Datenschutzerklärung findest du unter: &lt;a href="/datenschutzerklaerung"&gt;Datenschutzerklärung&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 26 Feb 2023 22:03:04 +0100</pubDate>
      <guid isPermaLink="false">dc8338fbfbd77f4c817873b3ed517364</guid>
    </item>
    <item>
      <title>Datenschutzerklärung</title>
      <link>https://magicmarcy.de/datenschutzerklaerung</link>
      <image/>
      <description>&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Allgemeine Hinweise&lt;/h3&gt;
&lt;p&gt;Der Schutz deiner Daten ist mir wichtig. Diese Website ist so gestaltet, dass so wenig personenbezogene Daten wie möglich verarbeitet werden. Bestimmte Verarbeitungen lassen sich technisch jedoch nicht vollständig vermeiden (z. B. Server-Logfiles beim Hosting). Personenbezogene Daten werden darüber hinaus nur verarbeitet, wenn du sie aktiv angibst (z. B. beim Kommentieren) oder wenn du externe Inhalte bewusst nachlädst (z. B. YouTube).&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Verantwortlicher&lt;/h3&gt;
&lt;p&gt;Verantwortlich für die Datenverarbeitung auf dieser Website ist:&lt;/p&gt;
&lt;p&gt;Marcel Lorenz&lt;br /&gt;
&lt;span class="street"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="plz"&gt;&lt;/span&gt;&lt;br /&gt;
Deutschland  &lt;/p&gt;
&lt;p&gt;E-Mail: &lt;span class="mail"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kontakt bitte ausschließlich über das &lt;a href="/kontakt"&gt;Kontaktformular&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Hosting und Server-Logfiles&lt;/h3&gt;
&lt;p&gt;Beim Besuch dieser Website werden durch den Hosting-Provider standardmäßig Zugriffsdaten in sogenannten Server-Logfiles verarbeitet. Dabei können insbesondere folgende Daten anfallen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IP-Adresse (in der Regel in Logfiles enthalten)&lt;/li&gt;
&lt;li&gt;Datum und Uhrzeit der Anfrage&lt;/li&gt;
&lt;li&gt;aufgerufene Seite/Datei (URL/Pfad)&lt;/li&gt;
&lt;li&gt;Referrer-URL (zuvor besuchte Seite, sofern übertragen)&lt;/li&gt;
&lt;li&gt;Browsertyp/-version, Betriebssystem&lt;/li&gt;
&lt;li&gt;HTTP-Statuscode, übertragene Datenmenge&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Zweck der Verarbeitung&lt;/strong&gt; ist der technische Betrieb der Website, die Stabilität und Sicherheit (z. B. Abwehr von Angriffen) sowie die Fehleranalyse.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt; ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse am sicheren und zuverlässigen Betrieb der Website).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Empfänger&lt;/strong&gt; der Daten ist der Hosting-Provider:
IONOS SE, Elgendorfer Str. 57, 56410 Montabaur, Deutschland&lt;br /&gt;
Mit dem Hosting-Provider besteht - sofern erforderlich - ein Vertrag zur Auftragsverarbeitung (Art. 28 DSGVO).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Speicherdauer:&lt;/strong&gt; Server-Logfiles werden durch IONOS für maximal 8 Wochen gespeichert und anschließend gelöscht.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Eingebettete YouTube-Videos (2-Klick-Lösung)&lt;/h3&gt;
&lt;p&gt;Einige Beiträge auf dieser Website enthalten eingebettete YouTube-Videos. Diese Videos werden mit einem datenschutzfreundlichen, selbst implementierten Mechanismus geladen, sodass beim Aufruf des Beitrags zunächst &lt;strong&gt;keine&lt;/strong&gt; Verbindung zu Google/YouTube aufgebaut wird.&lt;/p&gt;
&lt;p&gt;Erst wenn du aktiv auf „Video laden“ klickst, wird eine Verbindung zu den Servern von YouTube hergestellt, um das Video abzuspielen. Dabei können insbesondere Informationen wie deine IP-Adresse sowie technische Daten (z. B. Browserinformationen) an Google/YouTube übermittelt werden. Es können außerdem Cookies bzw. ähnliche Technologien von YouTube eingesetzt werden.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt; für das Nachladen des Videos ist deine Einwilligung durch die aktive Handlung („Video laden“) gemäß Art. 6 Abs. 1 lit. a DSGVO.&lt;/p&gt;
&lt;p&gt;Weitere Informationen zum Datenschutz bei Google/YouTube findest du unter:
&lt;a href="https://policies.google.com/privacy"&gt;https://policies.google.com/privacy&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Google Search Console (Eigentumsbestätigung)&lt;/h3&gt;
&lt;p&gt;Ich nutze die Google Search Console, um die technische Auffindbarkeit meiner Website in der Google-Suche zu prüfen (z. B. Indexierungsstatus, Crawling-Fehler). Für die Eigentumsbestätigung habe ich eine von Google bereitgestellte HTML-Datei im Root-Verzeichnis dieser Domain hinterlegt. Diese Datei dient ausschließlich dem Nachweis, dass ich die Domain verwalte.&lt;/p&gt;
&lt;p&gt;Auf der Website selbst wird dadurch kein zusätzliches Tracking-Skript eingebunden und es werden darüber keine Cookies gesetzt. Die Auswertung erfolgt im Google-Dashboard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt; ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an der technischen Optimierung und stabilen Bereitstellung der Website).&lt;/p&gt;
&lt;p&gt;Weitere Informationen: &lt;a href="https://policies.google.com/privacy"&gt;https://policies.google.com/privacy&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Ko-fi-Spendenbutton / -Link&lt;/h3&gt;
&lt;p&gt;Auf dieser Website ist ein Ko-fi-Spendenbutton und/oder -Link eingebunden. Beim Klicken auf diesen Button/Link wird eine Verbindung zu Ko-fi.com hergestellt. Dabei können technisch bedingt Informationen wie deine IP-Adresse oder Browserdaten an Ko-fi übermittelt werden. Auf die Datenverarbeitung durch Ko-fi habe ich keinen Einfluss.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt; ist Art. 6 Abs. 1 lit. a DSGVO (Einwilligung durch das aktive Anklicken) bzw. Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse, eine freiwillige Unterstützungsmöglichkeit anzubieten).&lt;/p&gt;
&lt;p&gt;Informationen zur Datenverarbeitung bei Ko-fi findest du hier:
&lt;a href="https://ko-fi.com/privacy"&gt;https://ko-fi.com/privacy&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Reichweitenmessung (keine Drittanbieter-Tracking-Tools)&lt;/h3&gt;
&lt;p&gt;Diese Website verwendet keine Trackingdienste und keine Analyse-Tools wie Google Analytics o. ä.&lt;/p&gt;
&lt;p&gt;Es werden lediglich Aufrufe (Klicks) auf die Startseite, Beiträge oder Kategorien gezählt. Dabei erfolgt keine Speicherung personenbezogener Daten, insbesondere werden keine IP-Adressen gespeichert und es werden keine Nutzerprofile erstellt. Die Zählung erfolgt ausschließlich als aggregierter Zähler pro Seite/Kategorie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt; ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer einfachen Reichweitenmessung und an der technischen Optimierung der Website).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Speicherdauer:&lt;/strong&gt; Es werden keine personenbezogenen Rohdaten gespeichert. Die reinen Zählerstände bleiben gespeichert, bis sie von mir zurückgesetzt oder gelöscht werden.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Kommentarfunktion&lt;/h3&gt;
&lt;p&gt;Auf dieser Website besteht die Möglichkeit, öffentliche Kommentare zu Beiträgen zu hinterlassen. Bei der Nutzung der Kommentarfunktion werden folgende Angaben verarbeitet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;der eingegebene Name (Pseudonym möglich)&lt;/li&gt;
&lt;li&gt;die angegebene E-Mail-Adresse (wird nicht veröffentlicht; dient der Zuordnung zusammenhängender Kommentare)&lt;/li&gt;
&lt;li&gt;der Kommentartext&lt;/li&gt;
&lt;li&gt;technische Angaben zur Missbrauchsvermeidung (z. B. IP-Adresse oder eine daraus abgeleitete/gehashte Variante)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Zwecke der Verarbeitung:&lt;/strong&gt; Darstellung einer nachvollziehbaren Diskussion, Missbrauchs-/Spamvermeidung sowie ggf. rechtliche Einordnung/Abwehr bei rechtswidrigen Inhalten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlagen:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Veröffentlichung und Speicherung deines Kommentars: Art. 6 Abs. 1 lit. a DSGVO (Einwilligung durch das Absenden)&lt;/li&gt;
&lt;li&gt;technische Missbrauchsvermeidung und Sicherheit: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Speicherdauer:&lt;/strong&gt;&lt;br /&gt;
Kommentare (inkl. der zugehörigen Angaben) werden grundsätzlich dauerhaft gespeichert, sofern du keine Löschung verlangst und keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Wenn du möchtest, dass dein Kommentar inklusive der zugehörigen Daten gelöscht wird, genügt eine kurze Nachricht an die oben angegebene Kontaktadresse. Es ist auch möglich, deine Angaben ohne den Kommentar zu löschen - dieser wird danach pseudonymisiert angezeigt.&lt;/p&gt;
&lt;p&gt;Hinweis: Öffentliche Kommentare werden manuell moderiert/freigegeben; daher kann es dauern, bis ein Kommentar sichtbar ist.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Kontaktaufnahme&lt;/h3&gt;
&lt;p&gt;Wenn du mich über das Kontaktformular kontaktierst, verarbeite ich die von dir eingegebenen Daten zur Bearbeitung deiner Anfrage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Verarbeitete Daten (bei Nutzung des Formulars)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name (Pflichtfeld)&lt;/li&gt;
&lt;li&gt;E‑Mail‑Adresse (Pflichtfeld)&lt;/li&gt;
&lt;li&gt;Nachrichtentext (Pflichtfeld)&lt;/li&gt;
&lt;li&gt;Betreff (&lt;em&gt;wird angezeigt, ist nicht bearbeitbar; wird serverseitig fest vorgegeben und zusammen mit der Nachricht gespeichert&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Optional: Checkbox „Kopie an mich senden“ (&lt;em&gt;wird im Formular standardmäßig angeboten&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Technische Metadaten, die beim Absenden automatisch übermittelt und gespeichert werden:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IP‑Adresse&lt;/li&gt;
&lt;li&gt;User‑Agent (Browser-/Geräteinformationen)&lt;/li&gt;
&lt;li&gt;Datum/Uhrzeit der Übermittlung&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Zweck der Verarbeitung&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entgegennahme, Speicherung und Bearbeitung deiner Kontaktanfrage.&lt;/li&gt;
&lt;li&gt;Versand einer Kopie deiner Nachricht an dich, wenn du die Checkbox „Kopie an mich senden“ aktivierst (sofern die E‑Mail-Funktion eingerichtet ist).&lt;/li&gt;
&lt;li&gt;Beantwortung deiner Anfrage per E‑Mail durch uns.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt;&lt;br /&gt;
Art. 6 Abs. 1 lit. b DSGVO (vorvertragliche Kommunikation/Vertrag), sofern deine Anfrage darauf gerichtet ist, andernfalls&lt;br /&gt;
Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an der Bearbeitung von Anfragen).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Speicherdauer&lt;/strong&gt;&lt;br /&gt;
Die über das Kontaktformular übermittelten Inhalte werden im Backend gespeichert und bleiben dort, bis sie manuell durch einen Administrator gelöscht werden. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Empfänger / Weitergabe (E‑Mail-Versand über IONOS)&lt;/strong&gt;&lt;br /&gt;
Eine Weitergabe an Dritte findet grundsätzlich nicht statt. Wenn du eine Kopie an dich anforderst oder ich dir aus dem Backend antworte, erfolgt der Versand per SMTP über unseren Webhoster IONOS. Dabei werden die für den Versand notwendigen Daten (Absenderadresse, Empfängeradresse, Betreff, Inhalt, ggf. CC/BCC) an die Mailserver von IONOS übertragen und dort zum Zweck der Zustellung verarbeitet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inhalte im Backend (zusätzliche Verarbeitung)&lt;/strong&gt;&lt;br /&gt;
Im Backend werden zu jeder Kontaktanfrage folgende Status-/Verwaltungsdaten verarbeitet und gespeichert:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gelesen-Status (neu/gelesen) und ggf. Zeitpunkt&lt;/li&gt;
&lt;li&gt;Ob eine Kopie angefordert wurde und ob der Versand erfolgreich war (inkl. ggf. Fehlermeldung)&lt;/li&gt;
&lt;li&gt;Falls wir über das Backend antworten: Speicherung der gesendeten Antwort(en) zur jeweiligen Anfrage, inkl.:&lt;/li&gt;
&lt;li&gt;Absenderadresse, Empfängeradresse, ggf. CC/BCC&lt;/li&gt;
&lt;li&gt;Betreff und Nachrichtentext der Antwort&lt;/li&gt;
&lt;li&gt;verwendetes SMTP‑Profil (zur technischen Zuordnung)&lt;/li&gt;
&lt;li&gt;Versandstatus (erfolgreich/fehlgeschlagen) und ggf. Fehlermeldung&lt;/li&gt;
&lt;li&gt;Zeitstempel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Spam-/Sicherheitsmaßnahmen&lt;/strong&gt;&lt;br /&gt;
Das Formular nutzt eine einfache Rechenaufgabe (Captcha). Die eingegebene Antwort wird nur zur Prüfung verwendet und nicht dauerhaft gespeichert.
Zusätzlich werden Session‑Daten zur Formularsicherheit (CSRF‑Schutz) sowie eine kurze Sperre gegen sehr häufiges Absenden (Rate‑Limit) verwendet. Diese Informationen werden nur temporär in der aktuellen Browsersitzung verarbeitet.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Deine Rechte&lt;/h3&gt;
&lt;p&gt;Du hast - soweit die gesetzlichen Voraussetzungen vorliegen - folgende Rechte:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Recht auf Auskunft (Art. 15 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Berichtigung (Art. 16 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Löschung (Art. 17 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Widerspruch gegen Verarbeitungen auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO (Art. 21 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Widerruf erteilter Einwilligungen mit Wirkung für die Zukunft (Art. 7 Abs. 3 DSGVO)&lt;/li&gt;
&lt;li&gt;Recht auf Beschwerde bei einer Datenschutzaufsichtsbehörde (Art. 77 DSGVO)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h2&gt;Technische Hinweise / Transparenzhinweise&lt;/h2&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Verwendung von jQuery, Bootstrap, PrismJS&lt;/h3&gt;
&lt;p&gt;Zur Gestaltung und Funktionalität der Website werden die Frameworks Bootstrap, jQuery und PrismJS verwendet. Diese werden lokal vom eigenen Webserver geladen. Es erfolgt kein Datentransfer an externe Anbieter im Zusammenhang mit diesen Bibliotheken.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Browser-Speicher (localStorage) für Spiele (MagicWordle / MagicSudoku)&lt;/h3&gt;
&lt;p&gt;Auf dieser Website nutze ich für die Spiele „MagicWordle“ und „MagicSudoku“ (sowie ggf. weitere Spiele) den Browser-Speicher &lt;code&gt;localStorage&lt;/code&gt;. Dort werden lokal auf deinem Endgerät Informationen gespeichert, die für die Spielfunktion erforderlich sind, insbesondere:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ob das jeweilige Tagesrätsel bereits gespielt wurde,&lt;/li&gt;
&lt;li&gt;dein Ergebnis/Spielstand des Tages, damit es bei einem erneuten Besuch am selben Tag wieder angezeigt werden kann.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die Speicherung erfolgt ausschließlich lokal in deinem Browser. Die Daten werden nicht an mich oder an Dritte übertragen und nicht serverseitig gespeichert.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rechtsgrundlage&lt;/strong&gt; ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer technisch notwendigen und nutzerfreundlichen Bereitstellung der Spielfunktion).&lt;br /&gt;
Du kannst die Speicherung jederzeit über die Einstellungen deines Browsers löschen (z. B. Website-Daten/Local Storage).&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Hinweis zu KI-gestützten Inhalten&lt;/h3&gt;
&lt;p&gt;Einzelne Inhalte auf dieser Website können mit Unterstützung von KI-Tools erstellt oder überarbeitet werden. Veröffentlichung und Verantwortung liegen ausschließlich bei mir; Inhalte werden vor Veröffentlichung geprüft.&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Aktualität und Änderungen&lt;/h3&gt;
&lt;p&gt;Diese Datenschutzerklärung kann bei Änderungen der Website oder bei rechtlichen/technischen Anpassungen aktualisiert werden. Es gilt die jeweils aktuelle, auf dieser Website veröffentlichte Version.&lt;/p&gt;</description>
      <pubDate>Sun, 26 Feb 2023 22:01:00 +0100</pubDate>
      <guid isPermaLink="false">dd2b7251ef46f45dc395d22a644f261d</guid>
    </item>
    <item>
      <title>Kontakt</title>
      <link>https://magicmarcy.de/kontakt</link>
      <image/>
      <description>&lt;p&gt;Hier hast du die Möglichkeit mir einfach und unkompliziert eine Nachricht zukommen zu lassen. Bitte beachte, dass ich nicht jede Mail sofort beantworten kann. Da bitte ich im Einzelfall um ein wenig Geduld.&lt;/p&gt;
&lt;p&gt;Du kannst dieses Formular auch nutzen, um Datenschutzverstöße, DSGVO-Anfragen oder andere, rechtlich relevante Themen, an mich zu übermitteln.&lt;/p&gt;
&lt;p&gt;[contact-form]&lt;/p&gt;</description>
      <pubDate>Sun, 26 Feb 2023 20:35:44 +0100</pubDate>
      <guid isPermaLink="false">b56a5dab1e3f773c00ab80265f673346</guid>
    </item>
    <item>
      <title>Musik zum Arbeiten</title>
      <link>https://magicmarcy.de/musik-zum-arbeiten</link>
      <image/>
      <description>&lt;p&gt;Wer aktiv programmiert, kennt die Phasen, die man dabei durchläuft, nur zu gut. Manchmal braucht man volle Konzentration, zum Beispiel beim Konzipieren oder beim Ausarbeiten von Features und Anforderungen. Aber wenn man das überstanden hat, kommt irgendwann der Teil, wo man einfach nur noch in die Tasten haut und loslegt – man muss zwar immer noch nachdenken, aber die Anspannung ist gering und der Flow groß.&lt;/p&gt;
&lt;p&gt;Genau dann greife ich gerne zu meinen Kopfhörern und schalte die Musik ein. Für viele unverständlich ist dabei die Tatsache, dass es für mich möglichst “heftig” sein muss. Ganz nach dem Motto “je oller desto doller”.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Sat, 25 Feb 2023 22:57:06 +0100</pubDate>
      <guid isPermaLink="false">eac6128c5dab68cc804707b9248b18f9</guid>
    </item>
    <item>
      <title>How much is the phish?</title>
      <link>https://magicmarcy.de/how-much-is-the-phish</link>
      <image/>
      <description>&lt;p&gt;Das Thema Phishing ist eigentlich immer aktuell und kommt nie wirklich aus der “Mode”. Gerade als jemand, der sich wie ich eigentlich ständig im Internet auf unterschiedlichste Art und Weise bewegt, kommt man irgendwie immer wieder mit diesem Thema in Berührung.&lt;/p&gt;
&lt;p&gt;Aber die Zeiten ändern sich, die Art und Weise, wie uns Phishing heute begegnet, hat ein neues Level erreicht, nicht zuletzt durch künstliche Intelligenz.&lt;/p&gt;
&lt;p&gt;Aktuell gibt es wieder eine größere Welle von Phishing-Mails, die auf Kunden des Webdienstleisters “IONOS” abzielen, um deren Kundendaten abzugreifen. Ein sicher lohnendes Ziel, denn wenn der Zugriff auf eine vertrauenswürdige Domain gelingt, gibt es keine Möglichkeit mehr zu erkennen, ob es sich tatsächlich um einen Phishing-Versuch handelt. Das ist beunruhigend und gefährlich – vor allem, wenn der Domainbesitzer dies nicht sofort bemerkt und Gegenmaßnahmen ergreifen kann.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Wed, 25 Jan 2023 22:55:12 +0100</pubDate>
      <guid isPermaLink="false">76565c6c005708d5db1239116e77889b</guid>
    </item>
    <item>
      <title>Neuer Server und Infos</title>
      <link>https://magicmarcy.de/neuer-server-und-infos</link>
      <image/>
      <description>&lt;p&gt;Hey, es gibt wieder einmal ein paar Neuigkeiten über die ich dich gern an dieser Stelle informieren will.&lt;/p&gt;
&lt;p&gt;Wenn du das hier lesen kannst, wird dir sicherlich aufgefallen sein, dass diese Seite auf einen neuen Server umgezogen ist, was mindestens die Domain verrät. Diese besitze ich schon seit langer Zeit, habe sie aber irgendwie kaum genutzt. Meine Webseiten und Projekte habe ich auf meinem Raspberry Pi gehostet und diesen per DynDNS im Internet jederzeit verfügbar gemacht. Das hat auch (fast) immer problemlos funktioniert.&lt;/p&gt;
&lt;p&gt;Ich habe etliche Projekte die zeitgleich laufen, an denen ich immer mal wieder bastel und die auch im Internet erreichbar sind. So langsam aber sicher kann man damit aber merken, dass der Pi hier an seine Grenzen kommt, wenn es mal zu mehr Traffic kommt als gewöhnlich.</description>
      <pubDate>Fri, 20 Jan 2023 22:53:23 +0100</pubDate>
      <guid isPermaLink="false">6fe8a4aebca7880fa1caf49df9fc07c2</guid>
    </item>
    <item>
      <title>Twitch Channel Bot</title>
      <link>https://magicmarcy.de/twitch-channel-bot</link>
      <image/>
      <description>&lt;p&gt;Bei diesem Projekt habe ich mich an einem Twitch Chat Bot versucht. Der Bot hat verschiedene MiniSpiele, ein eigenes Punktesystem und kann in mehreren Channels unabhängig voneinander verwendet werden. Zur Speicherung der Daten wird eine SQLite Datenbank verwendet.&lt;/p&gt;
&lt;p&gt;Da der Bot noch in einem frühen Beta-Stadium ist, ist er momentan ist er nur auf dem LiveChannel von &lt;a rel="noreferrer noopener" href="https://twitch.tv/muchobutcho" target="_blank"&gt;MuchoButcho&lt;/a&gt; im Einsatz. Alle Infos auf der GitHub-Page&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/magicmarcy/w8abot_twitch" target="_blank" rel="noopener"&gt;Projekt auf GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitch.tv/muchobutcho" target="_blank" rel="noopener"&gt;MuchoButcho auf Twitch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Weitere Infos folgen...&lt;/p&gt;</description>
      <pubDate>Sat, 31 Dec 2022 23:08:56 +0100</pubDate>
      <guid isPermaLink="false">4e6c5f8243aab7ea8003b777fe88c730</guid>
    </item>
    <item>
      <title>Equals richtig nutzen</title>
      <link>https://magicmarcy.de/equals-richtig-nutzen</link>
      <image/>
      <description>&lt;p&gt;In nahezu jedem Code ist es unerlässlich Vergleiche anzustellen. Dies ist nicht nur bei der Eingabe von Daten unumgänglich, sondern auch für diverse Bedingungen. Beispielsweise muss man bei einem Login per Email-Adresse ja auch vergleichen können, ob die Eingabe korrekt gewesen ist. Ein anderes Beispiel sind ReCaptchas oder Token-Vergleiche. Man wird nicht drum herum kommen, Vergleiche in seinem Code zu implementieren.</description>
      <pubDate>Fri, 18 Nov 2022 22:48:10 +0100</pubDate>
      <guid isPermaLink="false">5df07e2cbf46644cec58417f0b4af5ae</guid>
    </item>
    <item>
      <title>justBookmarks</title>
      <link>https://magicmarcy.de/justbookmarks</link>
      <image/>
      <description>&lt;p&gt;Ein einfacher Dienst zum Verwalten deiner Bookmarks. Ohne großes Schnickschnack, einfach nur Bookmarks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/magicmarcy/justBookmarks" target="_blank" rel="noopener"&gt;Projekt auf GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bookmarks.magicmarcy.de/" target="_blank" rel="noopener"&gt;Projekt Webseite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Weitere Infos folgen...&lt;/p&gt;</description>
      <pubDate>Sat, 21 May 2022 23:11:38 +0200</pubDate>
      <guid isPermaLink="false">59a301427f37640ab3c8c054b959f936</guid>
    </item>
    <item>
      <title>Guess The Number Game</title>
      <link>https://magicmarcy.de/guess-the-number-game</link>
      <image/>
      <description>&lt;p&gt;Ein simples, in JAVA geschriebenes “Zahlen-Raten” für die Konsole.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/magicmarcy/GuessTheNumberGame" target="_blank" rel="noopener"&gt;Projekt auf GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Sun, 03 Apr 2022 23:20:50 +0200</pubDate>
      <guid isPermaLink="false">129f5e4bd0050c0dea7b441509226ea3</guid>
    </item>
    <item>
      <title>SimpleLog2File</title>
      <link>https://magicmarcy.de/simplelog2file</link>
      <image/>
      <description>&lt;p&gt;Ein einfacher, in JAVA geschriebener, File-Logger. Schreibt die entsprechendes Ausgaben sauber in eine log-Datei.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/magicmarcy/SimpleLog2File" target="_blank" rel="noopener"&gt;Projekt auf GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Weitere Infos folgen...&lt;/p&gt;</description>
      <pubDate>Sun, 03 Apr 2022 23:18:33 +0200</pubDate>
      <guid isPermaLink="false">e73b920dca9d22bac1d7d82c161945a1</guid>
    </item>
    <item>
      <title>YAPG (Yet Another Password Generator)</title>
      <link>https://magicmarcy.de/yapg-yet-another-password-generator</link>
      <image/>
      <description>&lt;p&gt;Dies ist – wie der Name vermuten lässt – ein einfacher Passwort-Generator, geschrieben als OnePager in PHP. Kann Passwörter von 4 bis 32 Zeichen erstellen mit der Option auf die Verwendung von Zahlen und Sonderzeichen. Stellt sicher, dass bei einem generierten Passwort niemals ein O und eine 0 in einem Passwort vorkommen kann. Auch Sonderzeichen am Anfang und Ende werden vermieden.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/magicmarcy/yapg" target="_blank" rel="noopener"&gt;Projekt auf GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://yapg.magicmarcy.de/" target="_blank" rel="noopener"&gt;Projekt Webseite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Thu, 17 Mar 2022 23:22:13 +0100</pubDate>
      <guid isPermaLink="false">a28a02a8139b65f8003e2ab5d43985ef</guid>
    </item>
    <item>
      <title>txt2share</title>
      <link>https://magicmarcy.de/txt2share</link>
      <image/>
      <description>&lt;p&gt;Ein kleiner Dienst, der es erlaubt echte Text-Dateien zu erstellen, bearbeiten und teilen. Das besondere daran ist, dass man die erstellten Datein mit einem Passwort versehen kann und somit eine Datei von mehreren Personen bearbeitet werden kann. (leider noch nicht final veröffentlicht)&lt;/p&gt;</description>
      <pubDate>Mon, 07 Mar 2022 23:23:49 +0100</pubDate>
      <guid isPermaLink="false">b38e46e4685e70aff6a937b910a5bdaa</guid>
    </item>
    <item>
      <title>Project Lombok</title>
      <link>https://magicmarcy.de/project-lombok</link>
      <image/>
      <description>&lt;blockquote&gt;
&lt;p&gt;Bevor du nicht mindestens tausend Getter &amp;amp; Setter geschrieben hast, verwendest du kein Lombok!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mit diesem Worten meines Kollegen begann irgendwann meine Karriere als Java-Entwickler. Und er sollte damit auch recht behalten …&lt;/p&gt;
&lt;p&gt;Project Lombok, dass ist eine Java Bibliothek die einem viel Arbeit abnehmen kann aber auch Risiken birgt. Unter anderem können damit Getter &amp;amp; Setter sowie Konstruktoren automatisiert (zur Compilezeit) erstellt werden. Dadurch enthält der Java-Code auf den ersten Blick zunächst nur das Nötigste was ihn deutlich lesbarer macht. Dies wird durch den Einsatz von Annotationen realisiert.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Wed, 14 Jul 2021 22:43:09 +0200</pubDate>
      <guid isPermaLink="false">a89684f856edcacd867c1150db82b34c</guid>
    </item>
    <item>
      <title>Java-Doc – es ist ein absolutes MUSS!</title>
      <link>https://magicmarcy.de/java-doc-%E2%80%93-es-ist-ein-absolutes-muss</link>
      <image/>
      <description>&lt;p&gt;Durch Dinge wie CleanCode oder dem KISS-Prinzip versuchen wir unseren Code möglichst verständlich zu halten. Wir benennen Methoden nachdem was sie tun, wissen, dass eine Methode auch nur eine Sache machen soll und auch die Benamung unserer Variablen sind sprechend.&lt;/p&gt;
&lt;p&gt;Wer das alles konsequent berücksichtigt, der wird in den meisten Fällen keine Kommentare im Quelltext hinterlassen müssen – so zumindest der Wortlaut vieler Dozenten und Autoren.&lt;/p&gt;
&lt;p&gt;In der Praxis sieht das oft aber ganz anders aus.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Tue, 06 Jul 2021 22:38:00 +0200</pubDate>
      <guid isPermaLink="false">95bbde66fa72ffc64eb16a23057d871c</guid>
    </item>
    <item>
      <title>Kamele in JAVA</title>
      <link>https://magicmarcy.de/kamele-in-java</link>
      <image/>
      <description>&lt;p&gt;Immer wieder lese ich Beiträge aus dem Anfängerbereich des Java-Forums und muss feststellen, dass die Grundlagen der Java Konventionen nicht eingehalten werden.&lt;/p&gt;
&lt;p&gt;Die meisten kommen vielleicht aus anderen Programmiersprachen oder fangen ganz neu mit Java an was die großen Wissensdefizite erklärt.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Mon, 28 Oct 2019 22:30:30 +0100</pubDate>
      <guid isPermaLink="false">8c7d6ce5eba7a2cedfb0f219ad07915f</guid>
    </item>
    <item>
      <title>Code Style #2 – sprechende Variablen</title>
      <link>https://magicmarcy.de/code-style-2-%E2%80%93-sprechende-variablen</link>
      <image/>
      <description>&lt;p&gt;Das Thema Code-Style, in Bezug auf die Benamung von Variablen und Methoden, hatte ich ja in einem anderen Beitrag angesprochen. In Bezug auf die Benamung ist es allerdings gut etwas mehr in die Tiefe zu gehen und einen genaueren Blick darauf zu werfen.&lt;/p&gt;
&lt;p&gt;Ganz grundsätzlich aber gilt: Bennene deine Variable / Methode danach wofür sie steht oder was sie macht. Punkt! Das hilft dir deinen Code auch später noch zu verstehen oder glaubst du, du kannst dich in einem Jahr noch erinnern, warum der String der Klasse Tier eigentlich ä heisst und wofür er steht?&lt;/p&gt;
&lt;p&gt;Ja, das ist der eigentliche Kern der Sache und so einfach es auch klingt, so schwer scheint es manches mal zu sein.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Mon, 28 Oct 2019 22:25:28 +0100</pubDate>
      <guid isPermaLink="false">39f95993d62878d8355f0f5efd7bc8bb</guid>
    </item>
    <item>
      <title>Code Style #1 – nicht nur Optik</title>
      <link>https://magicmarcy.de/code-style-1-%E2%80%93-nicht-nur-optik</link>
      <image/>
      <description>&lt;p&gt;Das Thema “Code Style” ist gerade für Anfänger im Bereich der Programmierung nicht immer so leicht umzusetzen. In diesem Beitrag geht es zunächst einmal um die optische Optimierung des Codes. Wie du Variablen und Methoden nach den Konventionen schreibst, habe ich hier bereits aufgeschrieben. Nun geht es aber um einen ordentlichen Style, damit man deinen Code auch gut lesen kann.&lt;/p&gt;
&lt;p&gt;Um das Ganze anschaulich und nachvollziehbar zu machen, nehmen wir das Beispiel der Klasse Computer. Der Computer hat bestimmte Eigenschaften und kann bestimmte Dinge tun. Er hat Variablen, Konstanten und natürlich auch Methoden.&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Mon, 28 Oct 2019 22:19:03 +0100</pubDate>
      <guid isPermaLink="false">f654581ac77557047c64146aa1712e16</guid>
    </item>
    <item>
      <title>Der ternäre Operator</title>
      <link>https://magicmarcy.de/der-ternaere-operator</link>
      <image/>
      <description>&lt;p&gt;Eines meiner Lieblingsfunktionen (in Java) ist der ternäre Operator denn er vereinfacht häufig Anwendungsfälle von denen ich einige hier ein wenig näher betrachten möchte.&lt;/p&gt;
&lt;p&gt;Nehmen wir einfach mal an, dass du an irgendeiner Stelle deiner XHTML-Seite das Problem hast, dass du die Hintergrundfarbe deines DIVs abhängig vom darin enthaltenen Wert gestelten möchtest. Du könntest dafür in deiner Klasse eine Eigenschaft hinterlegen und dazu eine Methode die den Wert den du benötigst, abhängig von einem anderen Wert oder Ereignis ändert und in deine Eigenschaft schreibt. Aber das geht auch einfacher…&lt;/p&gt;
&lt;p&gt;</description>
      <pubDate>Thu, 26 Sep 2019 22:12:44 +0200</pubDate>
      <guid isPermaLink="false">6523b51389e602a8077ca194bca2b4ac</guid>
    </item>
    <item>
      <title>Feedback</title>
      <link>https://magicmarcy.de/feedback</link>
      <image/>
      <description>&lt;p&gt;[fragebogen slug=&amp;quot;frgbgn-01&amp;quot;]&lt;/p&gt;</description>
      <pubDate>Sat, 01 Jan 2000 00:00:00 +0100</pubDate>
      <guid isPermaLink="false">4249e41386e828e7452276f2111101d7</guid>
    </item>
    <item>
      <title>Test</title>
      <link>https://magicmarcy.de/test</link>
      <image/>
      <description>&lt;p&gt;[fragebogen slug=&amp;quot;test-1&amp;quot;]&lt;/p&gt;</description>
      <pubDate>Sat, 01 Jan 2000 00:00:00 +0100</pubDate>
      <guid isPermaLink="false">2e07bc79a4a91e96d98c8014aa83379e</guid>
    </item>
  </channel>
</rss>
