Course Outline
Introduction
Understanding Unix Systems Programming
Understanding the Go Programming Language and the Go Architecture
Installing and Configuring the Go Development Environment
Learning the Basics of Go Syntax
Working with Go Packages
Algorithms, Data Structures
How Go Handles Garbage Collection
Dealing with Files and Directories in Go
Implementing File Input and Output Operations in Go
Implementing Error Handling
Identifying and Working with System Files in Go: Log Files, System Files Operations, and Passwords
Working with Unix Processes and Signals in Go
- Understanding Unix Processes and Signals
- Process Management
- Dealing with Unix Signals in Go
- Using the 'kill' Command
- Working with Unix Pipes and Sockets in Go
- Working with Remote Procedure Call (RPC) in Go
- Programming a Unix Shell in Go
Understanding and Working with Goroutines
- Learning About Goroutines
- Using the Sync Go Packages
- Dealing with Pipelines
- Using the Go Scheduler
- Using the 'select' Keyword
- Working with Signal Channels and Buffered Channels
- Handling Timeouts
- Working with Channels of Channels
- Working with Nil Channels
- Dealing with Shared Memory
- Working with the dWC.go Utility
Network Programming in Go
- Understanding Network Programming
- Working with the Net Go Standard Package
- Revisiting Unix Sockets
- Performing DNS Lookups
- Developing a Simple TCP Server and a Simple TCP Client
- Developing a Simple UDP Server and a Simple UDP Client
- Working with a Concurrent TCP Server
Troubleshooting
Summary and Conclusion
Requirements
- Basic programming experience in any language
- Familiarity with the Linux and Unix systems
Testimonials (4)
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