Snel navigeren naar:

  • Inhoud
  • Voordelen
  • Specificaties
  • Reviews
  • More information
  • FAQ

Productinformatie

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.

Inhoud van de training

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.

Kenmerken

Engels (US)
13 uur
Software Development
180 dagen online toegang
HBO

Meer informatie

Extra product informatie 0
Doelgroep Softwareontwikkelaar, Webontwikkelaar
Voorkennis

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

resultaat

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

Positieve reacties van cursisten

Ontwikkel je tot data analist

Service is echt heel goed. Snel, klantvriendelijk, weten waar ze over praten en denken met je mee met oplossingen. Daarnaast hebben ze ook een goed leerplatform om je studie te volgen en na elke module een korte toets om te zien hoeveel je ervan heb begrepen en je kan de status zien hoeveel tijd je hebt besteed aan je studie. Ik waardeer ze enorm en ik raad elke ICT'er aan om met hen in zee te gaan om je studie te volgen.

- Emilio Jones

Training: Introduction to SQL

Eén training geprobeerd en deze naar tevredenheid gevolgd. Een module werkte in eerste instantie niet, maar na contact opgenomen te hebben met klantenservice kreeg ik snel antwoord met een oplossing.

- Lars van der Spek

Training: Certified Ethical Hacker (CEHv12) - incl. examen

Eerste keer dat ik een online training heb gedaan en zou zo weer een training volgen via icttraningen.nl

- Jerry Jialal

Training: Microsoft Managing Modern Desktops (exam MD-101)

Het resultaat van de groep is absoluut bevredigend. Ik ga in ieder geval geen ander meer bellen.

- Antoine Evertze, Sales Engineer bij Chubb

Training: PRINCE2® 6e editie Foundation- incl. examen

Als er wat is staan ze altijd voor me klaar. Ik word meteen geholpen als ik bel.

- E. Zeijlmans, P&O adviseur bij Parnassia Groep

Training: ITIL® 4 Foundation - incl. examen

Wij zijn gebaat bij mensen die bijblijven in hun vakgebied en continu getriggerd worden.

- W. van Uijthoven, IT manager bij gemeente Arnhem

Training: Excel 2013 Compleet

Ik heb al eens eerder een training gehad via icttrainingen.nl en dat was een erg leerzame, leuke ervaring. Nu heb ik via het werk een online cursus en deze lijkt tot nu toe ook erg leerzaam.

- Michelle Brierley

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties