Course Outline
Introduction
Foundations of Unix Systems Programming
An Overview of the Go Programming Language and Its Architecture
Setting Up and Configuring the Go Development Environment
Essentials of Go Syntax
Managing Go Packages
Algorithms and Data Structures in Go
How Go Manages Garbage Collection
Handling Files and Directories in Go
Implementing File Input and Output Operations
Implementing Robust Error Handling
Managing System Files in Go: Log Files, System Operations, and Passwords
Interacting with Unix Processes and Signals in Go
- Understanding Unix Process and Signal Mechanics
- Process Management Techniques
- Handling Unix Signals within Go Applications
- Utilizing the 'kill' Command
- Working with Unix Pipes and Sockets
- Implementing Remote Procedure Call (RPC) in Go
- Building a Unix Shell Interface in Go
Mastering Goroutines in Go
- Core Concepts of Goroutines
- Leveraging Sync Go Packages
- Designing and Managing Pipelines
- Understanding the Go Scheduler
- Utilizing the 'select' Keyword
- Working with Signal and Buffered Channels
- Managing Timeouts
- Handling Channels of Channels
- Working with Nil Channels
- Managing Shared Memory
- Using the dWC.go Utility
Network Programming with Go
- Principles of Network Programming
- Using the Net Standard Library in Go
- Advanced Concepts in Unix Sockets
- Executing DNS Lookups
- Building Simple TCP Servers and Clients
- Building Simple UDP Servers and Clients
- Implementing Concurrent TCP Servers
Debugging and Troubleshooting Strategies
Summary and Concluding Remarks
Requirements
- Fundamental programming experience in any general-purpose language
- Working knowledge of 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