Leistungsstarke Konsolenanwendungen mit Go
408 Seiten
German
PDF
4.5

Leistungsstarke Konsolenanwendungen mit Go

Leistungsstarke Konsolenanwendungen mit Go

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „Powerful Command-Line Applications in Go“ (in deutscher Übersetzung: „Leistungsstarke Konsolenanwendungen mit Go“) von Ricardo Gerardi erschien 2021 und erregte sofort die Aufmerksamkeit von Entwicklern, die mit der Sprache Go arbeiten. Es ist keine weitere Einführung in die Syntax, sondern ein praktischer Leitfaden zur Erstellung professioneller, zuverlässiger und wartbarer Kommandozeilenwerkzeuge. In einer Welt, in der CLI-Dienstprogramme nach wie vor die Grundlage von DevOps, Administration und Automatisierung bilden, schließt das Buch eine wichtige Nische: Wie man nicht nur funktionierende, sondern industrielle Konsolenanwendungen schreibt.

Worum es in dem Buch geht

Das Buch ist um die Entwicklung eines realen Projekts herum aufgebaut – ein Dienstprogramm zur Aufgabenverwaltung (Todo-Manager), das von Kapitel zu Kapitel schrittweise komplexer wird. Der Autor führt den Leser konsequent durch alle Phasen: von der Einrichtung der Umgebung und grundlegender Ein-/Ausgabe bis hin zu fortgeschrittenen Themen wie der Verarbeitung von Betriebssystem-Signalen, der Arbeit mit dem Dateisystem, Konfigurationsdateien, Tests und Build-Automatisierung.

Besonderes Augenmerk wird gelegt auf:

  • Strukturierung des Codes und Organisation von Paketen;
  • Fehlerbehandlung und Graceful Shutdown;
  • Integration mit externen APIs und Datenbanken;
  • Schreiben von Tests (Unit, Integration, End-to-End);
  • Build und Verteilung von Binärdateien über CI/CD.

Für wen ist dieses Buch geeignet

Das Buch richtet sich an Entwickler, die bereits mit den Grundlagen von Go vertraut sind. Wenn Sie einfache Programme in Go schreiben können, aber auf die nächste Stufe gelangen möchten – Werkzeuge zu erstellen, die von anderen Menschen genutzt werden – dann ist dieses Buch für Sie. Es wird auch für DevOps-Ingenieure, Systemadministratoren und alle nützlich sein, die Routineaufgaben mit Go automatisieren möchten.

Was der Leser lernen wird

  • Entwurf von CLI-Anwendungen: Wie man Code richtig organisiert, damit er leicht erweiterbar und wartbar ist.
  • Arbeit mit Argumenten und Flags: Verwendung des Standardpakets flag und Alternativen (z. B. cobra).
  • Ein-/Ausgabe: Lesen von stdin, Schreiben in stdout/stderr, Arbeiten mit Dateien und Pipes.
  • Konfiguration: Laden von Einstellungen aus Umgebungsvariablen, Dateien (JSON, YAML, TOML) und deren Priorisierung.
  • Signalverarbeitung: Korrektes Beenden bei Empfang von SIGINT/SIGTERM.
  • Testen: Schreiben von Tests für CLI-Anwendungen, Mocking des Dateisystems und externer Dienste.
  • CI/CD: Automatischer Build, Test und Veröffentlichung von Binärdateien für verschiedene Plattformen.
  • Leistung: Profiling, Benchmarks und Optimierung.

Stärken

Der Hauptvorteil des Buches ist seine praktische Ausrichtung. Jedes Kapitel enthält fertigen Code, der sofort ausgeführt und modifiziert werden kann. Der Autor erklärt nicht nur die Theorie, sondern zeigt, wie man sie in einem realen Projekt anwendet.

Der zweite Pluspunkt ist die Aktualität. Das Buch verwendet moderne Versionen von Go (1.16+) und behandelt Tools, die in der Industrie aktiv eingesetzt werden: Cobra, Viper, Testify, GitHub Actions.

Der dritte Punkt ist die Struktur. Der Stoff wird nach dem Prinzip „vom Einfachen zum Komplexen“ vermittelt, jedoch ohne überflüssige Informationen. Jedes Kapitel endet mit Übungen zur Festigung des Gelernten.

Schließlich lehrt das Buch gute Praktiken: Schreiben von Tests, Fehlerbehandlung, Dokumentation des Codes. Dies macht es nicht nur für das Erlernen von CLI nützlich, sondern auch für die allgemeine Verbesserung der Qualifikation eines Go-Entwicklers.

Empfehlung

Ich empfehle dieses Buch allen, die lernen möchten, professionelle Konsolendienstprogramme in Go zu erstellen. Es wird sowohl für Anfänger, die bereits die Grundlagen der Sprache beherrschen, als auch für erfahrene Entwickler nützlich sein, die ihr Wissen über die CLI-Entwicklung systematisieren möchten. Besonders nützlich ist das Buch für diejenigen, die in DevOps, SRE arbeiten oder sich mit der Automatisierung von Infrastruktur befassen.

Wenn Sie Skripte in Bash oder Python schreiben und auf eine leistungsfähigere Sprache umsteigen möchten, ist dieses Buch ein hervorragender Ausgangspunkt.

Empfehlungen