Get in Touch
 Duration 35 hours

Course Outline

Introduction

The Landscape of Unix Systems Programming

Overview of 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 in Go

Go’s Approach to Garbage Collection

Handling Files and Directories with Go

Implementing Input and Output Operations

Strategies for Error Handling

Interacting with System Files in Go: Log Files, System Operations, and Password Management

Unix Processes and Signals in Go

  • Anatomy of Unix Processes and Signals
  • Process Management Techniques
  • Managing Unix Signals in 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

  • The Concept of Goroutines
  • Utilizing the Sync Package
  • Implementing Pipelines
  • The Role of the Go Scheduler
  • Using the 'select' Keyword
  • Signal Channels and Buffered Channels
  • Managing Timeouts
  • Channels of Channels
  • Handling Nil Channels
  • Shared Memory Considerations
  • Practical Application: The dWC.go Utility

Network Programming in Go

  • Principles of Network Programming
  • The Net Standard Package in Go
  • Advanced Unix Socket Management
  • Executing DNS Lookups
  • Building Simple TCP Servers and Clients
  • Building Simple UDP Servers and Clients
  • Developing Concurrent TCP Servers

Troubleshooting Strategies

Key Takeaways and Conclusion

Requirements

  • Fundamental programming proficiency in any language
  • Working knowledge of Linux and Unix operating systems

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories