Get in Touch
 Duration 35 hours

Course Outline

Introduction

Foundations of Unix Systems Programming

Overview of the Go Language and Architecture

Setting Up and Configuring the Go Environment

Mastering Go Syntax Fundamentals

Managing Go Packages

Algorithms and Data Structures

Go's Approach to Garbage Collection

Handling Files and Directories in Go

Implementing File I/O Operations

Robust Error Handling Techniques

Managing System Files: Logs, System Operations, and Passwords

Unix Processes and Signals in Go

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

Goroutines: In-Depth Exploration

  • Introduction to Goroutines
  • Utilising the Sync Package
  • Managing Pipelines
  • The Go Scheduler Explained
  • Using the 'select' Statement
  • Signal and Buffered Channels
  • Managing Timeouts
  • Channels of Channels
  • Handling Nil Channels
  • Shared Memory Considerations
  • Using the dWC.go Utility

Network Programming with Go

  • Principles of Network Programming
  • Using the Net Standard Package
  • Advanced Unix Socket Usage
  • Performing DNS Resolutions
  • Creating Basic TCP Servers and Clients
  • Building Simple UDP Servers and Clients
  • Implementing Concurrent TCP Servers

Debugging and Troubleshooting

Wrap-Up and Final Thoughts

Requirements

  • Foundational programming skills in any language
  • Basic knowledge of Linux and Unix operating systems

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories