Formation Go

Notée : (8)

Découvrez Go / Golang, le langage moderne et performant créé par Google

Prix (Formation inter-entreprise)

1700€ HT / personne

Durée

3 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Simple, performant, minimaliste, favorisant la productivité... Le langage de programmation Go (aussi appelé Golang) ne manque pas d'atouts. Ce n'est donc pas étonnant qu'il soit le moteur de technologies telles que Docker et Kubernetes, et qu'il soit devenu, en dix courtes années, un langage incontournable pour le backend d'applications Web.

Cette formation Go est aussi disponible en anglais.

Les objectifs

  • Acquérir de bonnes bases en Go
  • Reconnaître les cas où Go est, ou non, adapté à vos besoins
  • Réalisation d'un mini-projet : app Web permettant de vérifier la validité et la disponibilité d'un nom d'utilisateur/utilisatrice sur plusieurs réseaux sociaux (Facebook, Twitter, Instagram, etc.)

Pré-requis

  • Une expérience d'au moins un an dans un autre langage de programmation (PHP, Python, Ruby, C++, Java, Haskell, etc.)
  • Des bases en anglais technique
  • Un ordinateur portable sur lequel est installé...
    • Go 1.11+
    • Git
  • Un compte (gratuit) GitHub, Bitbucket, Gitlab, ou équivalent

Le programme de la formation Go

Jour 1

  • Préambule
    • Go en deux mots
    • Un peu d'histoire
    • De bonnes raisons d'apprendre Go... maintenant !
  • Mise en pratique : Hello, World!
  • Eléments de syntaxe (1/2)
    • Variables
    • Types simples
    • Fonctions
    • Structures de contrôle (for, if)
    • Structs
    • Pointeurs
  • Mise en pratique
  • Eléments de syntaxe (2/2)
    • Tableaux
    • Slices
    • Maps
  • Mini-projet : vérification de la validité d'un nom d'utilisateur/utilisatrice sur plusieurs réseaux sociaux

Jour 2

  • Méchanismes de découplage
    • Méthodes
    • Interfaces
    • Composition
    • Paquets
    • Encapsulation
  • Mini-projet : réusinage du code
  • Tests unitaires
  • Mini-projet : écriture et exécution de tests unitaires
  • Gestion d'erreurs
    • Type error
    • Bonnes pratiques
  • Eléments de la bibliothèque standard utiles pour Web
    • net/url
    • net/http
    • encoding/json
  • Mini-projet : vérification de la disponibilité d'un nom d'utilisateur/utilisatrice sur plusieurs réseaux sociaux

Jour 3

  • Gestion de dépendances
  • Mini-projet : utilisation de modules
  • Concurrence (1/2)
    • Concurrence != parallélisme
    • Fonctions atomiques
    • Exclusions mutuelles
  • Concurrence (2/2)
    • Goroutines
    • Wait groups
    • Channels
    • Le mot-clé select
    • "Ne communiquez pas en partageant de la mémoire ; partagez la mémoire en communiquant !"
  • Mini-projet : ajout d'un pattern de type fan-out
  • Ressources d'apprentissage pour Go

Télécharger le programme

1 témoignage

Super formation en petit comité, ça permet d'avoir du temps pour des questions et avancer à son rythme

Romain BAILLY

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Intel
EADS
Société Générale
Boursorama
Axa
SAP

Nos formations en images

Sass et Compass
CasperJS
Ruby on Rails
Ruby

Formation Go

Notée : (8)

Découvrez Go / Golang, le langage moderne et performant créé par Google

Simple, performant, minimaliste, favorisant la productivité... Le langage de programmation Go (aussi appelé Golang) ne manque pas d'atouts. Ce n'est donc pas étonnant qu'il soit le moteur de technologies telles que Docker et Kubernetes, et qu'il soit devenu, en dix courtes années, un langage incontournable pour le backend d'applications Web.

