2. Ausbildungsjahr

Kryptographie – Funktionsweise von HTTPS – Anwendungsentwickler-Podcast #146

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

Zum Abschluss meiner kleinen Reihe zum Oberthema Kryptographie widmen wir uns der Funktionsweise von HTTPS in der einhundersechsundvierzigsten 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. Um die Authentizität öffentlicher Schlüssel zu gewährleisten, werden Zertifikate verwendet, die von vertrauenswürdigen Zertifizierungsstellen ausgegeben…

Read More

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