Get in Touch
 Duration 35 hours

Course Outline

Course Introduction

Insights into Unix Systems Programming

Overview of the Go Programming Language and its Architecture

Setup and Configuration of the Go Development Environment

Mastering the Fundamentals of Go Syntax

Managing Go Packages

Core Algorithms and Data Structures

Go's Approach to Garbage Collection

Managing Files and Directories in Go

Executing File Input and Output Operations in Go

Strategies for Implementing Robust Error Handling

Navigating System Files in Go: Log Management, System Operations, and Password Security

Managing Unix Processes and Signals in Go

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

Deep Dive into Goroutines

  • Exploring the Mechanics of Goroutines
  • Leveraging the Sync Package in Go
  • Managing Pipelines Effectively
  • Understanding the Role of the Go Scheduler
  • Application of the 'select' Keyword
  • Utilizing Signal Channels and Buffered Channels
  • Managing Timeout Scenarios
  • Handling Channels of Channels
  • Managing Nil Channels
  • Strategies for Shared Memory Management
  • Practical Work with the dWC.go Utility

Advanced Network Programming in Go

  • Principles of Network Programming
  • Working with the Net Standard Package
  • In-depth Review of Unix Sockets
  • Executing DNS Lookups
  • Development of Basic TCP Server and Client Applications
  • Development of Basic UDP Server and Client Applications
  • Designing a Concurrent TCP Server

Diagnostic and Troubleshooting Techniques

Final Review and Conclusion

Requirements

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

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories