Skip to content

romangurevitch/GopherCon2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Concurrency in Go Workshop

Welcome to the immersive full-day workshop on Fundamentals of Concurrent Programming in Go! This workshop is crafted to deliver a profound understanding of concurrent programming techniques in Go, with a substantial focus on pragmatic application and implementation.

Throughout this hands-on workshop, delve into the nuances of building production-grade services employing concurrent design patterns and the sync package. Under the expert guidance of the instructor, unravel the design philosophies and engineering decisions that underpin effective concurrent programming in Go.

Table of Contents

  1. Prerequisites
  2. Getting Started
  3. Concurrency Fundamentals
  4. Concurrency Pitfalls
  5. Common Concurrent Design Patterns
  6. Challenges

Prerequisites

Intermediate knowledge of the Go programming language is recommended. If you are unfamiliar with Go, it's advisable to take the Go Tour and review basic Go concepts.

Basic experience with command-line tools is required.

Getting Started

  1. Clone the Repository:

    • Run the following command to clone the repository to your local machine:
      git clone https://github.com/romangurevitch/GopherCon2023.git
    • Navigate to the project directory:
      cd GopherCon2023
  2. Install or update Go to the latest version:

  3. Makefile Help:

    • While in the project directory, run the following command to view the available make targets and their descriptions:
      make help
  4. Verify Installation:

    • Run the following command to execute the test suite and ensure everything is set up correctly:
      make test
  5. Open the Project in an IDE:

    • It's recommended to open the project in an Integrated Development Environment (IDE) for a better programming experience. Two popular choices for Go development are:
    • Once you have your preferred IDE installed, open the project by navigating to File -> Open... and selecting the project directory you cloned earlier.

Concurrency Building Blocks in Go

Dive into the building blocks of concurrency in Go by exploring the following topics:

Navigate to the respective directories to find READMEs and code examples.

Working with Goroutines

Discover Best Practices for Using Goroutines in Concurrency

Navigate to the respective directories to find READMEs and code examples.

Common Concurrent Design Patterns

Explore various concurrent design patterns in Go:

Comparison table

Navigate to the respective directories to find READMEs and code examples.

Challenges

Take on a variety of challenges to test your understanding of concurrency in Go:

Navigate to the respective directories to find READMEs and code examples.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published