Softwareentwicklung
Videokurse und Webinar-Aufzeichnungen von heise
In den Videokursen von heise academy machen ausgewählte Expertinnen und Experten fit in aktuellen IT-Themen wie IT-Security, IT-Systeme, Künstliche Intelligenz, Cloud- und Netzwerk-Technologien.
Ergänzt wird das Angebot durch Webinar-Aufzeichnungen der c't- und Mac & i-Redaktion sowie heise security. Darunter auch hilfreiche Wissensvermittlung zu Energietechnologien und Smart Home.
Asynchrone Programmierung mit Kotlin Coroutines
Asynchrone oder Non-Blocking Programmierung ist ein wichtiger Bestandteil der serverseitigen Entwicklung, um skalierbare Anwendungen zu erstellen. In diesem Kurs lernen Sie Schritt für Schritt Kotlin Coroutines kennen. Sie erfahren, wie asynchrone Programmierung mit Coroutinen funktioniert, wie man Coroutinen startet und beendet, damit Anwendungen nicht durch langsame API-Aufrufe oder Datenbanken blockiert werden. Der IT-Experte Hauke Brammer zeigt Ihnen, wie Sie Kompositionen aus verschiedenen Coroutinen erstellen und wie Sie steuern, auf welchem Thread Ihre Coroutinen laufen. Außerdem lernen Sie Channels und Flows kennen, Datenstrukturen, mit denen Sie mehrere Elemente als Streams asynchron verarbeiten können. Wenn Sie schon etwas Erfahrung mit Kotlin haben und nun lernen möchten, wie Sie Ihren Code durch asynchrone Programmierung optimieren können, dann ist dieser Kurs genau das Richtige für Sie.Länge: 1:30 Stunden Alle Video-Lektionen im Überblick: Einführung und Setup Herzlich willkommen zu diesem Kurs Warum Kotlin Coroutines? Setup Einstieg in Coroutines Intro Meine erste Coroutine Scopes, Contexts und Dispatchers Cancellation und Timeouts Das Zusammenspiel mehrerer Coroutines Quiz: Einführung Coroutines Exceptions und Testing Intro Exceptions werfen und fangen Testen von Kotlin Coroutines Quiz: Exceptions und Testing mit Coroutines Flows und Channels Intro Flows: Mehrere Werte aus einer Funktion zurückgeben Flow Lifecycle: Auf Ereignisse reagieren Intermediate Operators: Mit Werten in Flows arbeiten Terminal Operators: Werte aus Flows einsammeln Channels: Mehrere Coroutines miteinander verbinden Quiz: Flows und Channels Fazit und Kursabschluss Über den Trainer:Hauke Brammer arbeitet als Senior Software Engineer bei der DeepUp GmbH. Seit 2017 ist Kotlin seine primäre Programmiersprache. Hauke entwickelt Microservices und seine Leidenschaft ist es, das Beste aus der Softwareentwicklung in die Welt des maschinellen Lernens zu bringen. In den letzten Jahren hat er regelmäßig Vorträge auf Entwicklerkonferenzen gehalten und viel über MLOps und Data Augmentation gesprochen.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in kleine Lernschritte und Aufgaben unterteilt. So können Sie den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquiz zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs werden lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
GraphQL – APIs mit Spring Boot entwickeln
GraphQL ist eine spannende Technologie, um Anwendungen APIs zur Verfügung zu stellen. Denn GraphQL-APIs ermöglichen es, mit einer eigenen Abfragesprache die benötigten Daten für jeden Anwendungsfall selbst auszuwählen. Unterstützt werden die Clients dabei durch das GraphQL Typsystem, das bei der Formulierung von Abfragen hilft und verhindert, dass ungültige Abfragen ausgeführt werden.Um auf dieser Basis eigene GraphQL-APIs zu implementieren und zu betreiben, bietet Spring Boot ein eigenes Projekt namens Spring GraphQL an. Spring Boot ist als weit verbreitete Plattform besonders geeignet, da es die Entwicklung von Backend-Anwendungen und -Services mit all ihren typischen Anforderungen an Stabilität, Sicherheit und Performance unterstützt.In diesem Kurs lernen Sie anhand einer Beispielanwendung, wie Sie mit Java und Spring GraphQL eigene GraphQL-APIs entwickeln können. IT-Experte Nils Hartmann führt in die Grundlagen ein und zeigt, wie man das Schema der eigenen API beschreibt und Queries, Mutations und Subscriptions implementiert. Außerdem erfahren Sie, wie Sie bei der Arbeit mit Spring GraphQL von der Integration in den Spring Technologie-Stack profitieren, wenn Sie typische Anforderungen wie Datenbankzugriffe, die Integration von Microservices oder die Absicherung Ihrer API umsetzen möchten.Um dem Kurs folgen zu können, sollten Sie mit GraphQL vertraut sein. Java-Kenntnisse und gute Spring- bzw. Spring-Boot-Kenntnisse sind von Vorteil. Für die Übungen benötigen Sie ein JDK mit Java Version 17, Git und Docker.Länge: 05:02 Stunden Alle Video-Lektionen im Überblick: GraphQL APIs mit Java Herzlich Willkommen zu diesem Kurs Intro Die Beispiel-Anwendung „Publy“ GraphQL Frameworks für Java Architektur von graphql-java Hello World, graphql-java! DataFetcher mit graphql-java Architektur von spring-graphql Hello World, spring-graphql! Architektur der Beispiel-Anwendung „Publy“ Quiz: GraphQL APIs mit Java GraphQL APIs mit spring-graphql Intro Schema Definition und Query Mapping Felder mit Argumenten 1 Handler-Funktionen für Felder Übung: Handler-Funktionen Validierung von Argument und Projected Payloads Mutations implementieren Übung: Mutations Lösung: Die addComment-Mutation mit einem eigenen Rückgabe-Typ Union Types Type Resolver Interfaces Eigene skalare Datentypen Subscriptions Übung: Subscriptions Quiz: GraphQL APIs mit Spring GraphQL Performance-Optimierungen Intro Query Performance analysieren Asynchrone Handler-Funktionen REST APIs aufrufen REST Aufrufe mit einem DataLoader zusammenfassen Batch Mapping Übung: DataLoader Query-Verarbeitung mit dem DataFetchingFieldSelectionSet optimieren Quiz: Performance Optimierungen Die GraphQL API vervollständigen Intro Sicherheit von GraphQL APIs Sicherheit in Handler-Funktionen Fehlerbehandlung am Beispiel Security im Domain Layer Fehlerbehandlung am Beispiel Bean Validation Einen Request Error mit eigenem GraphQLError-Objekt zurückliefern Mehrere GraphQLError-Objekte aus einer Exception erzeugen Beispiel: Paginierung von Listen Beispiel: Filtern von Listen Erlaubte Komplexität von Queries beschränken Testen des GraphQL Controllers Testen der GraphQL API über HTTP Quiz: Die GraphQL API vervollständigen Fazit und KursabschlussÜber den Trainer:Nils Hartmann ist freiberuflicher Softwareentwickler und -architekt aus Hamburg. Er beschäftigt sich seit mehr als 20 Jahren mit der Entwicklung von Software, wobei sein Schwerpunkt auf Java-basierten Backend-Services mit Spring und der Entwicklung von Frontends mit React und TypeScript liegt. In seinen Projekten verwendet er gerne GraphQL sowohl im Frontend als auch im Backend. Nils unterstützt Teams beim Erlernen und Anwenden dieser Technologien durch Beratung und Seminare und ist Co-Autor des Buches „React - Die praktische Einführung“ (dpunkt-Verlag).So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
GraphQL – Die praktische Einführung
GraphQL APIs bieten Clients ein hohes Maß an Flexibilität, da sie mit der zugehörigen Abfragesprache genau die Daten abfragen können, die sie für einen Use Case benötigen: Daten auf den Server schreiben und sich über neue Daten auf dem Server informieren lassen. Darüber hinaus sind GraphQL-APIs typsicher, was dem Client die korrekte Beschreibung seiner Abfragen garantiert.In diesem Kurs lernen Sie, was GraphQL ist und welche Motivation und Ideen dahinter stecken. Der IT-Experte Nils Hartmann zeigt Ihnen, wie Sie GraphQL-APIs mit einem Schema beschreiben, so dass Clients die gewünschten Informationen von Ihrer Schnittstelle abfragen können. Eine wichtige Rolle spielen dabei die Schema Definition Language und das umfangreiche GraphQL-Typensystem, das spannende Möglichkeiten für Entwicklungstools in der täglichen Arbeit bietet.Sie werden auch die Möglichkeiten und die Syntax der GraphQL-eigenen Abfragesprache kennenlernen, mit der ein Client die gewünschten Daten aus Ihrer GraphQL-API auswählen kann.Länge: 02:45 Stunden Alle Video-Lektionen im Überblick: Einführung in GraphQL Herzlich willkommen zu diesem Kurs Intro Was ist GraphQL? Die Beispielanwendung „Publy“ Eine GraphQL-Abfrage Daten aus Objektgraphen abfragen Toolunterstützung für GraphQL Die Beispielanwendung installieren und starten Übung: Mach dich mit GraphiQL vertraut Quiz: Einführung in GraphQL Die GraphQL-Abfragesprache Intro GraphQL Queries im Detail Variablen in Queries verwenden Fragmente Übung: GraphQL Queries Mit Mutations Daten anlegen und verändern Union-Typen abfragen Interfaces abfragen Mit Subscriptions auf Ereignisse reagieren Zusammenfassung: Die GraphQL-Abfragesprache Übung: GraphQL Mutations und Subscriptions Quiz: Die GraphQL-Abfragesprache Eine GraphQL API beschreiben Intro Die API mit einem Schema beschreiben Mit der Introspection API das GraphQL-Schema untersuchen Offset- und seitenbasierte Paginierung Cursor-basierte Paginierung Übung: Paginierung verwenden Quiz: Das Schema einer API GraphQL APIs verwenden Intro Schema Evolution: die API weiterentwickeln GraphQL-Operationen über HTTP ausführen Ausblick: Anwendungen mit GraphQL bauen Gemeinsamkeiten und Unterschiede von GraphQL und REST Quiz: GraphQL APIs verwenden Fazit und Kursabschluss Über den Trainer:Nils Hartmann ist freiberuflicher Softwareentwickler und -architekt aus Hamburg. Er beschäftigt sich seit mehr als 20 Jahren mit der Entwicklung von Software, wobei sein Schwerpunkt auf Java-basierten Backend-Services mit Spring und der Entwicklung von Frontends mit React und TypeScript liegt. In seinen Projekten verwendet er gerne GraphQL sowohl im Frontend als auch im Backend. Nils unterstützt Teams beim Erlernen und Anwenden dieser Technologien durch Beratung und Seminare und ist Co-Autor des Buches „React - Die praktische Einführung“ (dpunkt-Verlag).So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Game-Engineering mit Unity und C#
In diesem Kurs geht es um die Grundlagen der Spieleentwicklung mit Unity. Sie lernen, virtuelle Welten aufzubauen und Programmlogik in C# zu formulieren. Der IT-Experte René Bühling zeigt Ihnen Lösungswege und auch typische Probleme, die bei der Arbeit mit Unity immer wieder auftreten.Die einzelnen Programmfunktionen werden Schritt für Schritt besprochen und direkt in der Software erklärt. An den einzelnen Anwendungsbeispielen und Übungen können Sie sofort mitarbeiten und so das Gelernte selbst ausprobieren.Am Ende des Kurses haben Sie einen kompletten Überblick über Unity und kennen alle wichtigen Funktionen, die Sie für die Umsetzung Ihrer Inhalte benötigen. Angefangen bei der Frage, wie man Modelle aus Blender nach Unity exportiert, über die Organisation von Szenen, die Erstellung von Animationen, Beleuchtung, Kameraeinstellungen und 2D-Grafiken bis hin zur Verknüpfung mit Programmlogik, Physikberechnungen und Interaktionsmöglichkeiten wird der gesamte Workflow abgebildet.Nicht nur Spiele, sondern auch viele andere Produkte wie Simulationen oder Produktvisualisierungen stellen hohe technische Anforderungen an eine GameEngine. Das in diesem Kurs erworbene Wissen kann daher sowohl für die Umsetzung von Spielen als auch für viele andere Anwendungsgebiete genutzt werden.Länge: 13:57 Stunden Alle Video-Lektionen im Überblick: Einführung und Setup Herzlich willkommen zu diesem Kurs Unitys Lizenzmodell und Installation Anbindung von Visual Studio Unity-Grundlagen Intro Elemente von Unity-Projekten Ein minimales Programm in Unity Unity-Message-Methoden Komponenten-Architektur Felder, Attribute und der Inspector IMGUI - Einfache grafische Diagnosetools Eingabe-Elemente im IMGUI Quiz: Unity-Grundlagen Raum und Input Intro Organisation von 3D-Elementen Transform-Eigenschaft, lokale und globale Position Objekte per Code verschieben Objekte per Code skalieren Objekte per Code rotieren Wie wird ein Objekt nach vorne bewegt? Objekte hierarchisch organisieren Erkenntnisse zum Transform Zeitliche Verläufe mit Update und deltaTime realisieren Eingaben per Input erfassen Geräte über Eingabeachsen abfragen Quiz: Raum und Input Assets und Instanzen Intro Klickereignisse auf 3D-Objekten erkennen Modelle von Blender nach Unity portieren Problemlösungen beim Portieren: Objektursprung und Größenverhältnisse Austauschen eines lückenhaft erscheinenden Modells Arbeitsfluss bei der Asset-Produktion Modell-Instanzen per Code ansteuern Aktivieren und Deaktivieren von Objekten und Komponenten Objekte suchen und finden Objektkomposition per Prefab Quiz: Assets und Instanzen Material, Textur und Shader Intro Unterscheidung von Materialien, Shadern und Texturen Render-Pipelines festlegen Shadererstellung per Graph-Editor Portierung von Materialien Arbeiten mit Material-Assets Typische Material- und Texturprobleme Mapping-Koordinaten ansteuern Videotexturen abspielen Quiz: Material Animation und Bewegung Intro Animationsprogrammierung Bewegungsprogrammierung mittels iTween Pfadanimation Anmerkungen zu iTween Hierarchische Animation Bones und Rigging Zeitleisten als Clips verwalten Typische Probleme im Animator Übergänge und Parameter im Animator einstellen Clips über Ebenen mischen Weitere Animationstechniken Quiz: Animation KI und Physik Intro Überblick zur künstlichen Intelligenz in Games Unitys Physik-System Physiksimulation gezielt beeinflussen Kollisionen erkennen und auswerten Physik-bezogenen Code schreiben Kollisionsabfrage per Strahlverfolgung (Raycast) Pfadfindung in Unity Bewegung per NavMesh-System Feinderkennung durch NPCs Quiz: Physik und KI Kamera-Steuerung Intro Second-Person-Perspektive Panning-Bewegung der Kamera Third-Person-Perspektive Bewegung per Constraints einschränken Mehrere Kameras einsetzen First-Person-Perspektive Essentielle Kamera-Eigenschaften: Brennweite und Zoom Explizites Rendern eines Kamera-Monitors oder echten Spiegels Quiz: Kamera Beleuchtungseffekte in der Universal Render Pipeline Intro Einführung in die Beleuchtung Indirekte Beleuchtungsmodelle Probleme beim indirekten Licht Spiegelungen vortäuschen Gerichtetes Licht (Sonnenlicht) Umgebungslicht (Himmelslicht) Punkt- und Kegel-Lichter Flächenlicht Material-Emissionen Schattenwurf und Ambiente Okklusion Transparenz einstellen Programmierung eines Flackerlichts Quiz: Licht 2D-Graphik und GUIs Intro Wie unterscheidet sich 2D von 3D in Unity? Was sind Sprites? Animation von Sprites Physik und Kollisionen im 2D-Raum Einführung ins Canvas-Layout-System (UGUI) Grundlagen des Canvas-Modells Möglichkeiten dynamischer Layouts UI-Skalierung an Bildschirmgröße binden Varianten der Sprite-Größenänderung Elemente per Autolayout anordnen lassen Blick auf das UI-Event-System Quiz: 2D und UI Daten und Persistenz Intro Hintergrund zur Notwendigkeit der Datentrennung Daten vom Szenengraph trennen Spielobjekte indirekt durch Spieldaten steuern Objektserialisierung: Speichern und Laden von Daten Dateien schreiben und lesen Scriptable Objects als Editor-Datenspeicher Wechseln zwischen mehreren Szenen Wie bleiben Daten über Szenenwechsel hinweg erhalten? Quiz: Daten und Persistenz Fazit und Kursabschluss Über den Trainer:René Bühling hat bereits als Schüler Mitte der 90er Jahre eigene Computerspiele entwickelt und veröffentlicht. Sein besonderes Interesse gilt der Verbindung von künstlerisch-ästhetischer Gestaltung und technischer Funktionalität, was sich in einer gestalterisch geprägten Ausbildung und einer Promotion in Informatik widerspiegelt. Er war an der Entwicklung zahlreicher multimedialer Projekte in Industrie und Forschung beteiligt, viele davon im Games-Umfeld. Seit 2017 ist René für seine Online-Schulungen und Publikationen zum Thema Spieleentwicklung bekannt. Außerdem unterrichtet er Game Design und Game Engineering an der Hochschule Kempten.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Cloud-native Entwicklung mit Microsoft Azure
In diesem Kurs lernen Sie die theoretischen Grundlagen von Cloud-nativen Anwendungen kennen: Prinzipien, Architekturen und Entwurfsmuster. Der IT-Experte Jörg Krause stellt Ihnen eine Auswahl der dafür notwendigen Dienste vor und erklärt, wie Sie diese in der Praxis einrichten und nutzen, um schnell und effizient Anwendungen zu entwickeln. Im ersten Teil lernen Sie Azure Functions und deren Integration mit Datenbanken und der CosmosDb kennen. Für die Anbindung einer Benutzeroberfläche werden Socket Services und App Services verwendet und mit API Management abgesichert. Weiter geht es mit nachrichtenbasierten Modellen auf Basis der Services Service Bus, Event Hub und Event Grid. Abschließend erhalten Sie einen Einblick in den Übergang zur Low-Code-Welt mit LogicApps und Data Explorer Cluster. Alle Bausteine werden kurz vorgestellt und in das Architekturmodell eingeordnet.Der praktische Teil umfasst die Implementierung im Portal und die Programmierung in Visual Studio 2022 mit C#. Alle Codebeispiele sind im Git Repository des Kurses verfügbar. Der Fokus des Kurses liegt auf der Anwendungsentwicklung, Sicherheits- und Deployment-Überlegungen spielen nur eine untergeordnete Rolle.Länge: 07:16 Stunden Alle Video-Lektionen im Überblick: Prinzipien der Cloud Intro Die Prinzipien der Cloud Kernfunktionen Übersicht Portal Die Dienstoberfläche Übersicht Werkzeuge Quiz: Prinzipien und Kernfunktionen Trailer Architekturen für cloud-native Applikationen Intro Cloud-native Architektur Abstrakte Merkmale Technische Merkmale Cloud-Entwurfsmuster Die Referenzarchitektur Quiz: Architekturen Cloud-nativer-Anwendungen Applikationsbausteine Intro Übersicht Bausteine AppService erstellen AppService bereitstellen Function erstellen Function Tools Functions mit Visual Studio entwickeln Functions bereitstellen Quiz: Übersicht über die Applikationsbausteine Persistenz Intro Übersicht Speicherlösungen Praxis Storage im Portal Storage Werkzeuge Übersicht Datenbanken Einführung in die CosmosDb Der Azure SQL Server Azure SQL Praxis Quiz: Grundlagen der Persistenzfunktionen Entwicklung von Applikationen Intro Der Werkzeugkasten Support Simulator Azure Functions im Detail Azure Functions debuggen Coding: CosmosDb für das Praxis-Projekt Übersicht über das Projekt Das Projekt in Visual Studio 2022 Quiz: Funktionen und Datenbanken Backend for Frontend Intro Azure AppService entwickeln Backend API entwickeln Deployment der Backend API Der WebPubSub Service und WebSockets Einrichtung des WebPubSub Service WebPubSub Functions praktisch entwickeln Quiz: Backend-APIs und Verteilerdienste Nachrichtenbasierte Datenverarbeitung Intro Einführung in Nachrichtensysteme Der Service Bus Einführung in das Event Grid Einführung in den Event Hub Praxis: Einrichtung Service Bus Praxis: Einrichtung Event Grid Praxis: Einrichtung Event Hub Einführung in das API Management API Management Praxis Quiz: Nachrichtenbasierte Datenverarbeitung Bonus: Service Integration Intro Integrationsmodule in der Referenzarchitektur API Management und Service Bus API Management und Event Hub Function Trigger Event Grid Einführung in Data Explorer Server Cluster DataExplorer und Event Hub Alternative Datenverteilungswege Praxis: LogicApps Fazit und Kursabschluss Quiz: Integrationsdienste und Line of Business-Schnittstellen Über den Trainer:Jörg Krause ist professioneller Software-Architekt, Berater und Trainer und arbeitet für mittelständische Unternehmen und Enterprise-Kunden weltweit. Er verfügt über mehr als 20 Jahre praktische Erfahrung in der Softwareentwicklung. Zahlreiche Veröffentlichungen von Fachartikeln, Fachbüchern, Videokursen und Auftritte auf Fachkonferenzen ergänzen seine Arbeit beim Kunden. Seine Schwerpunkte sind Webanwendungen und Services (Full-Stack) mit .NET und NodeJS, die Arbeit mit Datenbanken (SQL Server, MySQL, CosmosDb, Entity Framework) und die Nutzung von Cloud-Diensten (Azure, AWS, Microsoft 365).So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Das Python Bootcamp: Der komplette Programmierkurs für Anfänger
Obwohl Python noch eine recht junge Sprache ist, gehört sie schon lange zu den beliebtesten Programmiersprachen, die heute in der Backend-Entwicklung eingesetzt werden. Was macht sie so beliebt? Sie bringt eine umfangreiche Standardbibliothek mit, hat eine leicht verständliche Syntax und verfügt über zahlreiche Erweiterungen. Kein Wunder also, dass Python vielfältig eingesetzt wird und nahezu alle Bereiche der Softwareentwicklung abdeckt. Anwendungen für KI, Big Data, Data Science, Webanwendungen, Spiele, Datenvisualisierung, aber auch administrative Aufgaben können mit Python realisiert werden.In diesem Kurs führt der Python-Experte Jannick Leismann in die Grundlagen ein. Gemeinsam mit ihm erkunden Sie konkrete Anwendungen, arbeiten aktiv mit Daten und visualisieren diese. Am Ende wissen Sie, wie Sie eigene Anwendungen mit Python programmieren können.Alle Themen erklärt Jannick Leismann anhand von echtem Code, so dass Sie gleichzeitig mitprogrammieren können. Außerdem gibt es zu jedem Abschnitt ein Handout, damit Sie die gelernten Inhalte noch einmal nachvollziehen können. In den Programmierübungen können Sie sich selbst ausprobieren.Länge: 05:38 Stunden Alle Video-Lektionen im Überblick: Einführung und Einrichtung Herzlich willkommen zu diesem Kurs Intro Python und Sublime Text installieren Dein erstes Python-Programm Quick-Tipp: Doppelklick zum Ausführen Variablen Intro Variablen (string) Variablen (int, float) Mathematische Operationen Zwei Tipps für dich Was du alles mit Python machen kannst Übung: Variablen Variablen Werte Quiz: Variablen Listen Intro Listen erstellen und Elemente hinzufügen Listen sortieren und Länge bekommen Listen verändern Übung: Listen Quiz: Listen Algorithmen programmieren Intro For-Schleife Übung: Schleifen Listen mit Zahlen Entscheidungen treffen If verwenden Else verwenden Elif verwenden In Liste enthalten Beispielprogramm „Umsatzrechner“ Übung: Algorithmen programmieren Quiz: Algorithmen Dictionaries Intro Dictionaries Key-Value Pairs verändern und hinzufügen Key-Value Pairs löschen und überprüfen Schleifen und Dictionaries Übung: Dictionary Quiz: Dictionaries User Input Intro User Input User Input Autofinder Übung: User Input Quiz: User Input Lifecycle einer Anwendung (While-Schleife) Intro While-Schleife Duplikate einer Liste entfernen Lifecycle eines Programmes Break Übung: While und Lifecycle Quiz: Lifecycle einer Anwendung (While-Schleife) Funktionen Intro Funktion erstellen Argument oder Parameter Bücherliste Mehrere Parameter Argument durch Keywords Standardwerte von Parametern Rückgabewerte von Funktionen Listen als Parameter Übung: Funktionen Quiz: Funktionen Module Intro Modul erstellen Einzelne Funktionen importieren Alias Quiz: Module Objektorientiertes Programmieren Intro Eine Klasse erstellen Funktionen und Attribute einer Klasse Attributwerte verändern Funktion oder Methode Vererbung Override Übung: Objektorientiertes Programmieren Quiz: Objektorientiertes Programmieren Matplotlib: Daten visualisieren Intro Matplotlib und Pip installieren Ein Matplotlib-Projekt erstellen Umsatzahlen anzeigen und Achsen konfigurieren Die zweiten Umsatzzahlen anzeigen und Feinschliff Fazit und KursabschlussÜber den Trainer:Jannick Leismann arbeitet als freiberuflicher Softwareentwickler und Online-Trainer und bietet Dienstleistungen im Bereich der Programmierung an. Er ist spezialisiert auf C#, ASP.NET, Schnittstellenprogrammierung und die Entwicklung interaktiver Software. Als Microsoft Certified Developer bietet er Programmierkurse für Anfänger und Fortgeschrittene in den Bereichen Web-, Game- und App-Entwicklung an.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
C-Programmierung: Der Kompaktkurs für Softwareentwickler
C ist eine grundlegende Programmiersprache, auf der Systeme wie Windows und Linux basieren. Ursprünglich für die Systemprogrammierung des Betriebssystems Unix entwickelt, läuft sie heute auf nahezu jeder Plattform. Maschinen, Platinen und ganze Produktionsanlagen werden mit C programmiert, gesteuert und automatisiert. Es lohnt sich also zu verstehen, wie diese Systeme aufgebaut sind und wie sie funktionieren.In diesem Kurs lernen Sie die Programmiersprache C von den Grundlagen über die Besonderheiten bis hin zur praktischen Anwendung kennen. IT-Experte Jannick Leismann macht Sie mit den Werkzeugen vertraut, die Sie benötigen, um Ihre Projekte in UNIX-Entwicklungsumgebungen umzusetzen. Alle Themen demonstriert Jannick an echtem Code, so dass Sie gleichzeitig mitprogrammieren können. Außerdem gibt es zu jedem Thema ein Quiz, mit dem Sie Ihr Wissen testen können, ein Dokument (Spickzettel), in dem alle wichtigen Fakten und Beispiele zum Thema zusammengefasst sind, und eine Programmierübung, mit der Sie das Gelernte selbst testen können.Am Ende des Kurses werden Sie nicht nur in der Lage sein, Ihre eigenen C-Programme zu schreiben, sondern Sie werden auch verstehen, wie Sie Programme auf Ihrem Computer implementieren müssen, damit sie von Ihrer Maschine ausgeführt werden können.Länge: 5 Stunden Alle Video-Lektionen im Überblick: Einführung und Einrichtung Herzlich willkommen in diesem Kurs Intro Einführung in C IDE installieren Dein erstes Programm in C C per Konsole kompilieren Quiz: Einführung und Einrichtung Grundfunktionen Programmierung (Variablen, Kommentare, Rechnen, Nutzereingaben) Intro Kommentare verwenden Rechnen Eine Variable erstellen Mit Variablen rechnen und Werte verändern Nutzereingaben lesen und Speicheradressen Datentypen Speichergrößen von Variablen Übung: Zwei Kommazahlen multiplizieren Quiz: Grundfunktionen Programmierung (Variablen, Kommentare, Rechnen, Nutzereingaben) Anweisungen (If-Statements) Intro Was sind If-Statements? Else if und Else Nested If-Statements Mehrere Bedingungen Übung: If-Statements Jahreszeiten Strings vom Nutzer einlesen und im If-Statement verwenden Quiz: Anweisungen (If-Statements) Felder Intro Was sind Felder (Arrays)? Ergänzungen Länge eines Feldes berechnen Quiz: Felder Schleifen Intro For-Schleife (Zählschleife) While-Schleife Do-While-Schleife Keywords, Break und Continue Übung: Mit Schleifen den Durchschnitt berechnen Quiz: Schleifen Funktionen Intro Was sind Funktionen? Parameter in Funktionen Rückgabewerte von Funktionen Prototypen von Funktionen Eigene Headerdateien erstellen Übung: Mit Funktionen hochzählen Quiz: Funktionen Pointer Intro Was sind Pointer? Pointer als Parameter Pointer mit Verweis auf Feld (Array) Quiz: Pointer Speicherwerte Intro Lokale und globale Variablen Typen von Speicherwerten Const und Cast Quiz: Speicherwerte Hands On! Zeit zu Coden Intro Die C-Standard-Bibliothek Programm "Countdown" Sicherheitswarnungen abschalten Programm "Commands ausführen/Prozesse starten" Tastatureingaben simulieren (Bot) struct, union und typeof Intro structs structs verschachteln unions typedefs structs als Parameter und Rückgabewerte Quiz: struct, union und typeof Dynamischer Speicher Intro Heap und Stack Malloc, Calloc, Realloc und Free Fazit und KursabschlussÜber den Trainer:Jannick Leismann arbeitet als freiberuflicher Softwareentwickler und Online-Trainer und bietet Dienstleistungen im Bereich der Programmierung an. Er ist spezialisiert auf C#, ASP.NET, Schnittstellenprogrammierung und die Entwicklung interaktiver Software. Als Microsoft Certified Developer bietet er Programmierkurse für Anfänger und Fortgeschrittene in den Bereichen Web-, Game- und App-Entwicklung an.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
ASP.NET Core – Der Intensivkurs
Mit dem von Microsoft entwickelten plattformübergreifenden Web-Framework ASP.NET Core können Sie dynamische Webseiten, Webanwendungen und Webdienste programmieren. Der Fokus auf Cross-Plattform-Entwicklung ermöglicht es Ihnen, moderne Anwendungen schnell und effizient zu erstellen und Probleme schneller zu lösen.In diesem Kurs lernen Sie, eigene Webanwendungen und Cloud-Software mit ASP.NET Core zu programmieren. Gemeinsam mit Ihrem Trainer Jannick Leismann entwickeln Sie eine ausgereifte Software mit einer Struktur, wie sie auch bei großen Websites wie Facebook, Twitter und Google zum Einsatz kommt. Dabei lernen Sie die Programmiersprache anhand eines praktischen Beispiels von Grund auf kennen, angefangen bei den Grundlagen, die Ihnen den Einstieg erleichtern, über Kernthemen wie Dependency Injection, MVC Pattern, Entity Framework, SQL sowie asynchrone Abfragen und Methoden bis hin zu fortgeschrittenen Themen wie RESTful API-Entwicklung, Front- und Backend-Entwicklung mit C#, Benutzerkonten und Autorisierung. In diesem Kurs entwickeln Sie mit dem MVC-Pattern. Das erlernte Wissen können Sie später auch nutzen, um Ihre ASP.NET Core Programme mit Angular, Blazor, Vue.js oder React zu verbinden.Dieser Kurs ist daher nicht nur für Einsteiger interessant, sondern auch für Programmierer, die sich weiterbilden möchten.Länge: 05:14 Stunden Alle Video-Lektionen im Überblick: Einführung und Einrichtung IntroHerzlich willkommen in diesem Kurs Projekt aufsetzen Model View Controller (MVC-Muster) und Template Program, Startup und AppSettings Deine erste Datenbankmigration Registrieren und Shared-Layout-Anpassungen MVC, Data Binding und Entity Framework Intro JobPosting Model erstellen und patchen Deine erste eigene View Views und Routing vorbereiten Data Binding des JobPosting Files hochladen JobPosting erstellen und überschreiben Bestehende JobPostings anzeigen Fehlerkorrekturen und Debugging Ein JobPosting löschen Quiz: MVC, Data Binding und Entity Framework Plugins, Benutzer und Authorisierung Intro JavaScript Plugins und DataTable Ajax anhand von Bestätigungsdialogen Sicherheitslücken schließen Die Nutzer-Startseite erstellen Liste mit allen JobPostings anzeigen JobPosting Modal Popup Suchfilter einbauen mit Partial Views Eine neue Rolle anlegen Nutzer seeden und Rollen automatisch verteilen Quiz: Plugins, Benutzer und Authorisierung RESTful-API-Entwicklung Intro Einleitung Dein erster Endpunkt Postman GetAll Endpunkt (GET) GetById Endpunkt (GET) Create Endpunkt (POST) Delete Endpunkt (DELETE) Update Endpunkt (PUT) Quiz: RESTful-API-Entwicklung Ergänzungen Intro API-Key-Autorisierung Login-Seite modifizieren (Identity Pages verwenden) Fazit und KursabschlussÜber den Trainer:Jannick Leismann arbeitet als freiberuflicher Softwareentwickler und Online-Trainer und bietet Dienstleistungen im Bereich der Programmierung an. Er ist spezialisiert auf C# ASP.NET, Schnittstellenprogrammierung und die Entwicklung interaktiver Software. Als Microsoft Certified Developer erstellt er Programmierkurse für Anfänger und Fortgeschrittene rund um Web-, Game- und App-Entwicklung.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in kleine Lernschritte und Aufgaben unterteilt. So können Sie den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquiz zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs werden lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Continuous Delivery für Softwareentwickler
Continuous Delivery ist aus der Welt der Softwareentwicklung nicht mehr wegzudenken - die Pipeline wird bei jeder Änderung am Code angestoßen. Eine Sammlung von Techniken, Prozessen und Werkzeugen hilft Software-Teams, laufende Anwendungen kontinuierlich zu warten, weiterzuentwickeln und zu erweitern - und das mit hoher Ausfallsicherheit.In diesem Grundkurs wenden Sie das Gelernte direkt an einer Beispielanwendung bestehend aus Frontend und Backend inklusive PostgresSQL an. Sie entwickeln Ihr eigenes Continuous Delivery Lab inklusive eigenem Gitlab und eigenem Jenkins.Um an diesem Kurs teilzunehmen, sollten Sie Lust auf die Linux Kommandozeile haben und sich nicht vor Bash/Groovy Scripting scheuen. Linux-Grundkenntnisse sowie Grundkenntnisse in Docker, Docker-Compose sind von Vorteil.Länge: 07:39 Stunden Alle Video-Lektionen im Überblick: Einführung und Einrichtung Herzlich willkommen zu diesem Kurs Einführung in Continuous Delivery Vorstellung Beispielprojekt Installation ToolboxVM Übersicht CDLab CDLab Bootstrapping mit Terraform CDLab Provisioning mit Ansible Quiz: Einführung und Einrichtung Das richtige Source Code Management System Intro Anforderungen und Auswahl Gitlab kurz vorgestellt Der Entwicklungszyklus Die Pipeline triggern Quiz: Das richtige Source Code Management System Zusammenfassung CD Pipelines brauchen eine Laufzeitumgebung Intro Anforderungen und Auswahl Jenkins kurz vorgestellt Quiz: CD Pipelines brauchen eine Laufzeitumgebung Zusammenfassung Die wichtigste Stage: die Commitstage Intro Aufgaben und Anforderungen Pipelines as Code Source Code Checkout Step Dependency Management und Build lokal entwickeln Step Dependency Management und Build in die Pipeline übernehmen Exkurs: Tools bereitstellen als Docker Images Docker Image Tools in der Pipeline nutzen Linting und Statische Codeanalyse Unittests Quiz: Die wichtigste Stage: die Commitstage Zwischenfazit Commitstage abschließen: die Anwendung packetieren Intro Anforderungen an das Binärpaket Docker Images als Binärpaketformat Anwendung als Docker Image packen Docker Image in der privaten Registry ablegen Docker Image Build und Push in die Pipeline übernehmen Die Packetierung als Docker Image in die Pipeline übertragen Die Packetierung als Docker Image in die Pipeline übertragen - den Imagenamen dynamisch generieren Die Packetierung als Docker Image in die Pipeline übertragen - Feinschliff Zusammenfassung Abschließende Optimierung der Commitstage Quiz: Commitstage abschließen: die Anwendung paketieren Eine Zielumgebung erstellen Intro Anforderungen an Zielumgebungen DNS zur Service Discovery nutzen Eine VM als Single-Node-Zielumgebung bootstrappen Docker provisionieren ssh-Verbindung testen Exkurs: Infrastructure as Code Zielumgebung aus Pipeline heraus nutzen Quiz: Eine Zielumgebung erstellen Zusammenfassung Die Anwendung deployen Intro Anforderungen an das Deployment Configuration Management Einführung Docker-Compose Die Anwendung manuell deployen - Vorarbeiten Die Anwendung manuell deployen - Deployment Ein Deployment bash-Skript entwickeln Das Deployment in die Pipeline integrieren Quiz: Die Anwendung deployen Die Anwendung integriert testen Intro Vorüberlegungen zu Integrationstests Vorbereitung der Testumgebung Deployment manuell triggern Integrationstests laufen lassen Die Integrationstests in die Pipeline integrieren - Vorarbeiten Die Integrationstests in die Pipeline integrieren - Secretmanagement und Testlauf Quiz: Die Anwendung integriert testen Zusammenfassung Die Anwendung auf Produktion deployen Intro Vorüberlegungen Promotion von Build Artefakten Erzeugung von Staging und Prod Zielumgebungen Integration in die Pipeline Deployment im Rahmen eines Release-Prozesses Tagging als Release Trigger - Vorüberlegungen Tagging als Release Trigger - Implementation Tagging als Release Trigger - Deployment auf Staging und Prod Zusammenfassung Quiz: Die Anwendung auf Produktion deployen Fazit und Kursabschluss Über den Trainer:Alexander Birk unterstützt seit über 20 Jahren Softwareteams als Entwickler, Berater, Trainer und Coach. Seit über 10 Jahren bringt er Containerisierung und deren Vorläufer Continuous “Everything” zusammen mit Cloud Technologien wie Kubernetes, Serverless & Friends in die jeweiligen Projekte ein. Als leidenschaftlicher Softwareentwickler treiben ihn aktuell Themen wie evolutionäre Softwarearchitektur, eventgetriebene Systeme und funktionale Programmierung um. Seine zweite „Identität" als ausgebildeter Coach hilft dabei, die sozial-organisatorischen Herausforderungen der Softwareentwicklung in agilen Teams (manchmal) aus neuen Perspektiven zu sehen und anzugehen.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Software Design mit C++
Von Sean Parent stammt das berühmte Zitat “Inheritance is the Base Class of Evil” - Vererbung hat in den letzten Jahren erheblich an Popularität verloren, nicht nur in C++. Modernes C++ setzt vor allem auf einen anderen, vielleicht überlegenen Ansatz: “Value Semantics”.Dieser Videokurs geht der Frage nach, warum vererbungsbasiertes Softwaredesign heute eher als problematisch angesehen wird und warum modernes C++ auf Value Semantics ausgerichtet ist. Der Kurs zeigt verschiedene Beispiele aus der Standardbibliothek und Beispiele in Form von klassischen und modernen Design Patterns. Außerdem wird die Frage behandelt, wie man gute Vererbungshierarchien implementiert und wie man die bekannten Probleme und den Missbrauch von Vererbung vermeidet.Länge: 07:54 Stunden Alle Lektionen im Überblick: Einführung in den Kurs Herzlich willkommen zu diesem Kurs Vererbungshierarchien: Die guten Seiten Intro Das Problem: Zeichnen von Formen Kommentar zu Code-Beispielen Prozedurales Programmieren: Dynamischer Polymorphismus à la C Prozedurales Programmieren: Erweitern mit neuen Typen Objekt-Orientiertes Programmieren: Dynamischer Polymorphishmus à la C++ Vergleich der beiden Lösungsansätze Quiz: Vererbungshierarchien: Die guten Seiten Vererbungshierarchien: Die dunklen Seiten Intro Vererbung in der C++ Community Performance-Probleme/Overhead Erweiterbarkeit von Typen und Operationen Missbrauch von Vererbung Die Geschichte von C++ Quiz: Vererbungshierarchien: Die dunklen Seiten Die Philosophie des modernen C++ Intro Was ist Value Semantics? Beispiele aus der Standardbibliothek: Die STL Beispiele aus der Standardbibliothek: std::optional Beispiele aus der Standardbibliothek: sd::function Beispiele aus der Standardbibliothek: sd::variant Der Gegenspieler: "Reference Semantics" Beispiele aus der Standardbibliothek: std::string_view Beispiele aus der Standardbibliothek: std::span Design mit "Value Semantics" Quiz: Die Philosophie des Modernen C++: Value Semantics Das Visitor Design Pattern Intro Das GoF Visitor Design Pattern Die klassische Implementierung mit Vererbungshierarchien Die moderne Implementierung mit std::variant Vergleich zwischen klassischer und moderner Implementierung Performance-Vergleich zwischen klassischer und moderner Implementierung Quiz: Das Visitor Design Pattern Das Strategy Design Pattern Intro Das GoF Strategy Design Pattern Die klassiche Implementierung mit Vererbungshierarchie Die moderne Implementierung mit std::function Vergleich zwischen klassischer und moderner Implementierung Performance-Vergleich zwischen klassischer und moderner Implementierung Quiz: Das Strategy Design Pattern Type Erasure: Ersatz für Vererbungshierarchien? Intro Type Erasure: Beispiele aus der Standardbibliothek Die Implementierung von std::function: Das public Interface Die Implementierung von std::function: Der Kern von Type Erasure Die Implementierung von std::function: Die Special Member Functions Umsetzung von Type Erasure für eigene Typen Performance Optimierung mittels "Small Buffer Optimization" Performance Optimierung mittels "Manual Dispatch" Die Performance von Type Erasure Type Erasure und Referenzen Quiz: Type Erasure: Ersatz für Vererbungshierarchien? Das Decorator Design Pattern Intro Das GoF Decorator Design Pattern Die klassische Implementierung mit Vererbungshierarchie Die moderne Implementierung mit Type Erasure "Policy-Based Design" Moderne Implementierung mit Type Erasure und Policy-Based Design Quiz: Das Decorator Design Pattern Das Factory Method Design Pattern Intro Das GoF Factory Method Design Pattern Die klassische Implementierung mit Vererbungshierarchien Die moderne Implementierung mit Type Erasure Die moderne Implementierung mit std::variant Quiz: Das Factory Method Design Pattern Vererbung ja, aber richtig! Intro Erfüllen des Liskov Substitution Prinzips (LSP) Maximale Tiefe von Vererbungshierarchien Abhängigkeiten innerhalb einer Vererbungshierarchie Vererbung von Non-Base-Klassen Das "Non-Virtual Interface" Idiom (NVI) Das "Curiously Recurring Template Pattern" (CRTP) Limitierungen des CRTP Quiz: Vererbung ja, aber richtig Überraschungen in Vererbungshierarchien Intro "Name Lookup" in Vererbungshierarchien Virtuelle Funktionen und Default Parameter Virtuelle Functionsaufrufe in Constructors and Destructors Arrays von abgeleiteten Typen Siamese Twins Quiz: Überraschungen in Vererbungshierarchien Appendix: Die SOLID Prinzipien Intro Das Ziel der SOLID Prinzipien Das Single Responsibility Prinzip (SRP) Das Open-Closed Prinzip (OCP) Das Liskov-Substitution Prinzip (LSP) Das Interface Segregation Prinzip (ISP) Das Dependency Inversion Prinzip (DIP) Quiz: Appendix - Die SOLID Prinzipien Fazit und Abschluss Über den Trainer:Klaus Iglberger ist freiberuflicher C++-Trainer und -Berater. Seit dem Abschluss seiner Doktorarbeit in Informatik im Jahr 2010 hat er sich auf C++-Software-Design für große Systeme spezialisiert. Sein Fachwissen gibt er in beliebten C++-Kursen rund um den Globus weiter (hauptsächlich in Deutschland, aber auch in der gesamten EU und den USA). Er ist Initiator und Hauptentwickler der Blaze C++-Mathematikbibliothek und einer der Organisatoren der Münchner C++ User Group.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Serverless Development mit AWS – Node.js, Python und Go
Für das Deployment von AWS Lambda gibt es viele spezialisierte Tools, die jedoch in ihren Erweiterungsmöglichkeiten begrenzt sind. Dieser Kurs zeigt Ihnen, wie Sie AWS-Ressourcen komfortabel mit dem ebenfalls polyglotten Cloud Development Kit (CDK) erstellen. Und wenn es auf Geschwindigkeit ankommt, lernen Sie die schnellsten Deployment-Methoden kennen.Das Thema Testen von Serverless-Code wird manchmal gar nicht oder unnötig kompliziert angegangen. IT-Experte Gernot Glawe zeigt, wie einfach Test-driven Development in allen drei Programmiersprachen sein kann.Anhand konkreter Codebeispiele lernen Sie Vorgehensweisen, Tipps, Tricks und Fehlervermeidung kennen, um das volle Potenzial von Serverless Development auszuschöpfen.Länge: 09:50 Stunden Alle Video-Lektionen im Überblick: Einführung und Einrichtung Herzlich willkommen zu diesem Kurs Node.js – für Webumsteiger Intro Hello World in Node.js Hello Lambda in Node.js Was darf Lambda? Async & Callback Node.js Promises Async / Await – Sequenziell oder asynchron Events in Lambda verarbeiten Modularisierung der Eventverarbeitung Unit Test der Eventverarbeitung Die Packetverwaltung npm Das AWS Software Development Kit für Node.js AWS – Modulares SDK Upload von lokalem Lambda-Code Quiz Python - für Anfänger und Machine Learning Intro Python-Einstieg Hello World Python Hello World Lambda Python Einfache Tests von Modulen Python-Module in Lambda Projektverwaltung mit Requirements Das AWS SDK Boto3 Der Python-Lambda-S3-Bucket-Zähler Rechte für den Bucket-Zähler Deployment von Python Lambda Quiz: Python – für Anfänger und Machine Learning Golang - Schnell und Typsicher Intro Einführung in Go Hello World in Go Hello Lambda Go Testing mit Go Zugriff auf AWS Services - StackzählerQuiz Deployment mit dem Cloud Development Kit – CDK Intro Code und Infrastruktur - zusammen oder getrennt? Programmierung einer Lambda-Ressource mit dem CDK Deploy der Ressource und der Infrastruktur zu AWS Lambda Wozu der Aufwand - Hintergrund zu CDK Docker Lambda Deployment Bootstrap CDK und Deploy des Stacks Programmierung einer Python Lambda als Python-Ressource mit dem CDK Lambda Go Code bauen Lambda-Ressource für Go bauen Lambda-Ressource für Go mit Docker bauen Debugging Docker Quiz Ein Node.js-Projekt Intro Lambda-Aufrufvarianten Die Businesslogik Unittest Code Lambda Funktion entwickeln und testen Lambda Resource bauen Testgetriebene CDK-Infrastruktur Tuning der Lambda-Ressource API Gateway einbauen Ressourcen mit Zertifikat und Domain Website mit CDK deployen Website mit API Gateway verbinden Quiz Ein Python-Projekt Intro Hintergrundskripte: Asynchrones Python Lambda mit DynamoDB Tools und Testmethoden Codegenerierung mit der NoSQL Workbench Testen der Businesslogik mit Pytest Test grün machen DynamoDB schreiben Unit-Integrationstest mit DynamoDB Lambda-Funktion bauen Lambda-Ressourcen bauen Deploy-Ressourcen und Funktion Schneller Funktionsupdate und Integrationstest Aufruf mit DynamoDB Streams Quiz Ein Go-Projekt Intro Fachliche Anforderung der Warmstarts Unit, Integration und Mock-Tests mit DynamoDB Unittegration Test GetData Lesefunktion DynamoDB Gewichtswerte Wie funktioniert Mocking von AWS API Calls? Unittest mit Mocked AWS Client Softwarearchitektur für Grafiken generieren Test der Chart/Diagramm-Generierung API Gateway mit binären Content mit dem CDK bauen Die Lambda-Funktion als Manager Ausblick, Integration und Sprachauswahlhilfen Quiz Fazit und Kursabschluss Über den Trainer:Gernot Glawe ist Cloud Consultant und Trainer bei tecRacer Consulting. Seine Schwerpunkte sind AWS, DevOps und Serverless Development. Er ist AWS Community Builder und Organisator der AWS UserGroup Hannover. So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Service Meshes in der Praxis
In den letzten Jahren sind verteilte Architekturen sehr populär geworden, insbesondere in Form von Microservices. Diese stellen besondere Herausforderungen an den Betrieb. Service Meshes versprechen, bei der Bewältigung dieser Herausforderungen zu helfen.Ein Service Mesh ist ein wertvolles Werkzeug, um die Kontrolle über das Zusammenspiel von Daten aus verschiedenen Teilen einer Anwendung zu behalten. Dadurch wird nicht nur die Dokumentation optimiert, sondern auch die Kommunikation verbessert und Ausfälle minimiert.In diesem Kurs lernen Sie die Möglichkeiten von Service Meshes anhand der Implementierung Linkerd kennen. Anhand von praktischen Beispielen lernen Sie die verschiedenen Features kennen. Am Ende des Kurses kennen Sie die bekanntesten Implementierungen von Service Meshes und wissen, wann ein Service Mesh sinnvoll sein kann und wie Sie eine Implementierung auswählen.Länge: 05:45 Stunden Alle Video-Lektionen im Überblick: Einstieg Herzlich willkommen zu diesem Ein Service Mesh in Aktion Warum Service Meshes? Einweisung in den Kurs Installation und Einrichtung Intro Ein Kubernetes Cluster zum Testen mit GKE Ein lokales Kubernetes Cluster zum Testen Exkurs: Kubernetes Client - Grundlagen Exkurs: Wichtige Kubernetes Kommandos Exkurs: Kubernetes API Objekte und Deklarative Syntax Exkurs: Replicas, Logs und Aufräumen Installation des Service Meshes Umgang mit der Linkerd Kommandozeile Umgang mit der Demo-Anwendung Quiz Grundlagen Service Meshes Intro Kubernetes Pattern für Service Meshes Die Architektur von Linkerd Proxy-Injection Netzwerkumleitung durch Service Meshes Features von Service Meshes Exkurs: Service Mesh Interface (SMI) Quiz Linkerd: Routing Intro Routing-Features von Linkerd Routing von Linkerd im Vergleich zu Plain Kubernetes A-B Testing mit Linkerd Blue Green Deployment mit Linkerd Canary Releasing mit Linkerd Quiz Linkerd: Observability und Monitoring Intro Überblick Monitoring mit Linkerd Das Linkerd Dashboard Observability mit der Linkerd Kommandozeile Linkerd - Prometheus und Grafana Linkerd Tap Exkurs: Tracing mit Linkerd und Jaeger Quiz Linkerd: Resilienz und Security Intro Resilience-Features von Linkerd Timeouts mit Linkerd Retrys mit Linkerd Exkurs- Fault Injection & Chaos Engineering mTLS mit Linkerd Quiz Für ein Service Mesh entscheiden Intro Brauche ich ein Service Mesh? Alternativen zu Service Meshes Überblick über die aktuellen Implementierungen Unterschiede bei Routing und Observability Überblick Resilience, Security & Ressourcenverbrauch Steckbrief Istio Steckbrief Consul Mesh Steckbrief AWS App Mesh Steckbrief Traeffic Mesh Steckbrief Kuma Steckbrief OSM Quiz Abschluss und Aussicht Intro Schnelldurchlauf durch die genutzten Features Hinweise für weiteres Studium Deinstallation Demo-Umgebung und Cluster Fazit und Kursabschluss Über den Trainer:Jörg Müller ist Principal Consultant der INNOQ. Er ist seit über 20 Jahren in verschiedenen Rollen in der IT-Beratung und Softwareentwicklung tätig. In den letzten Jahren hat er sich auf die Architektur und den Betrieb von Software as a Service spezialisiert. Aktuelle Themen sind Microservices, Continuous Delivery und Kubernetes. In der Community ist er als Autor aktiv, hält Vorträge und ist an der Organisation der JUG Berlin-Brandenburg sowie verschiedener Konferenzen beteiligt.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Der C++20-Kurs: Concepts, Ranges, Module und Coroutinen
Mit Concepts beispielsweise definieren Sie Templates als semantische Kategorien für die Menge der zulässigen Datentypen wesentlich einfacher und ausdrucksstärker. Mit der Ranges-Bibliothek können Sie die Algorithmen der Standard Template Library direkt auf den Container anwenden, mit dem aus der Unix-Shell bekannten Pipe-Operator verknüpfen und auf unendlichen Datenströmen definieren. Damit lassen sich kooperatives Multitasking, unendliche Datenströme, Event-Schleifen oder auch Pipelines elegant realisieren. Module stellen eine Alternative zu Header-Dateien dar und bieten viele Verbesserungen. An praktischen Beispielen können Sie die Trennung von Header- und Sourcecodedateien aufheben, Präprozessoranweisungen eliminieren, bessere Kompilierzeiten erzielen und Pakete einfacher paketieren.In diesem Kurs erhalten Sie einen Überblick und lernen die grundlegenden Neuerungen kennen. Praktische Beispiele veranschaulichen die Funktionalität und an Aufgaben können Sie selbst ausprobieren und üben.Der neue Standard C++20 bringt ähnlich große und einschneidende Neuerungen wie zuletzt vor 10 Jahren C++11. Zentrale Features wie Ranges, Coroutinen, Concepts und Module eröffnen Entwicklern neue Möglichkeiten, in einem noch moderneren C++ zu programmieren.Länge: 3:51 Stunden Alle Video-Lektionen im Überblick: Einführung in den Kurs Herzlich Willkommen zu „C++20: Die vier großen Neuerungen“ Einordnung des C++20-Standards Aktuelle C++20-Unterstützung Online Compiler Concepte Intro Motivation Anwendung Details: Klassen Details: Funktionen Details: Mehrere Anforderungen Motivation: Asymmetrie in C++14 mit auto Platzhalter Syntax Syntactic Sugar Vordefinierte Concepte in C++20 Concepte definieren: Kombination von anderen Concepten und Compilezeit-Prädikaten Concepte definieren: Requires Expressions Concepte definieren: SemiRegular und Regular Concepte: Evolution oder Revolution? Übung: Concept Arithemtic Übung: Die Funktion sum1 und sum2 refaktorieren Ranges Intro Direktes Anwenden auf dem Container Lazy Evaluation Komposition von Algorithmen Ranges versus Views Überblick zu existierenden Views Übung: Die Views Filter und Transform Übung: filter-Funktion in Python in C++ implementiert Übung: map-Funktion in Python in C++ implementiert Module Intro Erster Überblick Module Interface Unit und Module Implementation Unit Struktur eines Moduls Namen exportieren Module bauen unter Windows Submodule und Partitionen Module Linkage und Header Units Übung: Module erweitern Übung: Headerdateien portieren Coroutinen Intro Erster Überblick Mehr Details Analyse eines Generators Warten statt Blockieren Zusätzliche Information Übung: Einen Generator anpassen Übung: cppcoro studieren Quiz Kursabschluss Über den Trainer:Rainer Grimm ist seit vielen Jahren als Softwarearchitekt, Teamleiter und Trainer tätig. In seiner Freizeit schreibt er Artikel über die Programmiersprachen C++, Python und Haskell und spricht auf Fachkonferenzen. In seinem Blog Modernes C++ (heise Developer) beschäftigt er sich intensiv mit seiner Leidenschaft C++. Seit 2016 ist er selbstständig. Insbesondere die Vermittlung von Wissen über modernes C++ liegt ihm am Herzen. Seine Bücher "C++11 für Programmierer", "C++" und "C++-Standardbibliothek" aus der Reihe "kurz und gut" sind bei O'Reilly erschienen. Seine englischsprachigen Bücher "The C++ Standard Library" und "Concurrency with Modern C++" wurden in mehrere Sprachen übersetzt. Im April erscheint sein englischsprachiges Buch über die "C++ Core Guidelines" bei Addison-Wesley.So lernen Sie mit diesem Videokurs:In den Videokursen von heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie den Experten bei der praktischen Arbeit zu und lassen Sie sich dabei alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt – Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy hält viele Funktionen für Sie bereit, die Ihnen beim Lernen helfen können:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
Schiffe versenken mit T-SQL
Sie möchten ein Spiel mit der Abfragesprache T-SQL programmieren? In diesem Kurs lernen Sie alle relevanten Programmierobjekte von Microsofts SQL-Erweiterung nicht nur stumpf kennen, sondern kombinieren sie schrittweise zu einem netzwerkfähigen Zweipersonenspiel mit grafischer Ausgabe. Sie lernen die Grundlagen wie Tabellen und Views, effiziente Datenarchitektur und das Füllen Ihrer Objekte. Danach geht es weiter mit der Programmierung von Prozeduren und Funktionen und fortgeschrittenen Techniken wie Parameterübergabe, Rekursion oder Fehlerbehandlung. Wenn das Grundgerüst steht, ist es nicht mehr weit bis zum ersten Spiel zwischen zwei menschlichen Mitspielern - gerne auch über das Netz.Doch damit nicht genug: Sie spendieren Ihrem Programm noch ein paar Algorithmen zum automatisierten Spielen und bringen dem Computer sogar verschiedene Schwierigkeitsstufen bei. Die Endausbaustufe ist dann eine Schnittstelle zu einer künstlichen Intelligenz, die zuvor mit den Azure-Diensten realisiert und mit Tausenden von Trainingsdatensätzen trainiert wurde. Sie können das Programm dann nicht nur für ein Spiel zwischen zwei Menschen verwenden, sondern auch für Spiele "Mensch gegen Computer" oder "T-SQL-Algorithmus gegen künstliche Intelligenz". Ist Ihr T-SQL-Algorithmus schlauer als die Microsoft-Intelligenz?Länge: 07:29 Stunden Alle Video-Lektionen im Überblick: Einführung in den Kurs Herzlich willkommen zu T-SQL Informationsquellen Vorbereitung der Arbeitsumgebung Erste einfache Schritte Intro Die Basisregeln Einrichten des Management-Studios Die Technik der Skripte Eine Datenbank über die GUI anlegen Ein erstes Skript erstellen Schemata Die erweiterten Spielregeln der Ausbaustufe Tabellen Intro Tabellenanlage über die GUI Weitere Datentypen und der Primary Key Die Tabellenanlage als Skript notieren Das Skript vollenden Die Tabelle [ListeEigenesSchussfeld] Die erste eigene Herausforderung Lösung zur Herausforderung Weitere Tabellen Inserts Intro Insert per Skript Weitere Inserts Die Befehle ASCII und CHAR DELETE und TRUNCATE Komplexere Inserts Intro Tabelle [Schiffe und Symbole] Die (verschachtelte) Schleife INSERTS innerhalb von Schleifen Quiz Einfache Selects Intro Was sind SELECTs? Filtereinschränkungen mit WHERE Weitere Filtermöglichkeiten Mehrere Tabellen abfragen Die Bedeutung von Schlüsseln Constraints verstehen Constraints praktisch angewendet Views Intro Was sind JOINs? Die Erstellung von Sichten (Un-)Pivot, die Grundlagen Sichten kombinieren Window Functions Die Restschiffanzeige Intro Die Statusspalte Die Schiffslegende Statements testen Gesamtview erstellen Kapitelzusammenfassung Quiz Funktionen und Prozeduren Intro Einfache Prozeduren Dynamisches SQL Security prcNeuesSpiel starten Einfache Funktionen Der Firehousemodus Wer hat das Schussrecht? Spielbereitschaft überprüfen Erweiterte Funktionen und Prozeduren Intro Determinismus fnc-generiere Zufallszahl prc-Schuss abgeben, der Einstieg Die Schussrückmeldung Fallunterscheidungen Trefferkonsequenzen Letzte Statistiken Regelkonforme Schiffsplatzierung Intro Manuelle Platzierung per UPDATE Illegale Schiffsstellung Einen Cursor anlegen Den Cursor durchlaufen Das automatische, zufällige Setzen Das Umkopieren in die spielerbezogenen Spielbretter Die Schussauswertung Intro Hat der Schütze jetzt gewonnen? Schussverwaltung Spielfelder Schussergebnis ermitteln (der Rahmen) Quiz Abschlussarbeiten und Protokollierung Intro Fehlermeldungen korrigieren Protokollierung Die ewige Spieleliste Statistische Abfragen Das Spiel T-SQL vs T-SQL Intro Der Zufallsschuss Der automatische Gegenschlag nach einem Schuss Trigger ausprobieren Intelligenz nachbauen Ablaufimplementierung Verschiedene Spielstufen implementieren Intro Architekturänderung für die KI Das Spiel gegen die KI Fazit und Kursabschluss Über den Trainer:Torsten Ahlemeyer realisiert seit 2003 Abrechnungs- und Stammdatenanwendungen in Großprojekten. Der Diplom-Wirtschaftsinformatiker und Professional SCRUM Master begann als Entwickler und machte sich dann als Projektleiter in der Softwareentwicklung im internationalen Projektumfeld einen Namen. Die Microsoft-Technologie vom Betriebssystem bis zu den Programmiersprachen war dabei in allen Projekten ebenso gesetzt wie der MS-SQL-Server (SSAS, SSIS, SSRS, ...). Als IT-Consultant unterstützt Torsten Ahlemeyer die Kunden der arelium GmbH hauptsächlich in der Rolle des Projektleiters, aber auch als Architekt, DB-Consultant oder T-SQL-Spezialist bei der Umsetzung komplexerer Datenbankprojekte.So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum MitmachenResponsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.
JavaScript für Softwareentwickler
Als Entwickler kommt man heute kaum noch ohne JavaScript-Kenntnisse aus, denn JavaScript ist eine der beliebtesten Programmiersprachen der Welt. Neben HTML und CSS bildet sie die Grundlage für die Frontend-Entwicklung im Web.Immer mehr Projekte im Web werden mit der Skriptsprache umgesetzt und dank Projekten wie Node.js oder Deno wird JavaScript auch serverseitig immer häufiger eingesetzt.In diesem Kurs lernen Sie JavaScript im Detail kennen und sind am Ende in der Lage, die Sprache sicher und mit gutem Gewissen in eigenen Projekten einzusetzen.Länge: 07:57 Stunden Alle Video-Lektionen im Überblick: Einführung Willkommen zu JavaScript Hallo Welt! JavaScript ist nicht C-basiert Lego versus Playmobil Editor, IDE und Co. Die REPL von Node.js Section-1611569762 Open Source, Historie und Versionierung Intro: Open Source, Historie und Versionierung "Sharing is Caring" Der Open-Source-Ansatz Die Historie der Sprache Die Versionierung von JavaScript Die Engines: V8, Chakra und Co. Quiz Das Typsystem in JavaScript Intro: Das Typsystem von JavaScript Ganze Zahlen und Dezimalzahlen Zeichenketten und Zeichen Logische Werte undefined und null Kurzer Ausblick: function, object und Array Variablen und Konstanten Statisch versus dynamisch Template Strings Falsy Values Die Vergleichs-Operatoren Gleichheit versus Identität Quiz Anweisungen Intro: Anweisungen Der Strict-Mode Anweisungen versus Ausdrücke Die for-Schleife Die while-Schleife Die do-while-Schleife Die if-Anweisung Die else-Anweisung Die else-if-Anweisung break und continue Die switch-Anweisung Der ternäre Operator Quiz Funktionale Programmierung Intro: Funktionale Programmierung Funktionsanweisungen und -ausdrücke Parameter und Rückgabewerte Funktionen aufrufen Optionale Parameter und Standardwerte Der Rest-Operator Rekursion Closures Funktionen höherer Ordnung Arrays im Detail Map und Reduce filter, foreach und Co. Quiz Objektorientierte Programmierung Intro: Objektorientierte Programmierung Objekte in JavaScript Objekte und Eigenschaften this für Methoden und Funktionen this mit apply und call this für Konstruktorfunktionen class und extends Kurzschreibweise für Funktionen Veränderliche und unveränderliche Datentypen Die for-in- und die for-of-Schleife Array- und Object-Destructuring Quiz Asynchroner Code Intro: Asynchroner Code JavaScript ist Single-Threaded Callbacks und Lambda-Ausdrücke Synchrone und asynchrone Callbacks "Don't release Zalgo" Promises async und await Generatoren und yield Quiz Fehlerbehandlung Intro: Fehlerbehandlung Ausnahmen werfen und behandeln Fehlersituationen aufräumen Fehler in Callbacks behandeln Fehler in Promises und mit async und await behandeln Quiz Module verwenden Intro: Module verwenden Ein Modulsystem für JavaScript npm verwenden Das leftPad-Fiasko Bundling und Co. Quiz Über den Trainer:Golo Roden ist Gründer und CTO von the native web GmbH. Er berät Unternehmen zu Technologien und Architekturen im Web- und Cloud-Umfeld, unter anderem zu TypeScript, Node.js, React, CQRS, Event Sourcing und Domain-driven Design (DDD).So lernen Sie mit diesem Videokurs:In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Ihnen das Lernen erleichtern:Flexibler Videoplayer mit vielen SteuerungsmöglichkeitenWissensquizzes zur LernkontrolleLernhistorie und LernfortschrittLesezeichen und Notizen Volltextsuche in den VideosFrage-den-Experten-ModulÜbungsmaterial zum Mitmachen Responsive Web-App und Videostreaming für alle EndgeräteTechnische Voraussetzungen:Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.