Get in Touch

Course Outline

Introduction

Understanding Systems Programming on Unix

Overview of the Go Programming Language and Architecture

Installing and Configuring the Go Development Environment

Mastering Go Syntax Basics

Working with Go Packages

Algorithms and Data Structures

Go’s Approach to Garbage Collection

Managing Files and Directories in Go

Implementing File Input and Output Operations

Error Handling Techniques

Navigating System Files in Go: Log Files, System Operations, and Passwords

Interacting with Unix Processes and Signals in Go

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

Understanding and Utilizing Goroutines

  • Introduction to Goroutines
  • Using the Sync Package in Go
  • Managing Pipelines
  • Leveraging the Go Scheduler
  • Using the 'select' Keyword
  • Working with Signal Channels and Buffered Channels
  • Handling Timeouts
  • Working with Channels of Channels
  • Navigating Nil Channels
  • Managing Shared Memory
  • Using the dWC.go Utility

Network Programming in Go

  • Foundations of Network Programming
  • Utilizing the Net Package in Go
  • Revisiting Unix Sockets
  • Performing DNS Lookups
  • Building a Simple TCP Server and Client
  • Developing a Simple UDP Server and Client
  • Implementing a Concurrent TCP Server

Troubleshooting

Summary and Conclusion

Requirements

  • Basic programming experience in any language
  • Familiarity with Linux and Unix systems
 35 Hours

Number of participants


Price per participant

Testimonials (5)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories