Get in Touch
 Duration 35 hours

Course Outline

Introduction

Exploring Unix Systems Programming Concepts

Overview of the Go Programming Language and Architecture

Setup and Configuration of the Go Development Environment

Foundations of Go Syntax

Managing Go Packages

Algorithms and Data Structures

Understanding Go’s Garbage Collection Mechanisms

File and Directory Management in Go

Executing File Input and Output Operations

Implementing Robust Error Handling Strategies

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

Managing Unix Processes and Signals in Go

  • Concepts of Unix Processes and Signals
  • Process Management Techniques
  • Handling Unix Signals within Go Applications
  • Utilization of the 'kill' Command
  • Implementing Unix Pipes and Sockets in Go
  • Integration of Remote Procedure Call (RPC) in Go
  • Development of a Unix Shell using Go

Mastery of Goroutines

  • Introduction to Goroutines
  • Application of Sync Go Packages
  • Implementation of Pipelines
  • Functionality of the Go Scheduler
  • Usage of the 'select' Keyword
  • Management of Signal and Buffered Channels
  • Strategy for Handling Timeouts
  • Advanced Patterns with Channels of Channels
  • Treatment of Nil Channels
  • Management of Shared Memory
  • Practical Use of the dWC.go Utility

Network Programming with Go

  • Principles of Network Programming
  • Utilization of the Net Go Standard Package
  • Advanced Unix Socket Interactions
  • Execution of DNS Lookups
  • Creation of Basic TCP Servers and Clients
  • Construction of Simple UDP Servers and Clients
  • Development of Concurrent TCP Servers

Troubleshooting Strategies

Summary and Concluding Remarks

Requirements

  • Foundational programming experience in any language
  • Working familiarity with Linux and Unix operating systems

Testimonials (5)

Related Categories