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
Testimonials (1)
The extra informations not in the official docs
Sayf Eddine HAMMEMI - SCALITY SA
Course - Go for Systems Programming
Upcoming Courses
Related Courses
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.
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.
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
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 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.
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.
BASH Programming
14 HoursThe course answers questions:
How does the shell works?
How to write programs in a shell?
Bash Scripting for Automation
21 HoursThis instructor-led, live training in Vietnam (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.
Skupper
7 HoursThis instructor-led, live training in Vietnam (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.
Red Hat Certified Engineer (RHCE) Exam (EX294) Preparation
35 HoursThis instructor-led, live training in Vietnam (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 Vietnam (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.
Linux for Cloud Technicians (LFS303). Preparation for Linux Foundation Certified Cloud Technician (LFCT) with exam
28 HoursThis instructor-led, live training in Vietnam (online or onsite) is aimed at individuals who want to expand their knowledge of Linux system configuration, administration, and command line environment.
By the end of this training, participants will be able to:
manage networking, system services, user account creation and administration, and much more; you will also familiarize yourself with virtualization, containers, and DevOps concepts
Linux System Administration (LFS307). Preparation for Linux Foundation Certified System Administrator (LFCS) with exam.
28 HoursThis instructor-led, live training in Vietnam (online or onsite) is aimed at individuals who desire to gain the necessary skills of Linux
By the end of this training, participants will be able to:
to administer, configure and upgrade Linux systems running one of the three major Linux distribution families: Debian/Ubuntu andRed Hat/CentOS/Fedora, how to master the tools and concepts you’ll need to efficiently build and manage an enterprise Linux infrastructure