Course Outline
Introduction
Foundations of Unix Systems Programming
Overview of the Go Language and Architecture
Setting Up and Configuring the Go Development Environment
Core Go Syntax
Managing Go Packages
Algorithms and Data Structures
Go's Garbage Collection Mechanisms
File and Directory Management in Go
Implementing Input and Output Operations
Error Handling Strategies
System File Interactions: Logs, Operations, and Passwords
Unix Processes and Signals in Go
- Concepts of Unix Processes and Signals
- Process Management
- Handling Unix Signals
- Utilizing the 'kill' Command
- Unix Pipes and Sockets
- Remote Procedure Call (RPC) Implementation
- Building a Unix Shell
Goroutines: Theory and Application
- Introduction to Goroutines
- Sync Packages in Go
- Pipeline Management
- The Go Scheduler
- The 'select' Keyword
- Signal and Buffered Channels
- Timeout Management
- Channels of Channels
- Nil Channels
- Shared Memory Considerations
- The dWC.go Utility
Networking with Go
- Networking Fundamentals
- The Net Standard Package
- Advanced Unix Sockets
- DNS Resolution
- Basic TCP Server and Client Development
- Basic UDP Server and Client Development
- Concurrent TCP Servers
Troubleshooting
Summary and Wrap-Up
Requirements
- Foundational programming proficiency in any language
- 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