Learning Path: Go: Concurrency & Design Patterns for Gophers
Put an end to all your software development problems using concurrency and powerful design patterns
Description
Design patterns make developers’ life easy by efficiently addressing common problems faced during developing applications. Concurrency helps you to achieve parallelism in our programs. If you’re looking at implementing design patterns and concurrency in your applications, then go for this Learning Path.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
Google’s Go is an open source programming language that helps you build efficient and reliable software. This language has proved to be a powerful option in many software development domains.
The highlights of this Learning Path are:
- Concise, readable, and maintainable software development with Go
- Learn design patterns and concurrency at one go
Let’s take a quick look at your learning journey. This Learning Path starts with a brief introduction to essentials of Go programming and quickly moves on to explain the idea behind the creation of design patterns. Learn how to apply the 23 Gang of Four (GoF) design patterns in Go. Explore the CSP concurrency patterns, the "killer feature" in Go that has helped Google develop software to maintain thousands of servers. Moving ahead, you will use the majority of Go primitives to write concurrent apps and also develop some classical design patterns with concurrent structures to maximize parallelism. You will see how a classical pattern can become more complex if you need it to work in a concurrent way; however, the idea is to understand Go concurrent primitives so that you know how to write your own concurrent design patterns.
By the end of this Learning Path, you will be able to understand and apply concurrency and design patterns in an idiomatic way using Go.
Meet Your Expert:
We have combined the best works of the following esteemed author to ensure that your learning journey is smooth:
Mario Castro Contreras is a software engineer who has specialized in distributed systems and Big Data solutions. He works as a site reliability engineer, and now he is focused on containerized solutions and apps using most of Google Cloud suite, especially Kubernetes. He has broad experience in systems and solutions integration, and he has written many scalable and reliable 12-factor apps using Go and Docker. He has designed Big Data architectures for financial services and media, and he has written data processing pipelines using event-driven architectures written purely in Go. Mario is also very active in the open source community, and you can find him on his GitHub account with the username sayden. He is passionate about programming languages, and he found the best balance between fun and productivity in Go; however, recently he has enjoyed writing in Rust and embedded systems in C. He is also passionate about road cycling and winter sports.
What You Will Learn!
- Learn the basic syntax and all the tools needed to start coding in Go
- Create unique instances that cannot be duplicated within a program
- Explore the popular design patterns in distributed systems and reactive programming
- Prepare cost-effective actions so that different parts of the program aren’t affected by expensive tasks
- Encapsulate the creation of complex objects in an idiomatic way in Go
- Explore 23 Gang of Four design patterns
- Deal with channels and GoRoutines within the Go context to build concurrent applications
Who Should Attend!
- This Learning Path is for developers who want to implement concurrency and design patterns in their applications