Concurrency in Go

89,00 €*

Lieferzeit Sofort lieferbar

Concurrency ist eines der elegantesten Features, um Go schneller und weniger fehleranfällig zu machen. Concurrency definiert Funktionen mit Hilfe von Routinen so, dass sie unabhängig voneinander ausgeführt werden können. Lernen Sie von unserem Experten Andreas Schröpfer, wie man Concurrency Pattern anwendet, Data Races behandelt und ein erstes eigenes Projekt implementiert.

Anzahl
Artikel-Beschreibung

Als alternative, kompilierbare Sprache zur Softwareentwicklung entwickelt, hat sich um Go seit etwa zehn Jahren weltweit eine große Community gebildet. Go orientiert sich an der Syntax von C, hat aber deutlich weniger Keywords als beispielsweise C++. Was Go so spannend macht, sind die Anwendungsgebiete skalierbare Netzwerkdienste, Cluster und Cloud Computing. Ein wichtiges Entwicklungsziel ist seitdem die Unterstützung von Nebenläufigkeit (Concurrency) mit nativen Sprachelementen.

Unser Experte Andreas Schröpfer, Consultant und Entwickler, widmet sich diesem Themenkomplex in einem kompakten und kurzweiligen Videokurs. Sie sind live dabei, wenn er anhand von Codebeispielen Probleme löst. Andreas Schröpfer lädt Sie ein, in einem kleinen abgeschlossenen Projekt ein Tool für die Kommandozeile zu entwickeln. Dabei zeigt er, wie die theoretischen Inhalte in die Praxis umgesetzt werden.

Alle Themen erklärt Andreas Schröpfer anhand von echtem Code - Sie können also gleichzeitig mitprogrammieren und die Funktionen z.B. von Goroutinen selbst ausprobieren. Alles, was Sie dazu benötigen, haben wir in einem Repository auf GitHub hinterlegt. Außerdem erwarten Sie spannende Quizfragen, in denen Sie Ihr neu erworbenes Wissen direkt unter Beweis stellen können.

Länge:  03:35 Stunden



Alle Video-Lektionen im Überblick:

  • Vorstellung und Einführung
    • Herzlich willkommen zu diesem Kurs
  • Goroutinen
    • Kapitelüberblick
    • Was ist Concurrency?
    • Starten von Goroutinen
    • Anonyme Funktionen als Goroutinen
    • Quiz: Goroutinen
  • Channels
    • Kapitelüberblick
    • Kommunikation zwischen Goroutinen
    • Synchronisation mit Channels
    • Channels als In- und Output
    • Buffered Channel
    • Gerichteter Channel
    • Einen Channel schließen
    • Einen Channel auf Daten prüfen
    • Range über einen Channel
    • Die Verwendung von select
    • Race Conditions und Data Races
    • Quiz: Channels
  • Patterns
    • Kapitelüberblick
    • Vorstellung der Checkliste
    • Synchronisation von Goroutinen
    • Beenden von Goroutinen
    • Steuerung der Goroutinen mit context
    • Erzeugen von Daten mit einem Generator
    • Pipelines mit Channels
    • Verteilung von Daten mit fanout
    • Zusammenführung von Daten mit fanin
    • Channel of Channels
    • Goroutine als Worker
    • Koordination mit Semaphore
    • Beispiel einer State Machine
    • Quiz: Patterns
  • Projekt gocong
    • Kapitelüberblick
    • Argumente parsen und Grundstruktur bauen
    • Aufruf der Befehle
    • Abbruch mit Context
    • Weitere kleine Verbesserungen
  • Praxisbeispiele
    • Kapitelüberblick
    • Der http-Server als Basis für unsere Beispiele
    • Unit Test für die Simulation der Data Races
    • Verwendung eines Workers
    • Quiz: Praxisbeispiele
  • Abschluss
    • Fazit und Kursabschluss


    Über den Trainer:

    Andreas Schröpfer ist seit über zehn Jahren in der IT-Beratung tätig und seit 2015 begeisterter Gopher. Er ist Mitwirkender an mehreren Open-Source-Projekten, darunter Go Buffalo. Er gibt Workshops zu Go, ist Mentor bei excercism.io, unterrichtet unter anderem an der heise Academy und ist Buchautor zu Go.

    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öglichkeiten
    • Wissensquizzes zur Lernkontrolle
    • Lernhistorie und Lernfortschritt
    • Lesezeichen und Notizen
    • Volltextsuche in den Videos
    • Frage-den-Experten-Modul
    • Übungsmaterial zum Mitmachen
    • Responsive Web-App und Videostreaming für alle Endgeräte

    Technische Voraussetzungen:
    Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.

    Artikel-Details
    Anbieter:
    Heise Medien GmbH & Co. KG
    Artikelnummer:
    concurrency-in-go-2064
    Veröffentlicht:
    27.09.22