Course Outline
Introduction
Comprehending Unix Systems Programming
Exploring the Go Programming Language and Architecture
Installation and Configuration of the Go Development Environment
Mastering Basic Go Syntax
Managing Go Packages
Algorithms and Data Structures
Go’s Approach to Garbage Collection
Handling Files and Directories in Go
Implementing File I/O Operations in Go
Error Handling Implementation
Identification and Management of System Files in Go: Log Files, System File Operations, and Passwords
Handling Unix Processes and Signals in Go
- Overview of Unix Processes and Signals
- Process Management
- Handling Unix Signals in Go
- Utilizing the 'kill' Command
- Managing Unix Pipes and Sockets in Go
- Implementing Remote Procedure Call (RPC) in Go
- Building a Unix Shell with Go
Comprehension and Application of Goroutines
- Introduction to Goroutines
- Application of Sync Go Packages
- Managing Pipelines
- Utilization of the Go Scheduler
- Application of the 'select' Keyword
- Management of Signal Channels and Buffered Channels
- Timeout Handling
- Working with Channels of Channels
- Handling Nil Channels
- Management of Shared Memory
- Operation with the dWC.go Utility
Network Programming with Go
- Fundamentals of Network Programming
- Utilizing the Net Go Standard Package
- Review of Unix Sockets
- Execution of DNS Lookups
- Development of Basic TCP Server and Client Applications
- Development of Basic UDP Server and Client Applications
- Implementation of a Concurrent TCP Server
Troubleshooting
Summary and Conclusion
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