Tous les articles
-
Parcours d'un classement : événements de score, ensemble trié dérivé et classements reconstructibles
Un parcours de conception pour les classements : des événements de score faisant autorité côté serveur, avec une clé d'idempotence, comme source de vérité ; un ensemble trié par période de classement, comme index dérivé, répondant aux requêtes de top N et de rang d'un seul membre ; des règles d'égalité codées dans le score ; des limites de période acheminées par l'heure de survenue ; et des reconstructions traitées comme une routine.
-
Redirections 301, 302, 307 et 308 : lesquelles préservent la méthode de la requête
301 et 302 autorisent un agent utilisateur à transformer un POST redirigé en GET ; 307 et 308 interdisent de changer la méthode, si bien que le corps est renvoyé ; 303 bascule toujours vers un GET d'une autre ressource. 301 et 308 sont cachables de façon heuristique, 302 et 307 ne le sont pas. Le choix se fait selon la permanence et selon si la méthode doit être préservée.
-
Configurer le module de journalisation une seule fois, au point d'entrée
Les bibliothèques obtiennent des loggers et ne configurent jamais de gestionnaires ; l'application configure les gestionnaires, les niveaux et les formats une seule fois au démarrage, afin que la sortie soit contrôlée en un seul endroit et que les doublons soient évités.
-
Lire la charge moyenne (load average) et comprendre l'OOM killer
La charge moyenne (load average) sous Linux compte les tâches exécutables et en sommeil non interruptible sur 1, 5 et 15 minutes ; un chiffre élevé avec des CPU inactifs pointe donc vers des entrées-sorties ou un système de fichiers bloqué. Lorsque la mémoire ne peut plus être récupérée, l'OOM killer choisit une tâche selon un score de « nuisance », que oom_score_adj décale de -1000 (jamais) à +1000 (en premier).
-
Un fichier CONTRIBUTING qui répond aux cinq premières questions d'un nouveau venu
Avant d'écrire du code, une personne souhaitant contribuer se demande : ce changement est-il souhaité, comment le proposer, que doit contenir une pull request, combien de temps avant une réponse, et comment un changement fusionné atteint-il les utilisateurs. Un fichier CONTRIBUTING qui répond à ces cinq questions dans l'ordre, et qui renvoie ailleurs pour le reste, vise à éviter les pull requests qui seraient rejetées pour une question de périmètre ou de tests manquants.
-
Rendu XR stéréoscopique : conserver pose, projection et couche d'image propres à chaque vue
Produire des vues stéréo cohérentes à partir des données de vue fournies par le runtime, et valider les optimisations multiview sans perdre la géométrie ni les effets propres à chaque œil.
-
Transformer un rapport de bogue en test de non-régression
Avant de corriger un bogue, le reproduire sous la forme d'un test automatisé en échec qui nomme le rapport ; le test prouve la correction et empêche le bogue de revenir.
-
LoRA : adaptation de bas rang et ce que couvrent réellement ses économies de mémoire
LoRA apprend une mise à jour de bas rang en gardant les poids de base figés. Elle réduit le nombre de paramètres entraînables et leur état d'optimiseur, mais le modèle de base, les activations et la compatibilité au déploiement restent à prendre en compte.
-
Framework de gameplay d'Unreal : placer délibérément les règles, l'état partagé et la possession
Séparer les règles côté serveur, les informations de match répliquées, le contrôle du joueur et le corps possédé, afin que respawn et multijoueur ne mélangent pas leurs responsabilités.
-
Quelle part des fonctionnalités livrées est encore utilisée 90 jours après leur sortie, et qu'est-il advenu de celles inutilisées et de leurs indicateurs ?
Question ouverte : les outils de feature flags comme Unleash associent une durée de vie attendue à un indicateur et le marquent potentiellement obsolète une fois cette durée dépassée, ce qui couvre l'indicateur mais pas la fonctionnalité ; pour les produits qui suivent l'usage des fonctionnalités, quelle part des fonctionnalités publiées en un an avait un usage significatif après 90 jours, qu'est-il advenu du reste (supprimé, masqué, conservé), et leurs indicateurs et leur code ont-ils suivi ?
-
Vérifier l'intégrité des paquets installés sur Debian et Ubuntu avec debsums et dpkg --verify
debsums compare les fichiers installés aux sommes MD5 enregistrées lors de la construction du paquet, dpkg --verify (depuis dpkg 1.17.2) compare les métadonnées enregistrées dans la base de données de dpkg elle-même, et dpkg -S/-L indiquent à quel paquet appartient un fichier et quels fichiers un paquet a installés, avant de décider de le réinstaller.
-
Gérer les certificats avec PowerShell : le lecteur Cert:, l'import/export PFX et la liaison à IIS
Parcourir Cert:\LocalMachine\My, filtrer par date d'expiration avec Get-ChildItem, déplacer un certificat avec sa clé privée via Import-PfxCertificate/Export-PfxCertificate, utiliser New-SelfSignedCertificate uniquement pour les tests, puis lier le résultat dans IIS avec New-WebBinding ou le vérifier avec netsh http show sslcert.
-
Indiquer les unités à côté de chaque mesure
Rendre les enregistrements de mesure interprétables en conservant l'unité, l'agrégation et la population à côté de chaque valeur.
-
Bases de la sécurité IBM i pour l'administration : droits spéciaux, droits sur les objets, QSECURITY et QAUDJRN
Le contrôle d'accès d'IBM i repose sur des droits spéciaux comme *ALLOBJ et *SECADM attribués par profil utilisateur, sur des droits au niveau des objets consultés avec DSPOBJAUT/EDTOBJAUT, sur la valeur système QSECURITY qui fixe le niveau d'application, et sur le journal d'audit QAUDJRN qui enregistre les événements. Le sujet se limite à l'administration et à l'audit, sans exploitation de failles.
-
Journaliser un capteur PM2.5 grand public : que consigner à côté de chaque mesure et ce que le chiffre ne peut pas dire
Un capteur de particules grand public indique une estimation de la masse des particules de 2,5 micromètres et moins ; l'EPA précise que ces capteurs présentent une exactitude plus faible et une incertitude plus élevée que les moniteurs réglementaires, décrit la colocalisation avec des instruments de référence comme un moyen efficace de les évaluer, et note qu'une correction établie en extérieur peut ne pas s'appliquer en intérieur et que les variations de température et d'humidité peuvent affecter certains capteurs. Un journal domestique consigne donc la valeur brute, l'intervalle de moyennage, l'emplacement, les événements intérieurs et la valeur du moniteur officiel le plus proche avec sa distance.
-
Tester l'autorisation par les relations aux ressources plutôt que par les noms de rôle
Vérifier si un appelant peut agir sur un objet particulier à travers la relation que le produit promet réellement. Cette méthode de laboratoire proposée traite les libellés de rôle comme des attributs du montage de test, pas comme l'oracle du test.
-
Modéliser des états avec Literal, Enum et TypedDict
Remplacer les chaînes libres et les dictionnaires non typés par des unions Literal, des énumérations et des TypedDict, afin que les états impossibles soient rejetés par le vérificateur de types et documentés en un seul endroit.
-
make comme exécuteur de tâches : cibles fictives, tabulations et un shell par ligne
Un Makefile constitue un point d'entrée exploitable pour les commandes d'un dépôt si les cibles de commande sont déclarées .PHONY, si les lignes de recette commencent par une tabulation, et s'il est compris que chaque ligne de recette s'exécute dans son propre shell sauf si .ONESHELL est défini ; garder l'objectif par défaut inoffensif et garder réelles les véritables dépendances de fichiers.
-
IK de placement des pieds : préserver le contact sans contrarier le cycle de marche
Construire des cibles de pied adaptées au terrain, respecter la portée des jambes et les phases de contact, et garder cohérents l'ajustement du bassin et les ancres sur plateformes mobiles.
-
Récursion contre itération : profondeur de pile, limites et quand convertir
La récursion reflète les problèmes en forme d'arbre mais consomme une trame de pile par niveau ; la pile est bornée par la limite de récursion de l'interpréteur ou la taille de pile du thread, si bien qu'une récursion dont la profondeur dépend de l'entrée est un plantage en puissance. Convertir vers une pile explicite ou une boucle lorsque la profondeur croît avec la taille de l'entrée.
Lisible par machine : JSON