Get in Touch
 Duration 35 hours

Course Outline

Introduction

Foundations of Unix Systems Programming

An Overview of the Go Programming Language and Its Architecture

Setting Up and Configuring the Go Development Environment

Essentials of Go Syntax

Managing Go Packages

Algorithms and Data Structures in Go

How Go Manages Garbage Collection

Handling Files and Directories in Go

Implementing File Input and Output Operations

Implementing Robust Error Handling

Managing System Files in Go: Log Files, System Operations, and Passwords

Interacting with Unix Processes and Signals in Go

  • Understanding Unix Process and Signal Mechanics
  • Process Management Techniques
  • Handling Unix Signals within Go Applications
  • Utilizing the 'kill' Command
  • Working with Unix Pipes and Sockets
  • Implementing Remote Procedure Call (RPC) in Go
  • Building a Unix Shell Interface in Go

Mastering Goroutines in Go

  • Core Concepts of Goroutines
  • Leveraging Sync Go Packages
  • Designing and Managing Pipelines
  • Understanding the Go Scheduler
  • Utilizing the 'select' Keyword
  • Working with Signal and Buffered Channels
  • Managing Timeouts
  • Handling Channels of Channels
  • Working with Nil Channels
  • Managing Shared Memory
  • Using the dWC.go Utility

Network Programming with Go

  • Principles of Network Programming
  • Using the Net Standard Library in Go
  • Advanced Concepts in Unix Sockets
  • Executing DNS Lookups
  • Building Simple TCP Servers and Clients
  • Building Simple UDP Servers and Clients
  • Implementing Concurrent TCP Servers

Debugging and Troubleshooting Strategies

Summary and Concluding Remarks

Requirements

  • Fundamental programming experience in any general-purpose language
  • Working knowledge of Linux and Unix operating systems

Testimonials (5)

Upcoming Courses

Related Categories