Formation Go Avancé

Approfondissez vos connaissances avec le langage Go : apprenez à bien tester votre code, à améliorer les performances et sécuriser vos applications lors de cette formation Go Avancé.

Prix (Formation inter-entreprise)

1800€ 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...)

Go séduit de plus en plus de monde par sa simplicité, ses fonctionnalités de concurrence natives, sa polyvalence, sa stabilité, sa performance, etc. Il serait dommage de ne pas tirer parti de tout ce que le langage et son écosystème a à offrir !

Cette formation Go Avancé s'adresse à toute personne, développeur·se, chercheur·e, ingénieur·e... souhaitant approfondir son utilisation du langage Go.

Durant ces trois jours de formation, vous apprendrez des techniques visant à améliorer votre code en terme d'exactitude, de maintenabilité, de testabilité, de performance et de sécurité.

Cette formation sera entrecoupée de travaux pratiques concrets visant à assimiler chaque nouvelle notion rencontrée.

À l'issue de cette formation Go Avancé, vous repartirez avec le code source du projet développé lors de ces trois jours, ainsi que la solution du formateur (sur GitHub)

Si vous débutez avec le langage de programmation Go ou souhaitez revoir les bases, jetez un oeil à la formation Go !

Covid-19 : Nous nous adaptons dans ces moments difficiles. Nous avons mis en place des outils permettant l'organisation de formations à distance.

Les objectifs

  • Approfondir ses connaissances du langage Go et de son écosystème
  • Assimiler les bonnes pratiques de qualité logicielle en Go
  • Maitriser les patterns de concurrence utiles

Pré-requis

  • Une bonne connaissance des fondamentaux du langage Go et de son écosystème
  • Une expérience d'au moins six mois avec Go
  • Des bases en anglais technique
  • Un ordinateur portable sur lequel est installé...
    • Go 1.16
    • Git
    • votre IDE ou éditeur de texte préféré (VS Code est recommandé)- Ordinateur portable à apporter

Le programme de la formation Go Avancé

Jour 1 : Maintenabilité et exactitude

  • Utilisation judicieuse des interfaces
  • Injection de dépendances
  • Organisation de packages
  • Gestion d'erreurs avancée (enrobage, etc.)
  • Encapsulation avec types opaques et packages internes
  • Patterns utiles pour rendre son code testable et facile à maintenir
  • Mocking et stubbing
  • Les secrets du système de modules
  • Domain-Driven Design en Go
  • Un aperçu des génériques

Mise en pratique :

  • multiples exercices consistant à analyser et ré-usiner du code existant
  • implémentation d'une structure de données utilisant les génériques

Jour 2 : Concurrence et performance

  • Subtilités du modèle mémoire de Go
  • Orchestration et synchronisation
  • Patterns de concurrence avancés
    • context
    • sémaphores
    • pipelines
    • acteurs
    • etc.
  • Micro-benchmarks
  • Profilage de code (pprof, etc.)
  • Détection de situations de compétition (race conditions)
  • Optimisation des struct
  • Minimisation de la taille des exécutables
  • Escape analysis

Mise en pratique :

  • Simulation d'un café pour apprendre les patterns de concurrence
  • Profilage puis ré-usinage du code pour en améliorer la performance

Jour 3 : Sécurité

  • Ecueils courants en backend Web
    • content-type sniffing
    • mass assignment
    • request smuggling
    • server-side template injection
    • situations de compétition
    • etc.
  • Recommandations pour le CI/CD
  • Bien configurer son serveur
  • Analyse statique de code
  • Fuzzing
  • Discussion ouverte

Mise en pratique :

  • Analyse manuelle et automatisée de code contenant des bugs de sécurité
  • Résolution des bugs en question

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien est développeur et chercheur en sécurité indépendant. Go, sécurité Web, bug bounty hunting, 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 a un blog principalement dédié à Go et la sécurité informatique disponible sur https://jub0bs.com.

