Hi.
Welcome to the video course.
Go concurrency by Mario Castro Contreras.
A video caused by pact publishing.
I'm Mark Thomas and I'll be Mario's voice for this cause Mario Castro Contreras is a software engineer
who specialized in distributed systems and big data solutions.
He works as a site reliability engineer and now he's focused on containerized solutions and apps using
most of the Google Cloud Suite especially Cuban it is his wide experience in systems and solutions integration.
And he's written many scalable and reliable 12 factor apps using go and docker.
He's designed Big Data architectures for financial services and the media.
And he's written data processing pipelines using event driven architectures entirely and go.
He's also very active in the open source community.
And you can find him on his get hub account with the user named Satan.
In the past he's also written mobile applications and back ends in Java Mario is passionate about programming
languages and he finds the best balance between fun and productivity and go.
However recently he enjoys writing in rust and embedded systems in C..
He's also passionate about road cycling and winter sports cool.
So let's not talk about go go is a multi paradigm programming language that is built in facilities to
create concurrent applications concurrent programming is a large topic but is also one of the most interesting
aspect of the go language goes concurrency primitives.
Make it easy to construct streaming data pipelines to make efficient use of IO and multiple CPE use
concurrent design patterns allow complex systems with multiple components.
In other words we could say that processes or routines can start run and complete simultaneously.
This doesn't have anything to do with the actual execution of the code just the design of the system.
Thus concurrency raises the efficiency of the applications you develop.
Now let's look at our course.
It's divided into two sections.
So our first section explains with more detail the CSP concurrency model used in go by going through
some examples using go routines and channels as well as me text isn't things we'd also be using callbacks
here.
Then we'll move on to the second section which introduces you to some of these CSP concurrency patterns
that are idiomatic to the go language by walking through some examples and explanations.
These are small but really powerful patterns so we'll provide a few examples of the use of each of them
as well as some schemas that will make the understanding of each of them easier.
Sounds amazing isn't it.
By the end of this course you'll learn most of the primitives in go to write concurrent apps and develop
some of the classical design patterns with concurrent structures to maximize parallelism.
Also you'll learn some of the typical structures to develop concurrent apps and go you learn how a classical
pattern can become more complex so we needed to work in a concurrent way.
But the idea is to understand go concurrent primitives so the finishes course knowing how to write your
own concurrent design patterns by using the knowledge taken from here.
Or you need to follow through the examples in this course is a computer running any recent version of
go.
While the examples all use go one point seven this course is for intermediate level developers in the
Go programming language.
Knowledge of design patterns is optional.
You're expected to have basic knowledge of programming.
So let's get started right away.
I'm sure you'll be amazed after exploring this wonderful language.
See there.