Get in Touch
 Duration 35 hours

Course Outline

Introduction

Navigating Unix Systems Programming

Exploring 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

Go's Approach to Garbage Collection

Handling Files and Directories in Go

Executing File Input and Output Operations in Go

Implementing Robust Error Handling

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

Managing Unix Processes and Signals in Go

  • Comprehending Unix Processes and Signals
  • Process Management Strategies
  • Handling Unix Signals within 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

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

Network Programming with Go

  • Core Concepts of Network Programming
  • Utilizing the Net Standard Package
  • Re-examining Unix Sockets
  • Executing DNS Lookups
  • Developing Basic TCP Servers and Clients
  • Creating Basic UDP Servers and Clients
  • Implementing Concurrent TCP Servers

Troubleshooting Strategies

Summary and Wrap-up

Requirements

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

Testimonials (5)

Upcoming Courses

Related Categories