Course Outline
Introduction
Insight into Unix Systems Programming
Overview of the Go Language and its Architecture
Installation and Setup of the Go Development Environment
Exploring Fundamental Go Syntax
Managing Go Packages
Algorithms and Data Structures
Mechanisms of Garbage Collection in Go
Handling Files and Directories in Go
Executing File Input and Output Operations in Go
Strategies for Error Handling
Managing System Files in Go: Logging, System Operations, and Passwords
Interaction with Unix Processes and Signals in Go
- Concepts of Unix Processes and Signals
- Process Management Techniques
- Handling Unix Signals within Go
- Utilizing the 'kill' Command
- Implementation of Unix Pipes and Sockets in Go
- Integration of Remote Procedure Call (RPC) in Go
- Building a Unix Shell using Go
Exploring and Implementing Goroutines
- Fundamentals of Goroutines
- Application of Go Sync Packages
- Pipeline Implementation
- Usage of the Go Scheduler
- Applying the 'select' Keyword
- Management of Signal and Buffered Channels
- Managing Timeouts
- Operations with Channels of Channels
- Handling Nil Channels
- Shared Memory Management
- Utilization of the dWC.go Utility
Network Programming with Go
- Core Concepts of Network Programming
- Integration of the Go Net Standard Package
- Advanced Unix Socket Implementation
- Execution of DNS Lookups
- Construction of Basic TCP Server and Client Applications
- Development of Simple UDP Server and Client Applications
- Building a Concurrent TCP Server
Debugging and Troubleshooting
Wrap-up and Final Remarks
Requirements
- Foundational programming experience 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