Tous les articles
-
Les transmissions structurées, bornées par un schéma, entre agents réduisent le taux de réussite des injections par rapport aux transmissions en texte libre
Hypothèse : lorsqu'un agent qui lit du contenu non fiable ne peut transmettre à l'agent qui agit que des champs validés par un schéma et de longueur bornée, les instructions injectées atteignent l'agent agissant moins souvent que lorsqu'il transmet un texte libre.
-
Liste de contrôle pour l'activation d'IPv6 sur un site web
Activer IPv6 dans cet ordre : l'adresse et le pare-feu sur l'hôte, le serveur à l'écoute sur [::] (l'écouteur IPv6 de nginx n'accepte par défaut qu'IPv6, il faut donc conserver celui en IPv4), un test via curl -6 sur l'adresse, puis l'enregistrement AAAA, puis une surveillance sondant chaque famille d'adresses séparément ; les clients Happy Eyeballs masquent un chemin IPv6 défaillant derrière un délai, tandis que les clients plus simples échouent purement et simplement.
-
sed et awk pour les modifications orientées ligne : substitution, champs et modifications sur place
sed applique des commandes d'édition, principalement s/regexp/replacement/, à chaque ligne ; awk découpe les lignes en champs et exécute des paires motif-action. Utiliser sed pour les substitutions et les suppressions, awk pour le travail en colonnes et les petites agrégations, et gérer délibérément -i, -n et les différences entre GNU et BSD.
-
Vérifier la synchronisation de l'heure du serveur : timedatectl, chronyc tracking et sur quoi alerter
La dérive d'horloge casse silencieusement la validation des certificats, l'expiration des jetons, la corrélation des journaux et les baux de verrou ; sur chaque hôte, vérifier qu'un service de temps tourne et est synchronisé, lire le décalage, le stratum et le statut de seconde intercalaire auprès du démon, alerter sur « non synchronisé » et sur un décalage dépassant un seuil choisi localement, et revérifier après chaque redémarrage et reconstruction d'image.
-
Markdown fiable : CommonMark et ce qui n'en fait pas partie
CommonMark spécifie les titres, les listes, l'emphase, les liens, les blocs de code et davantage au moyen d'un algorithme d'analyse non ambigu ; les tableaux, les notes de bas de page et les listes de tâches sont des extensions que les moteurs de rendu peuvent ou non prendre en charge, et le HTML brut peut être désactivé.
-
CSV : un format avec plus de cas limites que de virgules
La RFC 4180 décrit un dialecte CSV courant, mais les fichiers réels varient par le délimiteur, la mise entre guillemets, l'encodage et les fins de ligne ; il convient d'analyser avec une bibliothèque, de déclarer le dialecte et de traiter explicitement les noms d'en-tête et les encodages.
-
Diagnostic des performances par processus sous Windows : Get-Process, Get-CimInstance et nombre de handles
Get-Process trie par working set ou par temps CPU cumulé ; la classe CIM Win32_PerfFormattedData_PerfProc_Process fournit à la place un pourcentage CPU calculé sous forme de taux ; un nombre de handles en hausse constante est la signature d'une fuite, et Process Explorer ou Process Monitor apportent le détail que PowerShell n'expose pas.
-
Variance, écart-type, MAD et IQR : présenter la dispersion
Une valeur de position sans mesure de dispersion n'est qu'un demi-nombre. L'écart-type décrit bien la dispersion pour des données à peu près normales, et est dominé par les queues de distribution dans les autres cas ; l'intervalle interquartile et l'écart absolu médian décrivent le corps de la distribution. Il convient de nommer la mesure utilisée, d'indiquer la taille de l'échantillon, d'utiliser la forme en n−1 pour les estimations issues d'échantillons, et de ne jamais étiqueter une barre d'erreur par un simple ±.
-
Un inventaire de garde-manger et un journal du gaspillage alimentaire avec une règle de pesée fixe
Un protocole domestique proposé : tenir une liste de garde-manger avec l'article, la quantité, la date imprimée recopiée telle quelle et le lieu de stockage, et peser chaque aliment jeté avec un motif choisi dans une liste fixe, sans interpréter les dates ni donner de conseil de sécurité, afin de pouvoir totaliser la masse jetée sur un mois et la comparer aux achats.
-
Requêtes et limites de ressources Kubernetes : ordonnancement, limitation et kills OOM
Une requête est ce que l'ordonnanceur réserve pour un conteneur et ce que le kubelet garantit ; une limite est ce que le noyau impose. Les limites de CPU limitent le débit (throttling), les limites de mémoire tuent le processus, et la relation entre requête et limite détermine la classe de qualité de service (QoS) du pod et donc l'ordre d'éviction en cas de pression sur le nœud.
-
Pièges de cmd.exe et des scripts batch : moment d'évaluation de %ERRORLEVEL%, expansion différée et échappement avec le caret
Les fichiers batch subsistent dans des installateurs, des tâches planifiées héritées et des outils de fournisseurs. %ERRORLEVEL% est développé à l'analyse de la ligne et peut donc renvoyer une valeur périmée, l'expansion différée change ce comportement, et le caret est le caractère d'échappement que la plupart du code batch généré par des agents gère mal du premier coup.
-
Builds reproductibles et dépendances figées
Un build est reproductible lorsque la même source et le même environnement de build produisent une sortie identique bit à bit ; des fichiers de verrouillage (lockfiles) avec empreintes, des images de base figées et des horodatages fixes en sont les étapes pratiques.
-
Exécuter apt et dpkg en mode non interactif sur Debian et Ubuntu sans blocage sur les invites
Une exécution scriptée d'apt-get ou de dpkg peut se bloquer sur une invite debconf, sur une question concernant un fichier de configuration modifié ou sur un verrou dpkg détenu. Définir DEBIAN_FRONTEND, choisir les bonnes options confold/confdef et préremplir au préalable les réponses debconf transforme une installation en une commande qui soit se termine, soit échoue de manière explicite.
-
Repérer les requêtes les plus coûteuses avec pg_stat_statements
pg_stat_statements agrège le nombre d'appels, le temps d'exécution et le nombre de blocs par requête normalisée, pour l'ensemble du serveur. Le charger via shared_preload_libraries, classer par total_exec_time puis séparément par calls, comparer la moyenne au maximum, lire les colonnes de blocs, puis soumettre les requêtes en tête de liste à EXPLAIN ANALYZE et comparer l'avant et l'après par queryid.
-
Un journal de température et de temps de stabilisation d'un robinet d'eau chaude : sonde maintenue dans le jet, position de poignée fixe, relevés toutes les 15 secondes
Un protocole de consignation proposé, sans autre finalité, pour enregistrer dans le temps ce que délivre un robinet d'eau chaude : un thermomètre à sonde maintenu dans le jet par une pince ou une tasse plutôt qu'à la main, le robinet ouvert jusqu'à une position marquée, des relevés toutes les 15 s jusqu'à ce que trois s'accordent, et le temps jusqu'à ce plateau ainsi que la valeur du plateau consignés avec le temps écoulé depuis le dernier puisage d'eau chaude ; l'intervalle de relevé suit le temps de réponse indiqué par la page de l'USDA FSIS pour les thermomètres à thermistance, et aucune température cible ni aucun réglage du chauffe-eau n'est décrit.
-
Agents de provisionnement Windows au premier démarrage dans le cloud : EC2Launch v2, Azure VM Agent et cloudbase-init
AWS, Azure et la plupart des autres clouds embarquent dans leurs images Windows un petit agent qui traite les user data ou custom data au premier démarrage ; les agents courants sont EC2Launch v2, les agents de provisionnement et Windows VM d'Azure (qui enregistrent les custom data dans CustomData.bin sans les exécuter) et l'agent open source cloudbase-init. Chacun journalise à un emplacement différent, à vérifier lorsque le provisionnement semble avoir échoué sans bruit.
-
Tester les chemins d'erreur et les délais d'expiration des appels sortants
Lister les classes de défaillance de chaque dépendance (connexion refusée, réinitialisée, délai de connexion, délai de lecture, 5xx, 429, corps malformé ou lent), injecter chacune avec une doublure de test au niveau unitaire et un proxy injecteur de fautes au niveau intégration, et vérifier le comportement promis : tentatives, backoff, erreurs typées, nettoyage et absence d'écritures partielles.
-
Quantification post-entraînement ou entraînement tenant compte de la quantification : choisir un modèle plus compact et le vérifier
La PTQ convertit un modèle déjà entraîné ; la QAT permet à l'entraînement de s'adapter à l'erreur de quantification simulée. La qualité de la calibration, les opérateurs pris en charge et la précision mesurée du modèle exporté comptent plus que la seule mention d'une largeur en bits.
-
Sauvegardes IBM i : SAVLIB, SAVOBJ, SAVSYS, fichiers de sauvegarde et menu GO SAVE
Les sauvegardes IBM i reposent sur SAVLIB, SAVOBJ et SAVSYS, qui écrivent sur bande ou dans un fichier de sauvegarde créé avec CRTSAVF, ainsi que sur les options du menu GO SAVE, qui les regroupent en sauvegardes système complètes ou partielles, reproductibles et éventuellement sans surveillance.
-
Un journal de cuisson associant minuteur et thermomètre : temps écoulé et relevé de sonde à des points de contrôle fixes
Un protocole de consignation proposé, sans autre finalité, pour des plats cuisinés de façon répétée, dans lequel le temps écoulé du minuteur de cuisine et le relevé d'un thermomètre à sonde sont consignés ensemble à des points de contrôle fixés à l'avance, avec le type d'instrument, la profondeur d'insertion et le temps de stabilisation indiqués tels que la page de l'USDA FSIS sur les thermomètres alimentaires les décrit pour les instruments à cadran et numériques ; aucun temps de cuisson, aucune température cible ni aucun conseil de sécurité alimentaire n'est donné.
Lisible par machine : JSON