Sii Poland

SII UKRAINE

SII SWEDEN

  • Trainings
  • Career
Join us Contact us
Back

Sii Poland

SII UKRAINE

SII SWEDEN

Back

GoLang Workshops

Language Polish, English

  • The number of participants 8-15 people
  • Duration 4 days

Why take this course

If you want to build efficient, reliable, and scalable applications, this training will equip you with the practical skills needed to effectively use the Go language. With it, you’ll be able to proficiently handle the language’s complex mechanisms, test your code, and implement effective services, accelerating the development of your projects.

What you'll learn

  • Create correct code in Golang using advanced features. This includes creating your own robust data types, implementing concurrency mechanisms, and handling errors and time-based events effectively.
  • Test your code using the complete set of tools offered by Go. You’ll master unit testing, benchmarking, and fuzzing to ensure your applications are reliable and performant.
  • Implement efficient RESTful services and analyze their performance.
  • To practically use relational databases.

Certification & Exam

Upon completion of the training, you will receive a certificate of participation, confirming your skills in using the Go language. There is no final exam—all you need is active participation in the classes.

Who is this course for

This course is intended for intermediate to senior-level programmers who have experience in other programming languages and are familiar with the basic syntax of Go.

Topics covered

Basic Concepts

  • Code architecture
    • Structures, interfaces and methods,
    • Embedding and method promotion
  •  Concurrency
    • Goroutine lifecycle control and data propagation: contexts and wait groups
    • Shared data synchronization: Mutex, RWMutex
    • Inter-process communication: channels and select
  • Time based events: timers and tickers
  • Error handling
    • Custom error hierarchies,
    • Checking error type,
    • Unexpected errors: panic and recover
  • Structural logging using slog
  • Embedded resources
  • Application configuration using koanf package

Testing

  • Table and map driven tests
  • Concurrent test execution,
  • Data assertions: deep equal and golden files
  • Test Doubles
    • Mocks vs Stubs vs Fakes
    • Higher-order function replacement
    • Monkey patching
  • HTTP testing
    • Request emulation
    • Client tests
  • Benchmarking
  • Fuzz testing

Databases

  • Object-relational mappings: gorm or ent package
  • Model/query code generation from SQL:  sqlc package
  • Schema and migration management: atlas package

RESTful Services

  • Handling HTTP Requests
    • Routing: paths and handlers
    • Request parameter extraction
    • Serving files and embedded resources,
    • Request contexts and middlewares
  • Security
    • TLS Server
    • JSON Web Token Access Control
  • OpenAPI code generation
  • Serving Swagger UI

Tools

  • Project building support: mage
  • Static code analysis using golangci-lint
  • Profiling
Interested in training?
Contact us to get more information

Contact our expert

Your file

Uploaded file:
  • file_icon Created with Sketch.

Acceptable files: doc, docx, pdf. (max 5MB)
Please submit your file in DOC, DOCX or PDF format
The upload size is limited to 5 MB
File is empty
File was not uploaded

At any time, you may withdraw your consent to the processing of personal data, but such withdrawal shall not affect the legal compliance of any processing of such data, which had occurred before you withdrew your consent. Detailed information on the processing of your personal data is specified in the Privacy Policy.

Anna

Public trainings coordinator

Your message was sent successfully

We will look over your message and get back to you as soon as possible

Sorry, something went wrong and your message was not delivered

Refresh the page and try again. Contact us, if problem occurs again

We’re sorry, but the selected file appears to be damaged and we can't process it.

Please try uploading a different copy or a new version of the file. Contact us, if problem occurs again.

Processing…

Similar trainings

ITIL® and PRINCE2® are registered trademarks of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved. AgilePM® is a registered trademark of Agile Business Consortium Limited. All AgilePM® Courses are offered by Sii, an Affiliate of Eraneos Iberia S.L.U., an Accredited Training Organization of The APM Group Ltd. Lean IT® Association is a registered trademark of the Lean IT Association LLC. All rights reserved. Sii is an Affiliate of Accredited Training Organization Eraneos Iberia S.L.U. SIAM™ is a registered trademark of EXIN Holding B.V. All prices presented on the website are net prices. 23% VAT should be added.

Get in touch Find training

Änderungen im Gange

Wir aktualisieren unsere deutsche Website. Wenn Sie die Sprache wechseln, wird Ihnen die vorherige Version angezeigt.

Einige Inhalte sind nicht in deutscher Sprache verfügbar.
Sie werden auf die deutsche Homepage weitergeleitet.

Möchten Sie fortsetzen?