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