Grootste online IT opleider

Beste klantenservice

Veel e-learning in prijs verlaagd

Na betaling, direct starten

Training: Advanced Programming in Go

€ 159,00
€ 192,39 Incl. BTW

Bestellen namens een bedrijf?

Duur: 13 uur |

Taal: Engels (US) |

Online toegang: 180 dagen |

In Onbeperkt Leren

Gegevens

Verbeter je programmeervaardigheden in Go met deze geavanceerde Go-training! Je ontdekt wat GO-pakketten zijn en hoe je ze kunt gebruiken. Vervolgens verken je het concept van gelijktijdigheid/concurrency en verdiep je je in sequentiële programmering. Met die basis duik je in multi-threaded programmeren en leer je over de verschillen tussen gelijktijdigheid en parallellisme. Je gaat onderzoeken hoe Go-routines worden gebruikt voor Go-concurrency modellen én hoe je deze kunt implementeren in de pakketten sync en sync/atomic.

Go-channels zijn constructies die door Go-routines worden gebruikt om met elkaar te communiceren. Je ontdekt hoe channels passen in het algemene concurrency model van Go en hoe je niet-blokkerende kanaalbewerkingen in Go-programma's kunt implementeren. Vervolgens leer je vanuit Go-programma's toegang te krijgen tot databases, zoals SQL en NoSQL. Verder ontdek je verschillende benaderingen voor testen, debuggen en implementeren, die gebruikelijk zijn voor Go-programma's. Ten slotte leer je over best practices-technieken om je vaardigheden te optimaliseren.

Resultaat

Na het voltooien van deze training ben je klaar om meer geavanceerde taken in Go op je te nemen.

Voorkennis

Geen formele voorkennis. Ervaring met Go wordt echter sterk aanbevolen.

Doelgroep

Softwareontwikkelaar, Webontwikkelaar

Inhoud

Advanced Programming in Go

13 uur

Advanced Programming in Go: Deep Dive into Packages

  • All Go programs are composed of one or more packages. Packages

  • organize Go source code in a way that makes the code easily
  • reusable and readable. Packages essentially allow you to take one
  • or more source code files and compartmentalize them into a single
  • unit. In this course, you'll explore what Go packages are and why
  • they are used. You'll examine best practice for working with Go
  • packages and learn about working with modules and packages. Next,
  • you'll learn about package names and how to declare and import
  • packages. Finally, you'll explore how to create and use custom
  • packages and nested packages, as well as how to use the init()
  • function in Go to initialize an application.

Advanced Programming in Go: Concurrency

  • Concurrency is a critical component of modern software, as it is

  • capable of leveraging modern hardware advances. Concurrent
  • applications can execute various parts of a program out of sequence
  • while not affecting the final outcome of the program. This is often
  • confused with parallelism, which involves running multiple programs
  • simultaneously. In this course, you'll explore the concept of
  • concurrency by first considering sequential programming. With that
  • foundation, you'll dive into multi-threaded programming and learn
  • about the differences between concurrency and parallelism. Next,
  • you'll examine Go's concurrency model and the concurrency
  • primitives used in Go to build concurrent applications. Finally,
  • you'll learn about concurrency patterns used in Go programming and
  • how performance can be improved with concurrency.

Advanced Programming in Go: Goroutines

  • Goroutines are foundational components of Go's concurrency

  • model. Goroutines may be considered units of execution in a Go
  • program. Goroutines are very lightweight with small stack sizes.
  • Consequently, millions of Goroutines may be spawned at about the
  • same time on modest hardware. In this course, you'll explore
  • Goroutines and how they implement the packages sync and
  • sync/atomic. You'll investigate race conditions in Goroutines and
  • explore race conditions versus data races. Next, you'll create and
  • work with WaitGroups, implement atomic operations and see how
  • mutexes are used with Goroutines. Lastly, you'll create and explore
  • how to detect and avoid race conditions in Goroutines.

Advanced Programming in Go: Go Channels

  • Go channels are constructs used by Goroutines to communicate

  • with each other. Go channels, which can be buffered or unbuffered,
  • are similar to pipes in that one Goroutine can send data from one
  • side of the pipe to other Goroutines that receive the data on the
  • other side. In this course, you'll explore how channels fit in Go's
  • overall concurrency model. You'll learn how to implement
  • non-blocking channel operations in Go programs and about the use of
  • pipelines in Go. Next, you'll examine how to work with Goroutines,
  • as well as buffered and unbuffered channels. You'll explore the
  • range() and close() functions in the context of channels and learn
  • how to combine channels and WaitGroups. Lastly, you'll learn how to
  • implement a pipeline in a Go program.

