Formation Le Langage Go


REFERENCE
 
 
DLGO
DUREE
 
 
5 jours
TARIFS
 
 
2500 € HT
Niveau : Débutant
Cours à distance: Non
Eligible CPF: oui
OBJECTIFS :
 

Cette formation de quatre jours s’adressant à tous types de développeurs a pour but la prise en main du langage Go.

Dans un premier temps, les participants découvriront les avantages et les cas d'usage de Go. Puis ils entreront dans le vif du sujet avec la création d’un premier programme permettant d'expérimenter le mode de conception particulier à Go. Cet atelier leur permettra aussi de comprendre la conception par contract. Enfin, les participants aborderont des sujets qu'ils rencontrent au quotidien tels que la connexion à une base de données et l'écriture d'API. Cette section d'exercices leur permettra de voir comment se documenter et où aller chercher des informations en cas de problème. Ils verront également comment sélectionner, utiliser et vendoriser un package (librairie).
À la fin de ce stage les participants seront en mesure de créer leurs propres programmes Go pour un environnement en production.

Concrètement à l'issue de cette formation, les participants auront acquis les connaissances et compétences nécessaires pour :

  • Choisir les bonnes signatures de méthodes et créer leurs propres structures
  • Créer des interfaces et les exposer à l'extérieur de leur paquet
  • Réaliser des tests unitaires et des tests de charge et générer des documents de couverture de code
  • Utiliser la concurrence et le parallélisme qu'offre Go
  • Concevoir des architectures projets.
PRÉ-REQUIS :
 

Avoir l’expérience d’au moins un langage de programmation est essentiel pour suivre ce stage dans de bonnes conditions.

PUBLIC :
 

Tout développeur (système, web, jeux, robotique…) est concerné par cette formation sur le langage Go.

PROGRAMME :
 

Les Concepts de base 

Introduction

Historique sur les origines de Go
Présentation des 25 mots clés de Go

Travaux Pratiques : 

Utilisation des mots clés : installation de Go, écriture d'un petit programme, compilation

Les types de collections 

Les tableaux
Les slices
Les maps

Travaux Pratiques : 

Utilisation des tableaux

Les types et les structures 

Création d’alias de type
Création de structure de type
Travailler avec des constantes

Travaux Pratiques : 

Création de structure

Les fonctions et les méthodes 

Les paramètres de fonction
Création de méthodes sur une structure
Les choix entre valeur par pointeur ou par copie

Travaux Pratiques : 

Création de méthodes sur les structures

Les interfaces 

Implémenter une interface existante
Créer sa propre interface
Composition d’interface

Travaux Pratiques : 

Création d'interfaces

Créer son package et l'utiliser avec de la concurrence

“APIser” un package 

Exposition de structures et d’interfaces
Documentation du code source

Travaux Pratiques : 

APIser son package

Les tests unitaires 

Création d’un jeu de tests unitaires
Couverture du code et génération de documents
Création de benchmarks

Travaux Pratiques : 

Création et génération de tests
Génération de documents

La concurrence 

À quoi sert la concurrence
Parallélisme vs Concurrence

Travaux Pratiques : 

Utilisation du paquet avec de la concurrence

Utilisation de WaitGroupes et mutexes
Les fonctions atomiques
Création de canaux

Travaux Pratiques : 

Mise en place de la concurrence sur le projet

Design patterns de la concurrence  

Les sémaphores
Les workers
Pub/Sub

Travaux Pratiques : 

Réalisation d'un worker

Créer son API web

Création d’un serveur 

Installation de Gin
Création de routes
Génération d’un webservice

Travaux Pratiques : 

Créer un server et le lancer

Templates HTML 

La composabilité
Les variables
Les logiques

Travaux Pratiques : 

Générer son template HTML

Connexion avec Postgres 

L’ORM existe-t-il en Go ?
État de l’art sur les libs
Création d’un CRUD

Travaux Pratiques : 

Utilisation de Gorm

Appel avec ReactJS 

Installation d’un client React
Appel d’un webservice
Affichage client

Travaux Pratiques : 

Installation d'un module React

Création de microservices 

L’ère du post-monolithique
Création de Dockerfiles
Création de Dockercompose
Présentation de JWT
Présentation de Kubernetes

Travaux Pratiques : 

Installation et Utilisation de Docker, refactoring du projet

Optimiser son application

La mémoire dans Go 

Fonctionnement du GC
Utilisation du package unsafe

Travaux Pratique : 

Réalisation une opération sur pointeur avec unsafe

Considérations idiomatiques 

Convention de nomage
Utilisation de Vet

Travaux Pratiques : 

Tests vet sur son package, refactoring et documentation 

Debug 

Installation de Delve dans Atome
Utilisation de Delve

Travaux Pratiques : 

Installation et test de Delve

Profilage et optimisation 

Création de benchmarks
Profiling avec Pprof

Travaux Pratiques : 

Profilage de son application

Libération du GC 

Présentation d'un Pool

Travaux Pratiques : 

Utilisation d'un Pool

S'INSCRIRE À CETTE
FORMATION LANGAGE GO
Cliquez sur une date pour vous inscrire
Information pratiques sur
LA FORMATION
Lieu de la formation Paris - LA DEFENSE
Nous contacter 01 43 34 90 94
CETTE FORMATION SUR-MESURE Ce cours est réalisable en intra-entreprise, dans vos locaux ou nos salles de cours CONTACTER NOTRE SERVICE INTRA
D'autres formations
SUR LE MÊME THÈME

4 j

 

Développement

Ruby On Rails
Cette formation Ruby On Rails a pour objectif principal de permettre la prise en main du langage Ruby et surtout du framework Ruby On Rails (basé sur le modèle MVC). Le framework...

4 j

 

Développement

Python
Cette formation Python vous permettra d'acquérir les connaissances nécessaires à la programmation avec le langage Python. Quatre jours pour acquérir les bases du...

4 j

 
Cette formation sur l’analyse de données en Python permet aux participants dans un premier temps de découvrir et apprendre le langage Python puis de comprendre pourquoi Python...

3 j

 
Cette formation Python vous permettra de maîtriser les fonctionnalités comme la gestion des graphiques, des bases de données, les liens avec les langages C et Java, le...
Plus de formations sur le même thème

Des questions ?

ON VOUS RAPPELLE

 

0

Formations
Informatique
et Management
en ligne à ce jour

+ 0

Stagiaires dans nos
salles de cours sur
l'année

0%

De participants
satisfaits ou très
satisfaits de nos
formations

0

Formateurs experts
validés PLB