Cette formation Go est aussi disponible en anglais.

Les objectifs

  • Acquérir de bonnes bases en Go
  • Reconnaître les cas où Go est, ou non, adapté à vos besoins
  • Réalisation d'un mini-projet : app Web permettant de vérifier la validité et la disponibilité d'un nom d'utilisateur/utilisatrice sur plusieurs réseaux sociaux (Facebook, Twitter, Instagram, etc.)

Pré-requis

  • Une expérience d'au moins un an dans un autre langage de programmation (PHP, Python, Ruby, C++, Java, Haskell, etc.)
  • Des bases en anglais technique
  • Un ordinateur portable sur lequel est installé...
    • Go 1.11+
    • Git
  • Un compte (gratuit) GitHub, Bitbucket, Gitlab, ou équivalent

Le programme de la formation Go

Jour 1

  • Préambule
    • Go en deux mots
    • Un peu d'histoire
    • De bonnes raisons d'apprendre Go... maintenant !
  • Mise en pratique : Hello, World!
  • Eléments de syntaxe (1/2)
    • Variables
    • Types simples
    • Fonctions
    • Structures de contrôle (for, if)
    • Structs
    • Pointeurs
  • Mise en pratique
  • Eléments de syntaxe (2/2)
    • Tableaux
    • Slices
    • Maps
  • Mini-projet : vérification de la validité d'un nom d'utilisateur/utilisatrice sur plusieurs réseaux sociaux

Jour 2

  • Méchanismes de découplage
    • Méthodes
    • Interfaces
    • Composition
    • Paquets
    • Encapsulation
  • Mini-projet : réusinage du code
  • Tests unitaires
  • Mini-projet : écriture et exécution de tests unitaires
  • Gestion d'erreurs
    • Type error
    • Bonnes pratiques
  • Eléments de la bibliothèque standard utiles pour Web
    • net/url
    • net/http
    • encoding/json
  • Mini-projet : vérification de la disponibilité d'un nom d'utilisateur/utilisatrice sur plusieurs réseaux sociaux

Jour 3

  • Gestion de dépendances
  • Mini-projet : utilisation de modules
  • Concurrence (1/2)
    • Concurrence != parallélisme
    • Fonctions atomiques
    • Exclusions mutuelles
  • Concurrence (2/2)
    • Goroutines
    • Wait groups
    • Channels
    • Le mot-clé select
    • "Ne communiquez pas en partageant de la mémoire ; partagez la mémoire en communiquant !"
  • Mini-projet : ajout d'un pattern de type fan-out
  • Ressources d'apprentissage pour Go

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien Cretel

Julien est développeur indépendant. Domain-driven design, programmation fonctionnelle, technologies serverless... Julien a plusieurs amours, mais Go tient une place particulière dans son coeur et est devenu son outil de choix pour le backend. Il donne des ateliers et des talks sur des sujets aussi divers que les tests de propriétés, Git, et Google Cloud Functions. Il a un blog principalement dédié à Go disponible sur https://medium.com/@jubobs.

Auparavant, il travaillait en tant qu'ingénieur informatique sur une architecture microservices chez Poppulo et, encore avant ça, il travaillait dans les énergies marines renouvelables et enseignait les maths appliquées à l'université de Cork, en Irlande.

Voir son profil détaillé

Suivi de formation en option

A l'issue de la formation, nos formateurs peuvent aussi intervenir pour vous accompagner dans la mise en application des compétences acquises :

  • en répondant à vos questions lors de rendez-vous téléphoniques réguliers
  • en étant présents physiquement à l'amorce du projet
  • en réalisant un audit de vos pratiques quelques semaines/mois après la formation

Cette idée vous intéresse ? Faîtes-le nous savoir pour que nous trouvions la formule adaptée à votre situation.

1 témoignage

Super formation en petit comité, ça permet d'avoir du temps pour des questions et avancer à son rythme

Romain BAILLY