Get in Touch
 Duration 35 hours

Course Outline

Introduction

Foundations of Unix Systems Programming

Overview of the Go Programming Language and Its Architecture

Installation and Configuration of the Go Development Environment

Introduction to Go Syntax and Core Concepts

Managing Go Packages

Exploring Algorithms and Data Structures

Mechanisms of Garbage Collection in Go

Handling Files and Directories in Go

Executing File Input and Output Operations

Implementing Robust Error Handling Strategies

Interacting with System Files: Logs, System Operations, and Password Management

Managing Unix Processes and Signals in Go

  • Concepts of Unix Processes and Signals
  • Techniques for Process Management
  • Handling Unix Signals via Go
  • Utilization of the 'kill' Command
  • Implementation of Unix Pipes and Sockets
  • Integration of Remote Procedure Call (RPC)
  • Construction of a Custom Unix Shell

Advanced Goroutine Management

  • Introduction to Goroutine Mechanics
  • Application of the Sync Standard Packages
  • Designing Efficient Pipelines
  • Utilization of the Go Scheduler
  • Implementation of the 'select' Statement
  • Management of Signal and Buffered Channels
  • Strategies for Timeout Handling
  • Nesting: Channels of Channels
  • Handling Nil Channels
  • Managing Shared Memory Resources
  • Practical Application: The dWC.go Utility

Network Programming with Go

  • Principles of Network Programming
  • Application of the Net Standard Package
  • Advanced Unix Socket Concepts
  • Execution of DNS Lookups
  • Development of Basic TCP Server and Client Architectures
  • Construction of Simple UDP Server and Client Solutions
  • Designing a Concurrent TCP Server

Debugging and Troubleshooting Techniques

Summary and Final Review

Requirements

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

Number of participants


Price per participant (excl. VAT)

Testimonials (5)

Upcoming Courses

Related Categories