Course Outline
Introduction
Exploring Unix Systems Programming
Overview of the Go Language and Its Architecture
Setting Up the Go Development Environment
Core Go Syntax and Fundamentals
Managing Go Packages
Algorithms and Data Structures in Go
Go’s Approach to Garbage Collection
Handling File and Directory Operations in Go
Implementing Input and Output Stream Management
Implementing Robust Error Handling Mechanisms
Interacting with System Files in Go: Managing Logs, System Operations, and Passwords
Managing Unix Processes and Signals in Go
- Concepts of Unix Processes and Signals
- Process Management Techniques
- Handling Unix Signals in Go Applications
- Utilizing the 'kill' Command
- Implementing Unix Pipes and Sockets in Go
- Working with Remote Procedure Call (RPC) in Go
- Building a Custom Unix Shell in Go
Mastering Goroutines
- Introduction to Goroutines
- Applying the Sync Package
- Implementing Pipelines
- Understanding the Go Scheduler
- Utilizing the 'select' Statement
- Managing Signal and Buffered Channels
- Implementing Timeout Mechanisms
- Working with Nested Channels
- Handling Nil Channels
- Managing Shared Memory
- Practical Application with the dWC.go Utility
Network Programming in Go
- Foundations of Network Programming
- Using the Standard Net Package
- Advanced Unix Socket Implementation
- Performing Domain Name System (DNS) Resolutions
- Creating Basic TCP Server and Client Applications
- Creating Basic UDP Server and Client Applications
- Building a Concurrent TCP Server
Debugging and Troubleshooting
Course Recap and Final Summary
Requirements
- Fundamental programming experience in any general-purpose language
- A 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