Course Outline
Introduction
Navigating Unix Systems Programming
Exploring the Go Programming Language and its Architecture
Setting up and Configuring the Go Development Environment
Mastering Go Syntax Fundamentals
Managing Go Packages
Algorithms and Data Structures
Go's Approach to Garbage Collection
Handling Files and Directories in Go
Executing File Input and Output Operations in Go
Implementing Robust Error Handling
Interacting with System Files in Go: Managing Log Files, System Operations, and Passwords
Managing Unix Processes and Signals in Go
- Comprehending Unix Processes and Signals
- Process Management Strategies
- Handling Unix Signals within Go
- Utilizing the 'kill' Command
- Implementing Unix Pipes and Sockets in Go
- Working with Remote Procedure Call (RPC) in Go
- Building a Unix Shell in Go
Mastering Goroutines
- Concepts of Goroutines
- Utilizing Sync Packages in Go
- Implementing Pipelines
- Leveraging the Go Scheduler
- Using the 'select' Keyword
- Managing Signal Channels and Buffered Channels
- Handling Timeouts Effectively
- Working with Channels of Channels
- Dealing with Nil Channels
- Shared Memory Management
- Using the dWC.go Utility
Network Programming with Go
- Core Concepts of Network Programming
- Utilizing the Net Standard Package
- Re-examining Unix Sockets
- Executing DNS Lookups
- Developing Basic TCP Servers and Clients
- Creating Basic UDP Servers and Clients
- Implementing Concurrent TCP Servers
Troubleshooting Strategies
Summary and Wrap-up
Requirements
- Fundamental programming experience in any programming 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