Chiffrement AES en Go : CBC et GCM illustrés

Le package crypto/aes de Go implémente l’algorithme symétrique AES. Il est couramment couplé à crypto/cipher pour gérer les modes d’opération. Les longueurs de clé acceptées sont 16, 24 ou 32 octets, correspondant respectivement à AES-128, AES-192 et AES-256. Clé secrète secret := []byte("une-clé-256-bits-32-octets-longue!") Mode CB ...

Publié le 8 août à 14h28

Gestion des Délais d'Attente pour les Requêtes gRPC en Go

Dans les architectures de microservices modernes, la gestion des délais d'attente (timeouts) est fondamentale pour garantir la robustesse et la réactivité des systèmes distribués. Sans délais d'attente appropriés, une requête bloquée ou un service lent peut consommer des ressources précieuses indéfiniment, entraînant des latences accrues pour d ...

Publié le 5 août à 21h44

Comparaison de fichiers JSON volumineux : Optimisation des performances avec Python et Go

La comparaison de structures JSON complexes est une tâche courante, mais elle devient problématique lorsque les fichiers atteignent des volumes importants (plusieurs centaines de milliers de lignes). Si des outils standards ou des bibliothèques tierces existent, leur consommation de ressources et leur temps d'exécution peuvent s'avérer prohibit ...

Publié le 3 août à 04h23

Philosophie minimaliste de Go : pourquoi la simplicité crée de la robustesse

Pour un développeur passant de Python ou Java à Go, la première réaction face à ce langage est souvent : "C'est vraiment trop basique, n'est-ce pas ?" À une époque où les langages de programmation modernes rivalisent d'ajouts de 'sucre syntaxique', de génériques, d'expressions Lambda et d'annotations, Go se présente comme un rebelle. ...

Publié le 28 juillet à 03h52

Utiliser Go pour Manipuler des Fichiers Word

Pour la manipulation de documents Word en Go, plusieurs bibliothèques existent. Parmi elles, deux se distinguent : github.com/unidoc/unioffice et sa version communautaire github.com/carmel/gooxml. github.com/unidoc/unioffice (Commercial) Cette bibliothèque offre une gamme complète de fonctionnalités pour interagir avec les documents Word. Elle ...

Publié le 27 juillet à 17h20

Architecture des projets Go : Optimiser la structure avec le Standard Project Layout

L'organisation d'un projet est cruciale pour sa maintenabilité, sa scalabilité et la collaboration au sein d'une équipe, surtout dans le monde Go. Le Standard Go Project Layout, bien que n'étant pas une spécification officielle du langage Go, est une convention de facto largement adoptée par la communauté. Elle propose une structure de répertoi ...

Publié le 25 juillet à 02h53

Sécurisation des données avec le chiffrement AES en Go

Le standard AES (Advanced Encryption Standard) est l'un des algorithmes de chiffrement symétrique les plus robustes et les plus utilisés pour protéger les infromations sensibles. Dans l'écosystème Go, les paquets standards crypto/aes et crypto/cipher fournissent les primitives nécessaires pour implémenter différentes méthodes de chiffrement. Co ...

Publié le 24 juillet à 23h21

Entrée Console et Manipulation de Nombres Aléatoires en Go

Génération de Nombres Aléatoires avec le Package rand Dans Go, le package math/rand permet de générer des nombres pseudo-aléatoires. L'utilisation basique implique la fonction Intn pour obtenir un entier dans un intervalle spécifié. Sans initialisation du générateur, les séquences peuvent se répéter. package main import ( "fmt" ...

Publié le 21 juillet à 08h10

Optimisation de la Concaténation de Chaînes en Go

En Go, une chaîne de caractères est fondamentalement un tableau de byte immuable. Cela signifie que toute opération modifiant une chaîne, comme l'ajout ou la découpe, ne modifie pas la zone mémoire originale. À la place, elle crée une nouvelle chaîne en copiant les données nécessaires. Déclaration de chaînes Go propose deux syntaxes principales ...

Publié le 20 juillet à 21h06

Implémentation d'une file d'attente avec deux piles en Go

Problématique 232. Implémenter une file d'attente avec des piles Utilisez deux piles pour implémenter une file d'attente de premier entré, premier sorti (FIFO). Votre file d'attente doit prendre en charge toutes les opérations standard (ajouter, retirer, consulter, vérifier si vide) : Implémentez la classe FileAttente : void ajouter(int x) : a ...

Publié le 18 juillet à 09h15