Get in Touch

Course Outline

Introduction

Insights into Unix Systems Programming

Exploring the Go Programming Language and its Architecture

Setting Up and Configuring the Go Development Environment

Mastering the Basics of Go Syntax

Managing Go Packages

Algorithms and Data Structures in Go

Understanding Garbage Collection in Go

Handling Files and Directories in Go

Implementing File Input and Output Operations

Establishing Effective Error Handling Mechanisms

Interacting with System Files in Go: Log Files, Operations, and Passwords

Managing Unix Processes and Signals in Go

  • Concepts of Unix Processes and Signals
  • Process Management Strategies
  • Handling Unix Signals within Go
  • Utilizing the 'kill' Command
  • Implementing Unix Pipes and Sockets in Go
  • Using Remote Procedure Call (RPC) in Go
  • Building a Unix Shell using Go

Mastering Goroutines

  • Fundamentals of Goroutines
  • Leveraging Sync Go Packages
  • Implementing Pipelines
  • Using the Go Scheduler
  • Applying the 'select' Keyword
  • Working with Signal and Buffered Channels
  • Managing Timeouts
  • Handling Channels of Channels
  • Dealing with Nil Channels
  • Managing Shared Memory
  • Utilizing the dWC.go Utility

Network Programming with Go

  • Principles of Network Programming
  • Working with the Net Go Standard Package
  • Advanced Unix Sockets
  • Executing DNS Lookups
  • Creating Simple TCP Servers and Clients
  • Creating Simple UDP Servers and Clients
  • Building Concurrent TCP Servers

Troubleshooting Techniques

Summary and Conclusion

Requirements

  • Foundational programming experience in any language
  • A solid understanding of Linux and Unix operating systems
 35 Hours

Testimonials (5)

Related Categories