Course Outline
Introduction
Insights into Unix Systems Programming
Overview of the Go Programming Language and Go Architecture
Setup and Configuration of the Go Development Environment
Mastering Go Syntax Basics
Managing Go Packages
Algorithms and Data Structures
Mechanisms of Garbage Collection in Go
Managing Files and Directories in Go
Executing File Input and Output Operations in Go
Implementing Robust Error Handling
Handling System Files in Go: Log Files, System File Operations, and Password Management
Managing Unix Processes and Signals in Go
- Concepts of Unix Processes and Signals
- Process Control and Management
- Handling Unix Signals via Go
- Utilizing the 'kill' Command
- Implementing Unix Pipes and Sockets in Go
- Integrating Remote Procedure Call (RPC) in Go
- Building a Unix Shell Interface in Go
Mastery of Goroutines
- Fundamentals of Goroutines
- Utilizing Go Sync Packages
- Designing Pipelines
- Understanding the Go Scheduler
- Application of the 'select' Keyword
- Managing Signal and Buffered Channels
- Implementing Timeout Mechanisms
- Working with Channels of Channels
- Handling Nil Channels
- Managing Shared Memory
- Utilizing the dWC.go Utility
Network Programming in Go
- Principles of Network Programming
- Working with the Net Standard Package in Go
- Advanced Unix Socket Implementation
- Executing DNS Lookups
- Building Basic TCP Servers and Clients
- Creating Simple UDP Servers and Clients
- Developing Concurrent TCP Servers
Troubleshooting Strategies
Summary and Final Remarks
Requirements
- Foundational programming proficiency in any 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