Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?
Rappel Email
Découvrez la programmation concurrente en Go pour des applications plus rapides et réactives !
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
La programmation concurrente, ou l'art de composer un programme de manière à délinéer les tâches indépendantes, est l'une des forces du langage Go. Cependant, la tentation de nombre de développeur·se·s débutant·e·s en Go est de se lancer éperdument dans la programmation concurrente sans en maîtriser les fondamentaux, au risque de l'utiliser à mauvais escient.
Lors de cette formation ludique, vous apprendrez à dompter la programmation concurrente en Go. Une série de métaphores tournant autour du thème de la cuisine vous aideront à appréhender certains concepts difficiles de prime abord. A l'issue de la formation, les goroutines, les canaux (channels), et l'instruction select
n'auront désormais plus de secrets pour vous.
Cette formation s'adresse à tous·tes développeur·se·s maîtrisant les bases du langage Go et qui n'ont pas (ou peu) été exposé·e·s à la programmation concurrente en Go. Si toutefois vous démarrez en Go, notre formation Go adressée aux débutant·e·s est faite pour vous.
Au fil de l'amélioration d'un projet pré-existant, un petit utilitaire permettant de vérifier la validité et la disponibilité d'un nom sur plusieurs réseaux sociaux (GitHub, Reddit, etc.), vous serez acteur·rice·s de la formation. Vous lancerez vos propres goroutines afin d'effectuer de manière concurrente des traitements initialement séquentiels ; vous communiquerez les résultats de certaines goroutines à d'autres grâce à des canaux ; vous apprendrez pourquoi et comment rendre vos goroutines annulables ; enfin, vous comprendrez comment sérialiser l'accès à de la mémoire partagée via une exclusion mutuelle (mutex).
Toutes nos formations étant limitées à 6 participant·e·s par session, vous aurez un contact privilégié avec votre formateur, Julien Cretel, Gopher passionné et pédagogue, enthousiaste de partager ses expériences professionnelles lors des moments informels de cette formation.
Envie de passer au niveau supérieur ?
Jetez un œil à la formation Go Avancé, également animée par Julien Cretel. Vous y apprendrez des bonnes pratiques de conception de bibliothèques, des patrons (patterns) de concurrence à la puissance insoupçonnée, ainsi que le profilage et l'optimisation de performance de vos applications Go.
namecheck
: un outil en ligne de commande permettant de vérifier la validité et la disponibilité d'un nom sur plusieurs réseaux sociaux (GitHub, Reddit, etc.)Mise en pratique : Utilisation de l'outil à la ligne de commande
select
Mise en pratique : Identification, dans le programme namecheck
, de traitements séquentiels qui bénéficieraient d'une ré-écriture traitements concurrents
go
main
n'attend pas la fin des autres goroutines.-race
)Mise en pratique : Vérification concurrente de la validité et disponibilité d'un nom sur de multiples réseaux sociaux
make
for-range
Mise en pratique :
- Analyse et résolution d'un d'interblocage
- Analyse et résolution d'une fuite de goroutines
- Communication de résultats entre goroutines à l'aide d'un canal dans le but d'agréger ces résultats
Mise en pratique : Transformation de l'outil de ligne de commande de départ en une API HTTP
select
: syntaxe et sémantiqueselect
au sein d'une bouclecontext
Mises en pratique :
- Utilisation d'une instruction select et de deux canaux distincts, l'un dédié aux résultats et l'autre aux erreurs
- Analyse et résolution d'une fuite de goroutines
sync.Mutex
Mise en pratique : Utilisation d'une exclusion mutuelle pour la mise à jour d'une variable globale d'état
Julien est à la fois développeur, chercheur en sécurité Web et formateur.
Son langage de prédilection est le Go, sujet sur lequel il a formé des centaines de professionnel·le·s depuis 2019. Il lui arrive aussi d'intervenir sur Go à l'occasion de conférences spécialisées, telles que GopherCon 2023 Europe.
Julien est actif dans le domaine de la sécurité Web. En marge des tests de sécurité (tests d'intrusion, évaluation de vulnérabilité, audit de codes, etc.) que ses clients lui confient et de ses activités de recherche indépendante, Julien forme régulièrement des professionnel·le·s sur la sécurité Web. Il s'adonne aussi, de temps à autre, à la chasse au bogues de sécurité (bug bounty hunting).
Julien partage ses réflexions et sa recherche sur son blog, qui est, sans surprises, principalement dédié au langage Go et à la sécurité Web.
Human Coders c'est un centre de formation pour développeurs avec :
Découvrez la programmation concurrente en Go pour des applications plus rapides et réactives !
La programmation concurrente, ou l'art de composer un programme de manière à délinéer les tâches indépendantes, est l'une des forces du langage Go. Cependant, la tentation de nombre de développeur·se·s débutant·e·s en Go est de se lancer éperdument dans la programmation concurrente sans en maîtriser les fondamentaux, au risque de l'utiliser à mauvais escient.
Lors de cette formation ludique, vous apprendrez à dompter la programmation concurrente en Go. Une série de métaphores tournant autour du thème de la cuisine vous aideront à appréhender certains concepts difficiles de prime abord. A l'issue de la formation, les goroutines, les canaux (channels), et l'instruction select
n'auront désormais plus de secrets pour vous.
Cette formation s'adresse à tous·tes développeur·se·s maîtrisant les bases du langage Go et qui n'ont pas (ou peu) été exposé·e·s à la programmation concurrente en Go. Si toutefois vous démarrez en Go, notre formation Go adressée aux débutant·e·s est faite pour vous.
Au fil de l'amélioration d'un projet pré-existant, un petit utilitaire permettant de vérifier la validité et la disponibilité d'un nom sur plusieurs réseaux sociaux (GitHub, Reddit, etc.), vous serez acteur·rice·s de la formation. Vous lancerez vos propres goroutines afin d'effectuer de manière concurrente des traitements initialement séquentiels ; vous communiquerez les résultats de certaines goroutines à d'autres grâce à des canaux ; vous apprendrez pourquoi et comment rendre vos goroutines annulables ; enfin, vous comprendrez comment sérialiser l'accès à de la mémoire partagée via une exclusion mutuelle (mutex).
Toutes nos formations étant limitées à 6 participant·e·s par session, vous aurez un contact privilégié avec votre formateur, Julien Cretel, Gopher passionné et pédagogue, enthousiaste de partager ses expériences professionnelles lors des moments informels de cette formation.
Envie de passer au niveau supérieur ?
Jetez un œil à la formation Go Avancé, également animée par Julien Cretel. Vous y apprendrez des bonnes pratiques de conception de bibliothèques, des patrons (patterns) de concurrence à la puissance insoupçonnée, ainsi que le profilage et l'optimisation de performance de vos applications Go.
namecheck
: un outil en ligne de commande permettant de vérifier la validité et la disponibilité d'un nom sur plusieurs réseaux sociaux (GitHub, Reddit, etc.)Mise en pratique : Utilisation de l'outil à la ligne de commande
select
Mise en pratique : Identification, dans le programme namecheck
, de traitements séquentiels qui bénéficieraient d'une ré-écriture traitements concurrents
go
main
n'attend pas la fin des autres goroutines.-race
)Mise en pratique : Vérification concurrente de la validité et disponibilité d'un nom sur de multiples réseaux sociaux
make
for-range
Mise en pratique :
- Analyse et résolution d'un d'interblocage
- Analyse et résolution d'une fuite de goroutines
- Communication de résultats entre goroutines à l'aide d'un canal dans le but d'agréger ces résultats
Mise en pratique : Transformation de l'outil de ligne de commande de départ en une API HTTP
select
: syntaxe et sémantiqueselect
au sein d'une bouclecontext
Mises en pratique :
- Utilisation d'une instruction select et de deux canaux distincts, l'un dédié aux résultats et l'autre aux erreurs
- Analyse et résolution d'une fuite de goroutines
sync.Mutex
Mise en pratique : Utilisation d'une exclusion mutuelle pour la mise à jour d'une variable globale d'état
Julien est à la fois développeur, chercheur en sécurité Web et formateur.
Son langage de prédilection est le Go, sujet sur lequel il a formé des centaines de professionnel·le·s depuis 2019. Il lui arrive aussi d'intervenir sur Go à l'occasion de conférences spécialisées, telles que GopherCon 2023 Europe.
Julien est actif dans le domaine de la sécurité Web. En marge des tests de sécurité (tests d'intrusion, évaluation de vulnérabilité, audit de codes, etc.) que ses clients lui confient et de ses activités de recherche indépendante, Julien forme régulièrement des professionnel·le·s sur la sécurité Web. Il s'adonne aussi, de temps à autre, à la chasse au bogues de sécurité (bug bounty hunting).
Julien partage ses réflexions et sa recherche sur son blog, qui est, sans surprises, principalement dédié au langage Go et à la sécurité Web.
Human Coders c'est un centre de formation pour développeurs avec :
* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012