• No hay productos en el carrito.

Inicio / Cursos / Working with Concurrency in Go (Golang)
Impartido por Trevor SawlerPago único de $2,800 MXN · acceso por 12 meses

Working with Concurrency in Go (Golang)

Learn the advantages and pitfalls of concurrent programming with the Go programming language

Certificado oficial emitido por la SEPA través del Gobierno del Estado de México
12 meses de acceso En línea · 50 h 10 unidades Nivel intermedio
Qué aprenderás

Lo que serás capaz de hacer

Go, often referred to as Golang, is well-known for making it remarkably easy to work with concurrency. In order to make a particular function run concurrently, all we have to do is prepend the word "go" to the function call, and it cheerfully runs in the background, as a GoRoutine. Go's built in scheduler takes are of making sure that a given GoRoutine runs when it should, and as efficiently as it can. However, this does not mean that working with concurrency is simple in Go—thread safe programming takes careful planning, and most importantly it requires that developers have an absolutely solid understanding of how Go deals with concurrency. In the standard library, Go offers us several ways of dealing with concurrently running parts of our program, right in the standard library: sync.WaitGroup , which lets us wait for tasks to finish; sync.Mutex , which allows us to lock and unlock resources, so that no two GoRoutines can access the same memory location at the same time; and finally, Channels , which allow GoRoutines to send and receive data to and from each other. Go's approach to concurrency is fairly straightforward, and is more or less summed up this mantra: Don't communicate by sharing memory; instead, share memory by communicating. Channels are the means by which we usually share memory by communicating. In this course, we'll cover the use of WaitGroups, Mutexes, and Channels, and we'll do so in detail. We'll also cover some of the problems inherent in concurrency, including early program termination and race conditions. Initially, we'll gain a good understanding of how these things work by solving some of the classic problems found in the field of computer science, including the Dining Philosophers , the Producer/Consumer problem, and the Sleeping Barber . These problems are classics for a reason: they force a developer to figure out the best approach to working with code that run concurrently, or in parallel. Finally, we'll finish the course out with a more "real-world" problem, where we have to register a customer for some kind of subscription service, and take care of invoicing, registration, and all the things necessary to get a new customer up and running. We'll do so, naturally, as quickly as we can by dividing the necessary tasks up into smaller tasks, and having them run concurrently. Please note that this course requires you to download Docker Desktop from Docker. If you are a Udemy Business user, please check with your employer before downloading software.

  • Learn about the various ways Go makes working with concurrent programing simple
  • Understand how concurrency works, and its advantages and pitfalls
  • Learn how WaitGroups, Mutexes, and channels work
  • Master concurrency by working with classic computer science problems, and by building a real-world example

Temario

UNIDAD 1 - Introduction · 7 lecciones

UNIDAD 1 - Introduction

  • IntroductionVideo · 6 min
  • A bit about meVideo · 1 min
  • Installing GoVideo · 2 min
  • Installing Visual Studio CodeVideo · 3 min
  • Installing MakeVideo · 1 min
  • Asking for helpVideo · 1 min
  • Mistakes: we all make them.Video · 1 min
UNIDAD 2 - Goroutines, the go keyword, and WaitGroups · 6 lecciones

UNIDAD 2 - Goroutines, the go keyword, and WaitGroups

  • What we'll cover in this sectionVideo · 1 min
  • Creating GoRoutines and identifying a problemVideo · 7 min
  • WaitGroups to the rescueVideo · 9 min
  • Writing tests with WaitGroupsVideo · 7 min
  • Challenge: working with WaitGroupVideo · 2 min
  • Solution to ChallengeVideo · 5 min
UNIDAD 3 - Race Conditions, Mutexes, and an Introduction to Channels · 12 lecciones

UNIDAD 3 - Race Conditions, Mutexes, and an Introduction to Channels

  • What we'll cover in this sectionVideo · 4 min
  • Race Conditions: an exampleVideo · 5 min
  • Adding sync.Mutex to our codeVideo · 3 min
  • Testing for race conditionsVideo · 4 min
  • A more complex exampleVideo · 13 min
  • Writing a test for our weekly income projectVideo · 4 min
  • Producer/Consumer - Using Channels for the first timeVideo · 8 min
  • Getting started with the Producer - the pizzeria functionVideo · 10 min
  • Making a pizza: the makePizza functionVideo · 11 min
  • Finishing up the Producer codeVideo · 7 min
  • Creating and running the consumer: ordering a pizzaVideo · 7 min
  • Finishing up our Producer/Consumer projectVideo · 5 min
UNIDAD 4 - A Classic Problem: The Dining Philosophers · 6 lecciones

UNIDAD 4 - A Classic Problem: The Dining Philosophers

  • What we'll cover in this sectionVideo · 2 min
  • Getting started with the problemVideo · 18 min
  • Implementing the diningProblem logicVideo · 13 min
  • Challenge: Printing out the order in which the meal is finishedVideo · 1 min
  • Solution to challengeVideo · 3 min
  • Writing a test for our programVideo · 7 min
UNIDAD 5 - Channels, and another classic: The Sleeping Barber problem · 10 lecciones

UNIDAD 5 - Channels, and another classic: The Sleeping Barber problem

  • What we'll cover in this sectionVideo · 4 min
  • Introduction to channelsVideo · 14 min
  • The select statementVideo · 12 min
  • Buffered ChannelsVideo · 6 min
  • Getting started with the Sleeping Barber projectVideo · 6 min
  • Defining some variables, the barber shop, and getting started with the codeVideo · 8 min
  • Adding a BarberVideo · 13 min
  • Starting the barbershop as a GoRoutineVideo · 6 min
  • Sending clients to the shopVideo · 8 min
  • Trying things outVideo · 4 min
