Sprich mit einem Trainer:
Jonas Felix
Go ist die Programmiersprache der Cloud-Ära: Einfach, schnell und zuverlässig. In diesem intensiven Kurs erlernen Sie die Entwicklung hochperformanter Microservices, REST-APIs und CLI-Tools. Von den Grundlagen über fortgeschrittene Konzepte wie Concurrency bis hin zu produktionsreifen Deployments - Sie bauen durchgehend praktische Anwendungen und lernen Go so, wie es in der Industrie eingesetzt wird. Egal ob Sie neu in Go sind oder Ihre Kenntnisse vertiefen möchten, dieser Kurs bereitet Sie optimal auf die Entwicklung moderner, skalierbarer Softwarelösungen vor.
Gerne führen wir zugeschnittene Kurse für euer Team durch - vor Ort, remote oder in unseren Kursräumen.
– Einführung in Go
... - Warum Go? Performance, Einfachheit und Cloud-Native Entwicklung
... - Go vs. andere Sprachen: C++, Java, Python, Rust
... - Anwendungsfälle: Microservices, CLI-Tools, Systemprogrammierung
... - Go-Philosophie: Weniger ist mehr, explizit über implizit
– Sprachgrundlagen und Syntax
... - Variablen, Konstanten und Typisierung
... - Grundlegende Datentypen und Type Inference
... - Pointer und Memory Management
... - Kontrollstrukturen: if, for, switch
... - Funktionen: Definition, Parameter, Rückgabewerte, Multiple Return Values
– Datenstrukturen und Algorithmen
... - Arrays und Slices: Erstellung, Manipulation, Slicing
... - Maps: Key-Value Stores und effiziente Lookups
... - Structs: Benutzerdefinierte Datentypen
... - Interfaces: Duck Typing und Polymorphismus
... - Generics: Type-safe generische Programmierung
– Objektorientierte Programmierung in Go
... - Embedding statt Vererbung
... - Methoden und Receiver
... - Interface Composition
... - Type Assertions und Type Switches
– Nebenläufigkeit und Parallelität
... - Go-Routinen: Leichte Threads und Goroutine Scheduling
... - Channels: Sichere Kommunikation zwischen Goroutinen
... - Select Statements: Nicht-blockierende Operationen
... - Context Package: Request Cancellation und Timeouts
... - Sync Package: Mutexes, WaitGroups, Atomic Operations
– Error Handling und Robustheit
... - Das Error Interface und Fehlerbehandlung
... - Custom Error Types und Error Wrapping
... - Panic und Recover: Exception-ähnliche Mechanismen
... - Defer Statements: Resource Cleanup
... - Best Practices für robuste Fehlerbehandlung
– Testing und Qualitätssicherung
... - Unit Tests: table-driven tests, subtests
... - Benchmarking: Performance-Messungen
... - Integration Tests und Test Coverage
... - Mocking und Test Doubles
... - Fuzzing und Property-based Testing
– REST API Entwicklung
... - HTTP Server mit net/http
... - Routing: gorilla/mux, chi, gin
... - JSON Handling: encoding/json, Serialisierung
... - Middleware: Logging, CORS, Authentication
... - RESTful Design Prinzipien
– Datenbanken und Persistenz
... - SQL Datenbanken: database/sql, Prepared Statements
... - ORM Libraries: GORM, sqlx
... - NoSQL: MongoDB Driver, Redis Client
... - Connection Pooling und Transactions
... - Migrations und Schema Management
– Sicherheit und Best Practices
... - Input Validation und Sanitization
... - SQL Injection Prevention
... - Cross-Site Scripting (XSS) Protection
... - Authentication und Authorization
... - Secure Coding Guidelines für Go
– Build-System und Tooling
... - Go Modules: Dependency Management
... - Build Constraints und Cross-Compilation
... - Go Tools: fmt, vet, lint, mod
... - Profiling und Performance Analysis
... - Debugging mit Delve
– Containerization und Deployment
... - Docker Images für Go Applications
... - Multi-stage Builds und Image Optimization
... - Kubernetes Deployments
... - Configuration Management: Environment Variables, Config Files
... - Health Checks und Graceful Shutdown
– Fortgeschrittene Themen
... - Reflection und Code Generation
... - CGO: Integration mit C Libraries
... - WebAssembly und Web-Entwicklung
... - Plugin System und dynamisches Laden
... - Performance Optimization und Memory Profiling
– CLI-Anwendungen und Tools
... - cobra: Framework für CLI Applications
... - flag Package: Kommandozeilen-Argumente
... - viper: Configuration Management
... - Logging: log, zap, logrus
... - Distribution und Packaging
Du lernst diese Konzepte nicht nur kennen, sondern setzt sie auch praktisch um. Vom ersten "Hello World" bis zur produktionsreifen Anwendung bauen wir durchgehend lauffähige Programme und lernen Go so, wie es in der Praxis eingesetzt wird.
Disclaimer: Der effektive Kursinhalt kann, abhängig vom Trainer, Durchführung, Dauer und Konstellation der Teilnehmer:innen von obigen Angaben abweichen.
Ob wir es Schulung, Kurs, Workshop, Seminar oder Training nennen, wir möchten Teilnehmer/innen an ihrem Punkt abholen und mit dem nötigen praktischen Wissen ausstatten, damit sie die Technologie nach der Schulung direkt anwenden und eigenständig vertiefen können.
Ziel des Kurses ist es, den Teilnehmenden ein umfassendes Verständnis für die Go-Programmiersprache zu vermitteln und sie zu befähigen, eigenständig moderne, skalierbare und performante Anwendungen zu entwickeln. Die Teilnehmer lernen, Go effektiv in der Praxis einzusetzen - von der Entwicklung von Microservices und REST-APIs über die Implementierung von Concurrency-Patterns bis hin zu produktionsreifen Deployments. Nach dem Kurs können sie Go-Anwendungen entwickeln, die den Anforderungen moderner Cloud-native Systeme gerecht werden, und haben ein solides Fundament für die kontinuierliche Weiterentwicklung ihrer Go-Kenntnisse.
2 oder 3 Tage
(Wird bei In-House Kursen individuell angepasst.)
Der Kurs ist praxisorientiert und kombiniert theoretische Grundlagen mit gezielten Übungen, die die erlernten Konzepte vertiefen.
Der Kurs richtet sich an Entwickler, die ihre Fähigkeiten in der Softwareentwicklung erweitern und die Programmiersprache Go erlernen möchten. Er eignet sich sowohl für Anfänger mit grundlegenden Programmierkenntnissen als auch für erfahrene Entwickler, die leistungsstarke, skalierbare und moderne Anwendungen erstellen wollen.
Die Teilnehmer sollten grundlegende Programmierkenntnisse in einer C-verwandten Programmiersprache mitbringen. Ein grundlegendes Verständnis von Webservices (z.B. REST) wird vorausgesetzt.
Jeder Teilnehmer erhält nach der Anmeldung einen Fragebogen zugestellt. Passend zu den Antworten senden wir ein individuelles Feedback. Nach Bedarf kann vor dem Training eine Mini-Setup Session via Remote Session durchgeführt werden (im Training inbegriffen).
Danke für deine Anfrage, wir melden uns so rasch wie möglich.
Unerwarteter Fehler - bitte versuche es erneut.
Trage dich in die Warteliste ein für weitere öffentliche Kurs-Termine. Sobald wir genügend Personen auf der Warteliste haben, klären wir einen möglichst für alle passenden Termin ab und schalten einen neuen Termin auf. Falls du direkt mit zwei Kollegen oder Kolleginnen teilnehmen möchtest, können wir sogar direkt einen öffentlichen Kurs für euch planen.
Danke für deine Anfrage, wir melden uns so rasch wie möglich.
Unerwarteter Fehler - bitte versuche es erneut.
Go wurde 2007 bei Google von Robert Griesemer , Rob Pike und Ken Thompson entwickelt. Die Sprache entstand aus der Frustration über die Komplexität der Softwareentwicklung bei Google, insbesondere mit C++ und Java. Das Ziel war eine Sprache zu schaffen, die die Produktivität von dynamischen Sprachen mit der Sicherheit und Performance von statisch typisierten Sprachen verbindet.
Die erste öffentliche Ankündigung erfolgte 2009, und die Sprache wurde schnell von der Community angenommen. Die Entwicklung wurde maßgeblich von Russ Cox und Ian Lance Taylor vorangetrieben, die wichtige Beiträge wie das Go Module System (eingeführt in Go 1.11) und Verbesserungen am Compiler leisteten. Go 1.0 wurde 2012 mit dem Versprechen der Abwärtskompatibilität veröffentlicht, was die breite Akzeptanz in der Industrie förderte.
Go hat die Cloud-native Bewegung maßgeblich beeinflusst und ermöglichte die Entwicklung von Technologien wie Docker und Kubernetes. Wichtige Meilensteine waren die Einführung von Generics in Go 1.18 (2022), die die Sprache deutlich vielseitiger machten, und die kontinuierliche Verbesserung der Performance und Tool-Unterstützung. Heute ist Go eine der am schnellsten wachsenden Programmiersprachen und wird von Unternehmen wie Google, Netflix, Uber, Dropbox und vielen anderen für kritische Infrastruktur eingesetzt.
Sprich mit einem Trainer:
Jonas Felix
Trainings-Center:
Basel:
- Aeschenplatz 6, 4052 Basel
Zürich:
- HWZ, Lagerstrasse 5, 8004 Zürich
Firmenadresse:
felixideas GmbH
Baslerstrasse 5a
4102 Binningen