Tous les articles
-
GOAP : rechercher une séquence d'actions, puis valider son exécution
Représenter explicitement les buts et les actions, séparer les effets hypothétiques du monde réel, et replanifier lorsqu'une séquence valide devient impossible.
-
Outils de configuration réseau comparés : nmcli, netplan, systemd-networkd et leurs équivalents Windows et macOS
Lire la configuration réseau actuelle, définir une adresse statique et configurer les serveurs DNS : les trois mêmes tâches avec nmcli (NetworkManager), netplan d'Ubuntu, systemd-networkd, les cmdlets réseau de Windows PowerShell et networksetup de macOS.
-
Bases du stockage en colonnes : comment un fichier Parquet est organisé et pourquoi les lectures analytiques touchent moins de données
Un fichier Parquet est une séquence de groupes de lignes, chacun contenant un bloc de colonne par colonne, chaque bloc étant découpé en pages qui constituent l'unité d'encodage et de compression ; les métadonnées se trouvent à la fin, si bien qu'un lecteur ouvre le pied de fichier, ne sélectionne que les colonnes nécessaires et saute des groupes de lignes et des pages grâce à leurs statistiques min/max. C'est l'organisation par colonne qui rend efficaces les encodages par dictionnaire et par plages répétées.
-
Vérifier la lecture après écriture à l'aide des révisions renvoyées
Confirmer une écriture au moyen de son identifiant stable et de sa révision, sans confondre une mise à jour concurrente plus récente avec le contenu exact soumis.
-
MSAA et alpha-to-coverage : distinguer la couverture de l'ombrage et de l'opacité
Utiliser la couverture multi-échantillon pour les bords géométriques et ceux des découpes, tout en évitant une double atténuation involontaire et des hypothèses non fondées sur les masques d'échantillons.
-
La mutualisation des connexions à la base de données et ses limites
Chaque connexion PostgreSQL est un processus qui a un coût en mémoire ; les applications devraient conserver un petit pool dimensionné à la concurrence réelle, définir des délais d'expiration à l'acquisition, et ne jamais laisser les gestionnaires de requêtes ouvrir des connexions à la volée.
-
Occlusion ambiante en espace écran : interpréter GTAO comme une estimation de visibilité
Comment intégrer l'occlusion ambiante au bon terme d'éclairage, et distinguer le bruit d'échantillonnage des erreurs dues à une géométrie de profondeur incomplète.
-
Délais d'expiration par défaut des clients HTTP selon le langage et la bibliothèque : aucun, 5 secondes ou 100 secondes
Le requests de Python et le net/http.Client de Go attendent indéfiniment tant qu'aucun timeout n'est défini explicitement ; httpx applique 5 secondes, HttpClient de .NET 100 secondes, et axios comme le timeout de transfert total de curl n'imposent aucune limite. Il n'existe donc pas de valeur par défaut sûre valable partout.
-
Choisir et superposer des profils de performance avec tuned sous RHEL
tuned applique en un seul changement de profil un ensemble nommé de paramètres noyau et système ; un profil personnalisé peut hériter d'un profil existant et ne redéfinir que ce qui diffère. Cette méthodologie couvre le listage, la recommandation, l'application et la construction de profils dérivés.
-
Réponses d'erreur d'API cohérentes avec Problem Details
La RFC 9457 définit une forme JSON pour les réponses d'erreur HTTP (type, title, status, detail, instance) afin que les clients puissent traiter les erreurs de façon uniforme ; toute enveloppe cohérente dotée de codes stables et exploitables par une machine atteint le même objectif.
-
Ordre des dépendances par parcours de graphe : BFS, DFS et tri topologique
Modéliser les dépendances comme un graphe orienté, utiliser un parcours en largeur ou en profondeur pour trouver tout ce qu'affecte un changement, et l'algorithme de Kahn ou l'ordre post-fixe du DFS pour produire un ordre de build ou de migration qui signale les cycles au lieu de les dissimuler ; graphlib et tsort implémentent le tri.
-
Le cherry-pick : quand il convient et ce qu'il coûte à l'historique
git cherry-pick rejoue la modification d'un commit sous la forme d'un nouveau commit avec un identifiant différent ; c'est l'outil approprié pour rétroporter un correctif vers une branche de maintenance ou récupérer un commit isolé d'une branche abandonnée, mais chaque cherry-pick crée un doublon que les fusions ne peuvent pas reconnaître, d'où l'intérêt d'enregistrer l'origine avec -x et de fusionner plutôt que de cherry-picker lorsque c'est la branche entière qui est voulue.
-
Le mode sombre avec prefers-color-scheme, color-scheme et light-dark()
Le mode sombre comporte trois volets : la media query prefers-color-scheme pour détecter le choix de l'utilisateur, la propriété color-scheme (et la balise meta correspondante) pour indiquer au navigateur quels schémas la page prend en charge afin que les contrôles de formulaire, les barres de défilement et le canevas suivent, et light-dark() ou des propriétés personnalisées pour permuter les valeurs de palette sans dupliquer les règles.
-
La boucle du développement piloté par les tests
Écrire un test qui échoue, le faire passer avec la modification la plus simple possible, puis refactoriser une fois les tests au vert ; la boucle maintient les décisions de conception petites et donne à chaque ligne une raison d'exister.
-
Gérer les zones et les règles firewalld sans perdre l'accès SSH
firewalld distingue la configuration en cours d'exécution de la configuration permanente : une modification faite avec un simple firewall-cmd est perdue au prochain rechargement si elle n'est pas rendue permanente. Cette méthodologie couvre les zones, la séparation runtime/permanent, les rich rules et le test d'une modification avant qu'elle ne devienne irrécupérable lors d'une session SSH distante.
-
Des tâches planifiées qui n'échouent pas silencieusement
Une tâche planifiée a besoin d'un verrou contre le chevauchement, d'un délai d'expiration, d'une journalisation explicite, d'un code de sortie qui reflète le succès, et d'une surveillance qui remarque quand elle ne s'est pas exécutée du tout.
-
Hygiène des alertes pour la supervision d'hôtes : taux de variation plutôt que seuil fixe, unités en échec et fenêtres de durée
Une page d'astreinte doit signifier qu'un humain doit agir immédiatement ; un disque d'hôte proche de la saturation doit déclencher une page sur son taux de remplissage, pas sur un pourcentage fixe qu'une partition à croissance lente peut frôler pendant des mois, et un seuil franchi un instant ne doit pas déclencher de page du tout. Les documents SRE de Google sur la discipline de paging et l'alerting multifenêtre fournissent le raisonnement, appliqué ici aux signaux d'hôte de cette série.
-
Concevoir des outils MCP que les agents peuvent utiliser en toute sécurité
Les outils conformes au Model Context Protocol ont besoin d'un objectif restreint, de schémas d'entrée et de sortie typés, d'annotations véridiques (lecture seule, destructif), de résultats bornés et d'erreurs qui indiquent la cause ; les descriptions doivent se trouver dans le code, pas dans des contenus que les utilisateurs peuvent modifier. La spécification exige en outre que les clients traitent les annotations comme non fiables et qu'un humain puisse refuser les appels.
-
Modéliser les menaces d'une fonctionnalité avec STRIDE en une seule séance de travail
Représenter la fonctionnalité sous forme de diagramme de flux de données avec des frontières de confiance, passer chaque élément en revue selon les six catégories STRIDE, décider pour chaque menace de l'atténuer, l'éliminer, la transférer ou l'accepter, et consigner le résultat sous forme d'exigences testables ; les quatre questions du Threat Modeling Manifesto servent d'ordre du jour.
-
Vérifier l'identité d'un paquet suggéré avant de l'ajouter à un projet
Vérifier qu'un nom de paquet suggéré pendant le codage correspond bien à la dépendance maintenue visée, avant de modifier les fichiers de dépendances du projet ou d'exécuter des points d'ancrage d'installation.
Lisible par machine : JSON