UNIDAD 6 - Final Project - Building a Subscription Service · 15 lecciones

UNIDAD 6 - Final Project - Building a Subscription Service

  • What we'll cover in this sectionVideo · 1 min
  • Setting up a simple web applicationVideo · 8 min
  • Setting up our Docker development environmentVideo · 5 min
  • Adding postgresVideo · 8 min
  • Setting up a MakefileVideo · 4 min
  • Adding sessions & RedisVideo · 5 min
  • Setting up the application configVideo · 5 min
  • Setting up a route & handler for the home page, and starting the web serverVideo · 6 min
  • Setting up templates and building a render functionVideo · 19 min
  • Adding session middlewareVideo · 2 min
  • Setting up additional stub handlers and routesVideo · 5 min
  • Implementing graceful shutdownVideo · 7 min
  • Populating the databaseVideo · 3 min
  • Adding a data package and database modelsVideo · 7 min
  • Implementing the login/logout functionsVideo · 14 min
UNIDAD 7 - Sending Email Concurrently · 8 lecciones

UNIDAD 7 - Sending Email Concurrently

  • What we'll cover in this sectionVideo · 2 min
  • Getting started with the mailer codeVideo · 18 min
  • Building HTML and Plain Text messagesVideo · 7 min
  • Sending a message (synchronously)Video · 4 min
  • Getting started sending a message (asynchronously)Video · 8 min
  • Writing a helper function to send email easilyVideo · 2 min
  • Sending an email on incorrect loginVideo · 3 min
  • Adding cleanup tasks to the shutdown() functionVideo · 3 min
UNIDAD 8 - Registering a User and Displaying Plans · 8 lecciones

UNIDAD 8 - Registering a User and Displaying Plans

  • What we'll cover in this sectionVideo · 1 min
  • Adding mail templates and URL signer codeVideo · 5 min
  • Starting on the handler to create a userVideo · 9 min
  • Activating a userVideo · 6 min
  • Giving user data to our templatesVideo · 3 min
  • Displaying the Subscription Plans pageVideo · 13 min
  • Adding a route and trying things out for the "Plans" pageVideo · 7 min
  • Writing a stub handler for choosing a planVideo · 3 min
UNIDAD 9 - Adding Concurrency to Choosing a Plan · 5 lecciones

UNIDAD 9 - Adding Concurrency to Choosing a Plan

  • What we'll cover in this sectionVideo · 1 min
  • Getting the plan id, the plan, and the userVideo · 8 min
  • Generating an InvoiceVideo · 10 min
  • Generating a manualVideo · 21 min
  • Trying things out, subscribing a user, updating the session, and redirectingVideo · 12 min
UNIDAD 10 - Testing · 9 lecciones

UNIDAD 10 - Testing

  • What we'll cover in this sectionVideo · 1 min
  • Setting up our testsVideo · 8 min
  • Testing RoutesVideo · 8 min
  • Testing the RendererVideo · 12 min
  • Modifying the data package to make it testableVideo · 14 min
  • Implementing the PlanTest typeVideo · 4 min
  • Getting started testing HandlersVideo · 15 min
  • Testing the Login HandlerVideo · 14 min
  • Testing a handler that uses concurrencyVideo · 11 min
Certificado oficial

Tu certificado lo emite la SEP, no solo una plataforma

Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.

Tu certificado con INEC

  • Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
  • Documento oficial con folio verificable en línea
  • Lo otorga la Universidad Tecnológica Fidel Velázquez

Otras plataformas en línea

  • Constancia privada emitida por la misma plataforma
  • Solo acredita horas cursadas o asistencia
  • Sin respaldo de una autoridad educativa
Cómo funciona

Tu itinerario, de la inscripción al certificado

  1. 1

    Inscripción con pago único

    Pagas $2,800 MXN una sola vez y entras de inmediato al curso.

  2. 2

    Estudias a tu ritmo

    10 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.

  3. 3

    Cuestionarios por unidad

    Cuestionarios para comprobar lo aprendido.

  4. 4

    Certificado

    Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.

Lo que obtienes

Un certificado oficial de la SEP

Muestra del certificado: Working with Concurrency in Go (Golang)

Muestra · verificable por folio y QR

  • Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
  • Contenido impartido por Trevor Sawler.
  • Folio y QR verificables para compartirlo con quien te contrate.
Medios que necesitas
Equipo de cómputo Conexión estable a internet
Pago único

Empieza hoy, a tu ritmo

Un solo pago y acceso inmediato al curso completo durante 12 meses.

  • 10 unidades · 86 lecciones · 50 h
  • 12 meses de acceso
  • Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Pago único
$2,800MXN
Acceso por 12 meses
Inscribirme Hablar con un asesor
Preguntas frecuentes

Sobre tu inscripción

¿Cómo es el pago?

Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.

¿Cuánto tiempo tengo acceso?

12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.

¿Quién imparte el contenido?

El curso es impartido por Trevor Sawler; INEC gestiona tu inscripción, evaluación y certificado.

¿Qué pasa cuando vence mi acceso?

Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.

Certificado emitido por la SEP a través del Gobierno del Estado de México · Working with Concurrency in Go (Golang)

Inscribirme
  INEC es una Marca de SalesPartners Ciudad de México S de RL de CV. Template Design © Learnify LMS. All rights reserved. Terminos y Condiciones Aviso de Privacidad Politica de Devolución
Hide picture