Code Smells und Refactorings

Code Smells und Refactorings – Anwendungsentwickler-Podcast #147

Um Code Smells und ihre Behebung mittels Refactorings geht es in der einhundertsiebenundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Was ist ein Code Smell? Smells sind Indikatoren für Code, der überarbeitungswürdig ist. Man erkennt sie anhand verschiedener Muster (z.B. lange Methoden). Die Smells können mit Refactorings überarbeitet und (hoffentlich) eliminiert werden. Nicht […]

Kryptographie: Funktionsweise von HTTPS

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, […]

Kryptographie: Zertifikate und Zertifizierungsstellen

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 […]

Normalisierung einer Datenbank am konkreten Beispiel

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, […]

Mocks, Stubs und andere Test Doubles

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. […]

Dependency Inversion Principle (DIP)

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

Dieser Beitrag ist Teil 7 von 7 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 […]

Interface Segregation Principle (ISP)

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

Dieser Beitrag ist Teil 6 von 7 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 […]

Liskov Substitution Principle (LSP)

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

Dieser Beitrag ist Teil 5 von 7 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 […]

Was man als Softwareentwickler wissen muss

In diesem Artikel stellt Javin Paul eine Liste mit 10 Dingen auf, die man seiner Meinung nach als Softwareentwickler/-in wissen muss: 10 Things Every Programmer and Software Engineer Should Know: Datenstrukturen und Algorithmen, Versionsverwaltung, Texteditoren, IDEs, Datenbanken und SQL, Linux, Excel, Programmiersprachen, Netzwerkgrundlagen, Skriptsprachen. Falls du noch etwas auffrischen musst, […]

Open Closed Principle (OCP)

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

Dieser Beitrag ist Teil 4 von 7 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, […]