Diese Weiterbildung richtet sich an Entwickler, die ihre Kenntnisse in der Softwareentwicklung vertiefen und um die Grundlagen der IT-Netzwerktechnik erweitern möchten. Die Weiterbildung bietet eine fundierte Einführung in fortgeschrittene Programmiertechniken, Softwarearchitektur sowie die Integration und Verwaltung von Netzwerken.
Weiterbildungsinhalte:
Fortgeschrittene Programmiertechniken
- Verwendung fortgeschrittener Konzepte in objektorientierter Programmierung (OOP)
- Arbeiten mit Design Patterns (Singleton, Factory, Observer)
- Modularisierung und Wiederverwendbarkeit von Code in großen Projekten
- Speicherverwaltung und Optimierung in Softwareanwendungen
Softwarearchitektur und Best Practices
- Einführung in Softwarearchitekturkonzepte: Layered Architecture, Microservices
- Verwendung von SOLID-Prinzipien zur Entwicklung robuster und wartbarer Anwendungen
- Modellierung und Dokumentation von Softwarearchitekturen
- Entwurf und Implementierung skalierbarer Softwarelösungen
Entwicklung verteilter Anwendungen
- Einführung in verteilte Systeme: Client-Server-Architekturen und Peer-to-Peer-Netzwerke
- Verwendung von RESTful APIs zur Kommunikation zwischen Systemen
- Grundlagen der Datenkonsistenz und Verfügbarkeit in verteilten Anwendungen
- Verwaltung von Sitzungen und Zuständen in verteilten Umgebungen
Datenbanken und Datenverarbeitung
- Verwaltung und Integration relationaler und NoSQL-Datenbanken in Softwareanwendungen
- Optimierung von Datenbankabfragen und Datenbankzugriffen
- Verwendung von ORM (Object-Relational Mapping) zur Abstraktion von Datenzugriffen
- Entwicklung datenbankgesteuerter Anwendungen und Verarbeitung großer Datenmengen
Grundlagen der IT-Netzwerktechnik
- Einführung in Netzwerktopologien und -infrastrukturen
- Grundlagen der Netzwerkprotokolle (TCP/IP, UDP, HTTP, FTP)
- Funktionsweise und Konfiguration von Routern, Switches und Firewalls
- Netzwerksicherheit: Authentifizierung, Verschlüsselung und Firewalls
Netzwerkprogrammierung
- Verwendung von Sockets zur Netzwerkkommunikation
- Entwicklung von Client-Server-Anwendungen zur Kommunikation über Netzwerke
- Umsetzung von Netzwerkprotokollen in Softwareanwendungen
- Datenübertragung und Echtzeit-Kommunikation in Netzwerken
Sicherheitsaspekte in der Softwareentwicklung
- Grundlagen der sicheren Softwareentwicklung: Schutz vor XSS, CSRF und SQL-Injection
- Einführung in Verschlüsselungstechniken und sichere Datenübertragung
- Umsetzung von Authentifizierungs- und Autorisierungskonzepten (OAuth2, JWT)
- Best Practices zur Sicherung von Anwendungen und Netzwerken
Fehlerbehebung und Debugging in Softwareanwendungen
- Verwendung von Debugging-Tools zur Fehleranalyse in großen Projekten
- Best Practices für die Fehlersuche in verteilten und netzwerkbasierten Anwendungen
- Testen und Validierung von Software in Entwicklungs- und Produktionsumgebungen
- Automatisierte Tests und Continuous Integration (CI) zur Sicherstellung der Softwarequalität
Projekt: Entwicklung einer vernetzten Anwendung
- Planung und Implementierung eines vollständigen Projekts zur Vernetzung von Softwarelösungen
- Integration von Netzwerkprotokollen und Datenbanken in einer verteilten Anwendung
- Optimierung der Anwendung für Leistung und Sicherheit
- Präsentation und Dokumentation des Projekts
Anforderung für die Weiterbildung
- Erfahrung in der Softwareentwicklung und Grundkenntnisse in der Programmierung
- abgeschlossene Berufsausbildung, ein Studium oder eine Anpassungs-Qualifizierung im IT-Bereich; oder ein bestandener Eignungstest
- Deutsch-Sprachniveau von mindestens B1