Ambient IT

Go

Par Ambient IT

Objectifs

  • Développer une application en Go en respectant les idiomes et les nomenclatures
  • Maîtriser les concepts de concurrence et de programmation parallèle
  • Structurer, tester et debugger vos applications microservices

Programme

Introduction à Go

  • Présentation et historique de Go
  • Les forces (et faiblesses) du langage
  • Mémoire et Garbage Collector
  • Concurrence et scalabilité
  • Gestion d’erreurs
  • Vitesse d’apprentissage et d’écriture de code
  • Vitesse de compilation et d’exécution
  • Installation et configuration de l’environnement
  • Les outils Go (formatage, compilation, etc…)
    • go fmt
    • go build
    • go test
    • go get
    • go mod
    • et les autres…
  • Les bases
    • Syntaxe et sens de lecture
    • Types de base
    • Les variables (et leur affectation)
    • Les constantes
    • Packages et imports
    • Les pointeurs
    • Les collections (arrays, slices, maps)
    • Les fonctions (définition, retours et accessibilité)
    • Les boucles et branchements conditionnels

Programmation avancée

  • Les types complexes
    • Les structures
    • La composition
    • Les fonctions
    • Assertion et conversion de type
    • Les interfaces et le polymorphisme
    • Les erreurs
  • Stockage et formats d’échange
    • Lecture et écriture sur disque
    • Accès et utilisation d’une base de données (PostgreSQL)
    • Les ORM en Go.
    • Encodage / décodage des XML
    • Encodage / décodage des JSON
  • La concurrence
    • A quoi sert la concurrence ?
    • Parallélisme et concurrence
    • Les fonctions atomiques
    • Les go routines
    • Les mutex
    • Les channels
    • Les autres outils de synchronisation
  • Les tests
    • Création d’un test unitaire
    • Lancer ses tests unitaires
    • La couverture de code
    • La détection de code malformé
    • La détection de race conditions

Serveur HTTP et API REST (microservices)

  • Serveur HTTP
    • Création d’un serveur HTTP en Go
    • Premier handler (net/http) pour les appels au serveur
    • Gestion d’erreurs et codes retour HTTP
    • Les différents mux
  • Introduction à REST et création d’une API
    • Premier service API Rest
    • Gestion du mapping des objets en JSON
    • Ajout de services à l’API Rest
    • Documentation de l’API : Swagger
  • Testing
    • Tester les endpoints de l’API
    • Benchmarker la performance de l’API

Module Complémentaire (1 jour) – Créer son API web

  • Création d’un serveur
  • Installation de Gin
  • Création de routes
  • Génération d’un webservices CRUD
  • Template HTML
  • La composabilité
  • Les variables et les logiques
  • Connexion à Postgres
  • L’ORM existe-t-il en Go ?
  • Création d’un
  • Appel avec ReactJS et installation d’un client React
  • Appel d’un webservices
  • Affichage client
  • Création de microservices
  • Création de Dockerfiles et Dockercompose

Formations de la même catégories (5)

Retengr
Kotlin pour les développeurs objetsPar Retengr

L’annonce par Google de l’adoption de Kotlin pour les développements Android a fait grand bruit. Ce langage plein de promesses, se retrouve depuis propulsé sur le devant de la scène et séduit nombre de développeurs grâce aux évolutions qu’il propose par rapport aux langages de programmation classiques.

Depuis 2008, la plateforme au robot vert de Google a su évoluer et intégrer, année après année, nouveautés et évolutions du SDK pour pouvoir répondre aux besoins toujours grandissants autour de nos smartphones, tablettes et autres accessoires connectés. Ce workshop est destiné à mettre les participants en situation totale ; ils développeront rapidement une application mobile, en reprenant les standards et les bases fondamentales du développement Android d’aujourd’hui.

M2i Formation
Prometheus - SupervisionPar M2i Formation
  • Reconnaître les fonctionnalités de Prometheus
  • Le mettre en oeuvre pour une supervision de services dynamiques.
XXL Formation
Algorithmique et programmation structuréePar XXL Formation

Comprendre l’algorithmique pour tout débutant en programmationCette formation est primordiale pour bien programmer, quel que soit le langage de développement choisi et les outils papier ou bureautique adoptés

Zenika
GraphQLPar Zenika

GraphQL est un projet open-source développé par Facebook et disponible en open-source depuis 2015, après que Facebook l'a utilisé en production pendant quelques années.

Grâce à cette solution, vous mettrez à disposition des APIs robustes et performantes. Avec cette nouvelle syntaxe, les utilisateurs de vos APIs pourront optimiser l'expérience de leurs utilisateurs, en fournissant la donnée demandée (et uniquement la donnée demandée).

Durant cette formation, après avoir abordé cette syntaxe, nous allons intégrer GraphQL dans une infrastructure existante, à la fois côté serveur et côté client.

Formation animée en présentiel

La formation en présentiel se déroule sur des jours consécutifs

Formation disponible en mode "formation à distance"

La formation à distance peut se dérouler sur des jours consécutifs ou se décomposer en demies journées

Zenika
KotlinPar Zenika

Kotlin est le langage de programmation créé par JetBrains en 2011. Il a la particularité de pouvoir être compilé pour la JVM, transpilé vers du JavaScript et même plus avec le compilateur LLVM. L'objectif du langage est d'être compatible avec l'existant, de permettre l'utilisation simple des paradigmes de la programmation fonctionnelle, de simplifier l'écriture du code et libérer les développeurs des erreurs les plus communes.

Kotlin gagne en popularité depuis la sortie officielle de sa version 1.0. Petit a petit, il devient la référence a la fois dans le monde du mobile (Android), du backend (Spring) et des outils (Gradle).

Dans cette formation nous allons introduire les concepts clé du langage qui vous permettront de développer votre prochain projet Java, JavaScript ou Android en Kotlin.

Formation animée en présentiel

La formation en présentiel se déroule sur des jours consécutifs

Formation disponible en mode "formation à distance"

La formation à distance peut se dérouler sur des jours consécutifs ou se décomposer en demies journées