2. Ausbildungsjahr

Kryptographie – Zertifikate und Zertifizierungsstellen – Anwendungsentwickler-Podcast #145

Dieser Beitrag ist Teil 3 von 4 in der Serie Kryptographie.

Die Fortsetzung zum Oberthema Kryptographie mit Zertifikaten und Zertifizierungsstellen gibt es in der einhunderfünfundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Wiederholung: Für die elektronische Signatur und die Verschlüsselung von Daten werden Paare aus öffentlichen und privaten Schlüsseln benötigt. Probleme Wer garantiert dem Absender, dass ein öffentlicher Schlüssel auch wirklich dem angegebenen Empfänger gehört? Wie kann sichergestellt werden,…

Read More

Normalisierung einer Datenbank am konkreten Beispiel – Anwendungsentwickler-Podcast #144

Wir gehen ein komplettes Beispiel zur Normalisierung einer relationalen Datenbank durch in der einhundertvierundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Theoretische Grundlagen Wir normalisieren Datenbanken um Redundanzen zu vermeiden, die zu Anomalien führen können. Mehr dazu in Podcast-Episode 18. Grundlagen wie Schlüssel, Kardinalitäten usw. erkläre ich in Podcast-Episode 17. Merksatz: „The key, the whole key, and nothing…

Read More

Mocks, Stubs, Fakes, Dummies und Test Doubles – Anwendungsentwickler-Podcast #143

Um Möglichkeiten, Abhängigkeiten in Tests loszuwerden, geht es in der einhundertdreiundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Vorweg: Automatisierte Tests gibt es nicht nur für objektorientierte Software, sondern natürlich auch für funktionale, prozedurale usw. Die folgenden Inhalte beziehen sich aber ausschließlich auf die Objektorientierung. In anderen Paradigmen haben die genannten Begriffe evtl. andere Bedeutungen oder die vorgestellten…

Read More

Dependency Inversion Principle (DIP) – Wissenshäppchen #7

Dieser Beitrag ist Teil 7 von 8 in der Serie Wissenshäppchen.

Im siebten Wissenshäppchen geht es um das Dependency Inversion Principle. Inhalt Das DIP ist das letzte der fünf SOLID-Prinzipien. High level modules should not depend upon low level modules. Both should depend upon abstractions. Oder: Abstractions should not depend upon details. Details should depend upon abstractions. Welche Abhängigkeiten werden hier „umgedreht“? Komponenten, die andere Komponenten…

Read More

Interface Segregation Principle (ISP) – Wissenshäppchen #6

Dieser Beitrag ist Teil 6 von 8 in der Serie Wissenshäppchen.

Das sechste Wissenshäppchen hat das Interface Segregation Principle als Thema. Inhalt Das ISP ist das vierte SOLID-Prinzip. The dependency of one class to another one should depend on the smallest possible interface. Im Prinzip kann man das ISP so zusammenfassen: Verwende immer nur die kleinstmögliche Schnittstelle zu deinen Abhängigkeiten. Je mehr Funktionen eine Komponente an…

Read More

Liskov Substitution Principle (LSP) – Wissenshäppchen #5

Dieser Beitrag ist Teil 5 von 8 in der Serie Wissenshäppchen.

Im fünften Wissenshäppchen geht es um das Liskov Substitution Principle. Inhalt Das LSP ist das dritte der fünf SOLID-Prinzipien. Es wurde 1987 von Barbara Liskov definiert, die ihm auch seinen Namen gab: Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. Man könnte…

Read More

Open Closed Principle (OCP) – Wissenshäppchen #4

Dieser Beitrag ist Teil 4 von 8 in der Serie Wissenshäppchen.

Mein viertes Wissenshäppchen hat das Open Closed Principle zum Thema. Inhalt Das OCP ist das zweite der SOLID-Prinzipien. Es wurde vor Robert „Uncle Bob“ Martin bereits 1988 von Bertrand Meyer definiert: Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification. Ursprünglich ging es darum, durch Vererbung die Anpassung („modification“)…

Read More

Kryptographie – Hashverfahren und elektronische Signatur – Anwendungsentwickler-Podcast #132

Dieser Beitrag ist Teil 2 von 4 in der Serie Kryptographie.

Die Fortsetzung zum Oberthema Kryptographie mit Hashverfahren und elektronischer Signatur gibt es in der einhunderzweiunddreißigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Hashes Hashverfahren erzeugen aus einer Eingangszeichenfolge beliebiger Länge eine Ausgangszeichenfolge fixer Länge, „Hash“ oder „Prüfsumme“ genannt. Sie sind mathematische Einwegverfahren, die keinen Rückschluss auf die Eingangsdaten zulassen, wenn die Ausgangszeichenfolge bekannt ist. Die erzeugten Hashes sollten…

Read More

Kryptographie – Schutzziele und Verschlüsselung – Anwendungsentwickler-Podcast #131

Dieser Beitrag ist Teil 1 von 4 in der Serie Kryptographie.

Einen kurzen Einstieg in einige grundlegende Begriffe der Kryptographie – die drei Schutzziele und die symmetrische und asymmetrische Verschlüsselung – gebe ich in der einhunderteinunddreißigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Meist wird bei der Erklärung von kryptografischen Verfahren der Nachrichtenaustausch zwischen zwei Personen als Anwendungsfall verwendet. Person A (meist „Alice“ genannt) möchte mit Person B (meist…

Read More

Buchclub: Java by Comparison – Anwendungsentwickler-Podcast #130

Ich habe ein neues Lieblingsbuch für die Ausbildung! „Java by Comparison“ wird im Buchclub in der einhundertdreißigsten Episode des Anwendungsentwickler-Podcasts besprochen. Inhalt Ich habe das Buch an einem Wochenende komplett verschlungen und es direkt im Anschluss auf die ToRead-Liste meiner Azubis gesetzt. Ab sofort werde ich es mit jedem Azubi lesen. Direkt im 1. Ausbildungsjahr,…

Read More