Voir son profil détaillé

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

SAP
Axa
Intel
Voyage SNCF
Moody's Analytics
Air France

Nos formations en images

Angular
Ruby
CasperJS
DevOps avec Chef

Formation Go Avancé

Approfondissez vos connaissances avec le langage Go : apprenez à bien tester votre code, à améliorer les performances et sécuriser vos applications lors de cette formation Go Avancé.

Go séduit de plus en plus de monde par sa simplicité, ses fonctionnalités de concurrence natives, sa polyvalence, sa stabilité, sa performance, etc. Il serait dommage de ne pas tirer parti de tout ce que le langage et son écosystème a à offrir !

Cette formation Go Avancé s'adresse à toute personne, développeur·se, chercheur·e, ingénieur·e... souhaitant approfondir son utilisation du langage Go.

Durant ces trois jours de formation, vous apprendrez des techniques visant à améliorer votre code en terme d'exactitude, de maintenabilité, de testabilité, de performance et de sécurité.

Cette formation sera entrecoupée de travaux pratiques concrets visant à assimiler chaque nouvelle notion rencontrée.

À l'issue de cette formation Go Avancé, vous repartirez avec le code source du projet développé lors de ces trois jours, ainsi que la solution du formateur (sur GitHub)

Si vous débutez avec le langage de programmation Go ou souhaitez revoir les bases, jetez un oeil à la formation Go !

Les objectifs

  • Approfondir ses connaissances du langage Go et de son écosystème
  • Assimiler les bonnes pratiques de qualité logicielle en Go
  • Maitriser les patterns de concurrence utiles

Pré-requis

  • Une bonne connaissance des fondamentaux du langage Go et de son écosystème
  • Une expérience d'au moins six mois avec Go
  • Des bases en anglais technique
  • Un ordinateur portable sur lequel est installé...
    • Go 1.16
    • Git
    • votre IDE ou éditeur de texte préféré (VS Code est recommandé)- Ordinateur portable à apporter

Le programme de la formation Go Avancé

Jour 1 : Maintenabilité et exactitude

  • Utilisation judicieuse des interfaces
  • Injection de dépendances
  • Organisation de packages
  • Gestion d'erreurs avancée (enrobage, etc.)
  • Encapsulation avec types opaques et packages internes
  • Patterns utiles pour rendre son code testable et facile à maintenir
  • Mocking et stubbing
  • Les secrets du système de modules
  • Domain-Driven Design en Go
  • Un aperçu des génériques

Mise en pratique :

  • multiples exercices consistant à analyser et ré-usiner du code existant
  • implémentation d'une structure de données utilisant les génériques

Jour 2 : Concurrence et performance

  • Subtilités du modèle mémoire de Go
  • Orchestration et synchronisation
  • Patterns de concurrence avancés
    • context
    • sémaphores
    • pipelines
    • acteurs
    • etc.
  • Micro-benchmarks
  • Profilage de code (pprof, etc.)
  • Détection de situations de compétition (race conditions)
  • Optimisation des struct
  • Minimisation de la taille des exécutables
  • Escape analysis

Mise en pratique :

  • Simulation d'un café pour apprendre les patterns de concurrence
  • Profilage puis ré-usinage du code pour en améliorer la performance

Jour 3 : Sécurité

  • Ecueils courants en backend Web
    • content-type sniffing
    • mass assignment
    • request smuggling
    • server-side template injection
    • situations de compétition
    • etc.
  • Recommandations pour le CI/CD
  • Bien configurer son serveur
  • Analyse statique de code
  • Fuzzing
  • Discussion ouverte

Mise en pratique :

  • Analyse manuelle et automatisée de code contenant des bugs de sécurité
  • Résolution des bugs en question

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien est développeur et chercheur en sécurité indépendant. Go, sécurité Web, bug bounty hunting, 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 a un blog principalement dédié à Go et la sécurité informatique disponible sur https://jub0bs.com.

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.

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012