Advanced Programming in Go: Accessing Databases

  • The ecosystems of mainstream programming languages include

  • various types of client mechanisms for interacting with common
  • databases, including both SQL and NoSQL databases. The Go
  • programming language is no exception. The Go ecosystem contains
  • multiple libraries for building and using SQL and several drivers
  • for connecting with and operating on different databases. In this
  • course, explore how databases are accessed from Go programs. Work
  • with databases by implementing a database driver for Go. Experiment
  • by performing various operations and transactions on the database.
  • Work with prepared statements. Finish up by practicing how to
  • handle errors, null values, and unknown columns. Upon completion,
  • you'll be able to perform several routine database operations from
  • your Go program.

Advanced Programming in Go: Testing & Deploying Go Programs

  • Testing and debugging a program is fundamental to creating

  • quality software. Likewise, deployment is an indispensable software
  • development step, which must be navigated appropriately. The Go
  • ecosystem includes several options and approaches for both
  • testing/debugging and deploying Go programs. Use this course to
  • learn the various testing and debugging approaches common to Go
  • programs. Experiment by executing unit tests against Go software.
  • Perform tests based on test coverage metrics. Learn common
  • approaches for debugging Go programs. Lastly, examine tools and
  • techniques for deploying Go applications both on-premises and to
  • the Cloud and practice deploying a Go program to a cloud provider.
  • Upon completion, you'll be able to use Go to test, debug, build,
  • and deploy Go programs.

Advanced Programming in Go: Best Practices for Go Programming

  • Adopting and employing best practices in software development

  • not only mitigates virtually all levels of risk but also naturally
  • results in high-quality, secure, and maintainable software.
  • Consequently, professional software development organizations
  • typically take care to observe best practices. Use this course to
  • learn some of the most significant best practices when programming
  • in Go. Study approaches to organizing Go code and documenting Go
  • programs. Examine best practices related to error handling, data
  • handling, concurrency, and testing. Then, finish off by
  • implementing some of these best practices in a Go program. When
  • you're done, you'll be able to leverage the benefits of a best
  • practice approach when programming in Go.

Opties bij cursus

Wij bieden, naast de training, in sommige gevallen ook diverse extra leermiddelen aan. Wanneer u zich gaat voorbereiden op een officieel examen dan raden wij aan om ook de extra leermiddelen te gebruiken die beschikbaar zijn bij deze training. Het kan voorkomen dat bij sommige cursussen alleen een examentraining en/of LiveLab beschikbaar is.

Examentraining (proefexamens)

In aanvulling op deze training kunt u een speciale examentraining aanschaffen. De examentraining bevat verschillende proefexamens die het echte examen dicht benaderen. Zowel qua vorm als qua inhoud. Dit is de ultieme manier om te testen of u klaar bent voor het examen. 

LiveLab

Als extra mogelijkheid bij deze training kunt u een LiveLab toevoegen. U voert de opdrachten uit op de echte hardware en/of software die van toepassing zijn op uw Lab. De LiveLabs worden volledig door ons gehost in de cloud. U heeft zelf dus alleen een browser nodig om gebruik te maken van de LiveLabs. In de LiveLab omgeving vindt u de opdrachten waarmee u direct kunt starten. De labomgevingen bestaan uit complete netwerken met bijvoorbeeld clients, servers, routers etc. Dit is de ultieme manier om uitgebreide praktijkervaring op te doen.

Waarom Icttrainingen.nl?

Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het certificaat van deelname van Icttrainingen.nl

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten

Bestelproces

Zodra wij uw order en betaling hebben verwerkt, zetten wij uw trainingen klaar en kunt u aan de slag. Heeft u toch nog vragen over ons orderproces kunt u onderstaande button raadplegen.

lees meer over het orderproces

hoe werkt aanvragen met STAP

Wat is inbegrepen?

Certificaat van deelname ja
Voortgangsbewaking ja
Award Winning E-learning ja
Geschikt voor mobiel ja
Kennis delen Onbeperkte toegang tot onze community met IT professionals
Studieadvies Onze consultants zijn beschikbaar om je te voorzien van studieadvies
Studiemateriaal Gecertificeerde docenten met uitgebreide kennis over de onderwerpen
Service Service via chat, telefoon, e-mail (razendsnel)

Platform

Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Meerdere cursussen volgen? Misschien is ons Life Long Learning concept wel wat voor u

lees meer

Neem contact op

Studieadvies nodig? Neem contact op!


Contact