Get in Touch

Course Outline

Introduction

Exploring Unix Systems Programming

Overview of the Go Language and Its Architecture

Setting Up the Go Development Environment

Core Go Syntax and Fundamentals

Managing Go Packages

Algorithms and Data Structures in Go

Go’s Approach to Garbage Collection

Handling File and Directory Operations in Go

Implementing Input and Output Stream Management

Implementing Robust Error Handling Mechanisms

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

Managing Unix Processes and Signals in Go

  • Concepts of Unix Processes and Signals
  • Process Management Techniques
  • Handling Unix Signals in Go Applications
  • Utilizing the 'kill' Command
  • Implementing Unix Pipes and Sockets in Go
  • Working with Remote Procedure Call (RPC) in Go
  • Building a Custom Unix Shell in Go

Mastering Goroutines

  • Introduction to Goroutines
  • Applying the Sync Package
  • Implementing Pipelines
  • Understanding the Go Scheduler
  • Utilizing the 'select' Statement
  • Managing Signal and Buffered Channels
  • Implementing Timeout Mechanisms
  • Working with Nested Channels
  • Handling Nil Channels
  • Managing Shared Memory
  • Practical Application with the dWC.go Utility

Network Programming in Go

  • Foundations of Network Programming
  • Using the Standard Net Package
  • Advanced Unix Socket Implementation
  • Performing Domain Name System (DNS) Resolutions
  • Creating Basic TCP Server and Client Applications
  • Creating Basic UDP Server and Client Applications
  • Building a Concurrent TCP Server

Debugging and Troubleshooting

Course Recap and Final Summary

Requirements

  • Fundamental programming experience in any general-purpose language
  • A working knowledge of Linux and Unix operating systems
 35 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories