Go for Systems Programming Training Course
Go (Golang) is an open source programming language developed at Google. One of Go's popular use cases is Linux and Unix systems programming.
In this instructor-led, live training, participants will learn the fundamentals of systems programming with Go as they step through hands-on exercises exploring the various features of Go.
By the end of this training, participants will be able to:
- Understand the fundamentals of Go systems programming
- Set up the Go development environment
- Write programs in Go
- Use both the basic and advanced features of Go for Unix and Linux systems programming
- Understand and use Goroutines
- Write fast and lightweight code with Go
- Write low-level networking code with Go
Audience
- Programmers
- Developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Course Outline
Introduction
Understanding Unix Systems Programming
Understanding the Go Programming Language and the Go Architecture
Installing and Configuring the Go Development Environment
Learning the Basics of Go Syntax
Working with Go Packages
Algorithms, Data Structures
How Go Handles Garbage Collection
Dealing with Files and Directories in Go
Implementing File Input and Output Operations in Go
Implementing Error Handling
Identifying and Working with System Files in Go: Log Files, System Files Operations, and Passwords
Working with Unix Processes and Signals in Go
- Understanding Unix Processes and Signals
- Process Management
- Dealing with Unix Signals in Go
- Using the 'kill' Command
- Working with Unix Pipes and Sockets in Go
- Working with Remote Procedure Call (RPC) in Go
- Programming a Unix Shell in Go
Understanding and Working with Goroutines
- Learning About Goroutines
- Using the Sync Go Packages
- Dealing with Pipelines
- Using the Go Scheduler
- Using the 'select' Keyword
- Working with Signal Channels and Buffered Channels
- Handling Timeouts
- Working with Channels of Channels
- Working with Nil Channels
- Dealing with Shared Memory
- Working with the dWC.go Utility
Network Programming in Go
- Understanding Network Programming
- Working with the Net Go Standard Package
- Revisiting Unix Sockets
- Performing DNS Lookups
- Developing a Simple TCP Server and a Simple TCP Client
- Developing a Simple UDP Server and a Simple UDP Client
- Working with a Concurrent TCP Server
Troubleshooting
Summary and Conclusion
Requirements
- Basic programming experience in any language
- Familiarity with the Linux and Unix systems
Open Training Courses require 5+ participants.
Go for Systems Programming Training Course - Booking
Go for Systems Programming Training Course - Enquiry
Go for Systems Programming - Consultancy Enquiry
Consultancy Enquiry
Testimonials (5)
Trainer's expertise and teaching talent
Liviu - Orange Services
Course - Go for Systems Programming
Time efficient Smooth and linked transitions from one topic to another Examples ranging from simple to challenging So much patience for answering every questions with examples Knowledge way beyond expectations So many things to appreciate!
Laura - Orange Services
Course - Go for Systems Programming
The trainer's attitude and the fact that he stopped at each problem/issue to help the ones in need He was also pretty laid back, making the training actually kind of fun and relaxing
Rares - Orange Services
Course - Go for Systems Programming
Patrick was very helpful and provided real world examples and practices when working with Go. This was not a purely theoretical course on how to use Go, but how to actually develop with Go in the real world. He provided comparison with other languages in order to better explain certain concepts, which was very useful.
Cristian - Orange Services
Course - Go for Systems Programming
The extra informations not in the official docs
Sayf Eddine HAMMEMI - SCALITY SA
Course - Go for Systems Programming
Provisional Upcoming Courses (Contact Us For More Information)
Related Courses
Bash Scripting for Automation
21 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at developers and system administrators who wish to automate their tasks and manage their systems more effectively using Bash.
By the end of this training, participants will be able to:
- Install and configure Bash.
- Write and execute Bash scripts.
- Understand the lifecycle of a Bash script and how Bash fits into system administration tasks.
- Use Bash to automate tasks and manage systems.
BASH Programming
14 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at beginner and intermediate-level Linux users, system administrators, and developers who wish to gain hands-on experience in creating efficient and effective shell scripts.
By the end of this training, participants will be able to:
- Understand how the shell works and interact with Linux using BASH.
- Write, debug, and execute BASH scripts to automate repetitive tasks.
- Implement conditional statements, loops, and functions in scripts for enhanced functionality.
- Process and manipulate text files, search for patterns, and work with streams effectively.
Developing Applications For Linux (LFD401)
28 HoursLearn how to develop applications for the Linux environment. In this instructor-led course, you’ll get hands-on experience with the necessary tools and methods for Linux application development and learn about the features and techniques that are unique to Linux.
Kubernetes for App Developers (LFD459)
21 HoursThis course will teach you how to containerize, host, deploy, and configure an application in a multi-node cluster. It also serves as preparation for the Certified Kubernetes Application Developer (CKAD) exam.
Linux for System Administrators (LFS301 retired)
28 HoursLinux system administration is one of the most in-demand skills in IT. Whether you’re looking for expert prep for the Linux Foundation Certified System Administration (LFCS) certification, need training to help start a new Linux IT career, transition to Linux from another platform, or you’re just brushing up on your sysadmin skills, this instructor-led course will teach you what you need to know.
Linux Security (LFS416)
28 HoursThis instructor-led course will walk you through the many risks and threats that exist, show you how to use best practices and other open-source tools to mitigate or counteract those threats, and teach you what you need to know to detect and recover from those attacks that do happen.
Linux Performance Tuning (LFS426)
28 HoursKeeping your Linux systems running optimally is a mission-critical function for most Linux IT professionals. This course will teach you the appropriate tools, subsystems, and techniques you need to get the best possible performance out of Linux
Linux Enterprise Automation (LFS430)
28 HoursAutomation is essential to running Linux in the enterprise effectively. Automation lets you minimize costs by reducing manual operations, helps ensure compliance across the data center, standardizes your software infrastructure and accelerates deployments for your bare-metal and cloud infrastructures. This course will teach you how to use automation to achieve these outcomes.
Kubernetes Administration (LFS458)
28 HoursThis course covers the core concepts typically used to build and administer a Kubernetes cluster in production, using vendor-independent tools. We build a cluster, determine network configuration, grow the cluster, deploy applications and configure the storage, security and other objects necessary for typical use. This course offers exposure to the many skills necessary to administer Kubernetes in a production environment and is excellent preparation for the Certified Kubernetes Administrator (CKA) exam.
Kubernetes Security Fundamentals (LFS460)
28 HoursThis instructor-led course provides skills and knowledge across a broad range of best practices for securing container-based applications and Kubernetes platforms during build, deployment, and runtime.
Red Hat Certified OpenShift Administrator (EX280) Exam Preparation
35 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at intermediate-level system administrators, cloud administrators, and DevOps professionals who wish to install, configure, and manage OpenShift clusters effectively and prepare for the Red Hat Certified OpenShift Administrator (EX280) exam.
By the end of this training, participants will be able to:
- Understand and implement core concepts of OpenShift architecture and administration.
- Manage OpenShift clusters effectively, including installation, configuration, and troubleshooting.
- Gain practical experience with tasks covered in the EX280 exam.
- Build confidence in administering OpenShift clusters through hands-on exercises.
Red Hat Certified Engineer (RHCE) Exam (EX294) Preparation
35 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at advanced-level Linux system administrators who wish to take the Red Hat Certified Engineer (RHCE) exam to demonstrate their capability in managing multiple systems using Red Hat Ansible Automation Platform.
By the end of this training, participants will be able to:
- Understand and use Ansible.
- Automate system administration tasks with Ansible.
- Managing Linux network configurations and automating the deployment of network services.
- Learn the basics of shell scripting for automation.
- Automate security patching and compliance checks.
- Take the Red Hat Certified Engineer (RHCE) exam with confidence.
Red Hat Certified System Administrator (RHCSA) Exam (EX200) Preparation
35 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at intermediate-level Linux system administrators who wish to take the Red Hat Certified System Administrator (RHCSA) exam.
By the end of this training, participants will be able to:
- Gain proficiency in maintaining RHEL systems, managing boot processes, and system services to ensure systems are up-to-date and running efficiently.
- Master user and group management along with file permissions and security.
- Configure basic network settings, secure network communications, and implement firewall configurations.
- Develop the ability to manage systems in real-time, including boot management, software package management, and service management.
- Take the Red Hat Certified System Administrator (RHCSA) exam with confidence.
Red Hat OpenShift Development I: Introduction to Containers with Podman (DO188)
21 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at intermediate-level developers and SREs who wish to build, manage, and deploy containerized applications using Podman and OpenShift.
By the end of this training, participants will be able to:
- Understand container technology and its applications.
- Build and manage containers using Podman.
- Deploy containerized applications on Red Hat OpenShift.
- Troubleshoot container deployments.
Skupper
7 HoursThis instructor-led, live training in Belgium (online or onsite) is aimed at developers or anyone who wishes to learn how to use Skupper to create secure communication within a hybrid multi-cloud environment.
By the end of this training, participants will be able to:
- Learn and understand the fundamentals of Skupper.
- Setup and configure Supper in multiple namespaces.
- Configure Skupper security and allow multi-cloud communication for applications.