Course Outline
Introduction
Exploring Unix Systems Programming Concepts
Overview of the Go Programming Language and Architecture
Setup and Configuration of the Go Development Environment
Foundations of Go Syntax
Managing Go Packages
Algorithms and Data Structures
Understanding Go’s Garbage Collection Mechanisms
File and Directory Management in Go
Executing File Input and Output Operations
Implementing Robust Error Handling Strategies
Interacting with System Files in Go: Log Files, System Operations, and Passwords
Managing Unix Processes and Signals in Go
- Concepts of Unix Processes and Signals
- Process Management Techniques
- Handling Unix Signals within Go Applications
- Utilization of the 'kill' Command
- Implementing Unix Pipes and Sockets in Go
- Integration of Remote Procedure Call (RPC) in Go
- Development of a Unix Shell using Go
Mastery of Goroutines
- Introduction to Goroutines
- Application of Sync Go Packages
- Implementation of Pipelines
- Functionality of the Go Scheduler
- Usage of the 'select' Keyword
- Management of Signal and Buffered Channels
- Strategy for Handling Timeouts
- Advanced Patterns with Channels of Channels
- Treatment of Nil Channels
- Management of Shared Memory
- Practical Use of the dWC.go Utility
Network Programming with Go
- Principles of Network Programming
- Utilization of the Net Go Standard Package
- Advanced Unix Socket Interactions
- Execution of DNS Lookups
- Creation of Basic TCP Servers and Clients
- Construction of Simple UDP Servers and Clients
- Development of Concurrent TCP Servers
Troubleshooting Strategies
Summary and Concluding Remarks
Requirements
- Foundational programming experience in any language
- Working familiarity with Linux and Unix operating systems
Testimonials (5)
Trainer's expertise and teaching talent
Liviu - Orange Services
Course - Go for Systems Programming
Time efficient Smooth and linked transitions from one topic to another Examples ranging from simple to challenging So much patience for answering every questions with examples Knowledge way beyond expectations So many things to appreciate!
Laura - Orange Services
Course - Go for Systems Programming
The trainer's attitude and the fact that he stopped at each problem/issue to help the ones in need He was also pretty laid back, making the training actually kind of fun and relaxing
Rares - Orange Services
Course - Go for Systems Programming
Patrick was very helpful and provided real world examples and practices when working with Go. This was not a purely theoretical course on how to use Go, but how to actually develop with Go in the real world. He provided comparison with other languages in order to better explain certain concepts, which was very useful.
Cristian - Orange Services
Course - Go for Systems Programming
The extra informations not in the official docs