Go in Practice
312 Seiten
German
PDF
4.5

Go in Practice

Go in Practice

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „Go in Practice“ (Autoren: Matt Butcher und Matt Farina, veröffentlicht 2016) nimmt einen besonderen Platz in der Literatur zur Programmiersprache Go ein. Im Gegensatz zu vielen Lehrbüchern, die mit Syntax und Theorie beginnen, taucht dieses Buch den Leser sofort in die Lösung realer Aufgaben ein. Es richtet sich an diejenigen, die bereits mit den Grundlagen von Go (oder einer anderen C-ähnlichen Sprache) vertraut sind und lernen möchten, die Sprache in der täglichen Entwicklung anzuwenden – von der Arbeit mit HTTP-Servern bis hin zu Tests und Deployment.

Worum geht es in dem Buch

„Go in Practice“ besteht aus 8 Teilen, die jeweils einem bestimmten Anwendungsbereich von Go gewidmet sind. Die Autoren verschwenden keine Zeit mit der Erklärung der grundlegenden Syntax – sie gehen sofort zu praktischen Techniken über. Das Buch behandelt:

  • Arbeit mit der Kommandozeile – Flags, Argumente, Konfigurationsdateien.
  • HTTP-Server und Clients – Routing, Middleware, Arbeit mit JSON, REST API.
  • Datenbanken – Verbindung zu SQL und NoSQL, Verbindungspools, Transaktionen.
  • Testen – Unit-Tests, tabellarische Tests, Mocks, Benchmarks.
  • Parallelität – Goroutinen, Channels, Concurrency-Muster, sync.WaitGroup.
  • Paketierung und Deployment – Build, Abhängigkeiten, Docker, CI/CD.
  • Sicherheit – Verschlüsselung, Authentifizierung, Schutz vor Injection.

Für wen ist dieses Buch geeignet

Das Buch richtet sich an praktizierende Entwickler, die bereits mindestens ein paar Programme in Go geschrieben haben und ihr Wissen vertiefen möchten. Es wird nützlich sein für:

  • Entwickler, die von anderen Sprachen (Python, Java, C#) zu Go wechseln.
  • Ingenieure, die idiomatisches Go und Best Practices erlernen möchten.
  • Teamleiter und Architekten, die nach bewährten Rezepten für den Aufbau zuverlässiger Dienste suchen.

Was der Leser lernen wird

Nach der Lektüre des Buches werden Sie in der Lage sein:

  • HTTP-Server mit korrekter Fehlerbehandlung zu entwerfen und zu implementieren.
  • Mit Datenbanken über das Standardpaket database/sql zu arbeiten.
  • Saubere und effiziente Tests mit dem integrierten testing-Paket zu schreiben.
  • Goroutinen und Channels zu verwenden, um nebenläufige Programme ohne Datenrennen zu erstellen.
  • Den Build und das Deployment von Go-Anwendungen in Containern zu konfigurieren.
  • Entwurfsmuster anzuwenden, die für Go charakteristisch sind (z. B. funktionale Optionen, Middleware).

Stärken

Der Hauptvorteil des Buches ist seine praktische Ausrichtung. Jedes Kapitel enthält Codebeispiele, die sofort in einem realen Projekt angewendet werden können. Die Autoren zeigen nicht nur, wie eine bestimmte Funktion funktioniert, sondern erklären, warum man sich für diesen Ansatz entscheiden sollte. Im Abschnitt über das Testen demonstrieren sie beispielsweise, wie man tabellarische Tests schreibt und httptest zur Überprüfung von HTTP-Handlern verwendet – das sind Fähigkeiten, die in der Produktion wirklich benötigt werden.

Ein weiterer Pluspunkt ist der Fokus auf Idiomatik. Das Buch lehrt, Code im Go-Stil zu schreiben und übermäßige Komplexität zu vermeiden. Die Autoren zeigen, wie man Schnittstellen verwendet, um flexible Abstraktionen zu erstellen, und warnen vor typischen Anfängerfehlern (z. B. falscher Verwendung von Goroutinen).

Besonders hervorzuheben ist der Abschnitt über das Deployment. Im Jahr 2016 gewann das Thema Containerisierung gerade erst an Fahrt, aber die Autoren hatten bereits Beispiele mit Docker und eine Diskussion über CI/CD aufgenommen. Dies macht das Buch auch Jahre später noch relevant.

Empfehlung

Ich empfehle „Go in Practice“ allen, die bereits die Grundlagen von Go beherrschen und zur Erstellung vollwertiger Anwendungen übergehen möchten. Das Buch wird besonders nützlich sein für diejenigen, die:

  • Mikrodienste oder Webdienste in Go schreiben.
  • Sich mit Automatisierung und Kommandozeilenwerkzeugen beschäftigen.
  • Lernen möchten, Go-Code richtig und effizient zu testen.

Wenn Sie gerade erst anfangen, Go von Grund auf zu lernen, lesen Sie besser zuerst „The Go Programming Language“.

Empfehlungen