Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?
Rappel Email
Performance, Mémoire & Multi-threading au service de vos applications
C++ est un langage de programmation polyvalent et performant, idéal pour le développement de systèmes, d'applications haute performance et de jeux vidéo, grâce à son support de la POO, de la programmation générique et des opérations bas niveau.
Cette formation en C++ avancé s'adresse aux développeurs et développeuses ayant déjà une expérience en C++, et souhaitant approfondir leurs connaissances avec les normes modernes. Elle est particulièrement pertinente pour les professionnel·le·s travaillant dans les domaines des systèmes embarqués, de la programmation de jeux, ou du développement logiciel à haute performance.
Au cours de cet apprentissage avancé en C++, vous explorerez les dernières évolutions du langage, notamment les nouveautés introduites par C++17 et C++20. Vous acquerrez une compréhension approfondie des concepts essentiels tels que Move/Ref/Value Semantics et Templates. Vous vous aventurerez également dans le domaine complexe du multi-threading en C++, en utilisant la puissante bibliothèque Boost pour gérer les processus asynchrones et les opérations concurrentes.
Grâce à un mini projet autour d’un Client/Server TCP/IP, vous apprendrez à optimiser votre serveur afin de répondre à des tests de charges ainsi qu’à utiliser plus d'un coeur de cpu.
Profitez de l'expérience et des compétences de Guillaume Métais, un formateur expérimenté en C++. En adoptant une approche pédagogique claire et pragmatique, Guillaume vous guidera à travers des concepts complexes.
Mises en pratique : Optimisation semantics & templates
- Faire fonctionner le projet de base
- Optimiser le code existant avec les nouvelles Semantics
- Optimiser les fonctions existantes avec une mise en place de Template
- Ajouter des Concepts aux Templates
- Implémenter une architecture serveur capable d'exécuter des commandes avec les nouvelles Semantics
Mises en pratique : Multithreading
- Implémenter un client simple capable d'envoyer une commande au serveur en appliquant les semantics modernes
- Passer le client en asynchrone pour envoyer un message au serveur en même temps que de recevoir des informations du serveur
- Ajouter une commande pour demander au serveur d'exécuter une opération gourmande en cpu. Constater l'effet sur le cpu
- Surcharger le serveur de demande avec un outil de test de charge. Constater l'effet sur le cpu
- Ajouter la gestion du multithreading sur le serveur
Mises en pratique : Gestion des erreurs & ressources
- Révision & ajustement du projet
- Surcharger le serveur en multithread avec un outil de test de charge. Constater l'effet sur le cpu
- Implémenter un accès à une ressource commune sans conflit d'accès
- Implémenter une gestion des exceptions dans thread
Guillaume est un développeur passionné avec plus de 15 ans d'expérience. Son parcours a débuté avec l'apprentissage du C et du C++ grâce aux cours de Mathieu Nebra sur le "Site du Zéro".
Depuis son entrée dans le monde professionnel en 2012, il a consacré 7 ans au C++ en utilisant le Framework Qt. Au cours de cette période, Guillaume a géré une multitude de projets, allant de la manipulation de bases de données à la programmation réseau TCP/IP et au multi-threading. Il a ensuite évolué vers les technologies web back-end, en particulier NodeJs et Express.
En 2020 Guillaume devient Directeur Technique chez Collectif Energie. Cette entrée dans le monde de l'énergie l'emmène vers de nouveaux challenges dans lesquels il s'épanouit.
Guillaume est motivé par le désir de continuer à apprendre, de comprendre comment les autres relèvent leurs défis. Il souhaite partager sa passion, ses expériences et son enthousiasme pour la programmation et la construction de projets.
Guillaume a formé des développeur·euse·s et des product owner, fourni des méthodes, organisé des ateliers sur l'agilité et l'organisation basée sur les rôles. Il apporte aussi son soutien dans la stratégie d'entreprise, les business plan, les budgets prévisionnels, la gestion d'équipe et autres sujets de startup.
Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012