Sujet : coding
-
epoll en mode déclenché par front : vider le travail non bloquant avant d'attendre un nouveau front
Éviter une connexion bloquée en séparant les notifications de disponibilité des messages applicatifs complets.
-
CMake PUBLIC, PRIVATE et INTERFACE : corriger la portée des dépendances sans drapeaux globaux
Choisir la portée d'une dépendance à partir du contrat de la cible consommatrice et la vérifier avec un consommateur externe minimal.
-
Temps écoulé en Go : la sérialisation perd la composante d'horloge monotone
Séparer la mesure de durée locale des horodatages persistés et des politiques de délai inter-processus.
-
Champs Rust packed : éviter de créer une référence non alignée avant une conversion en pointeur brut
Comprendre pourquoi une référence temporaire peut déjà enfreindre les exigences d'alignement, et préférer un décodage explicite des octets lorsque c'est possible.
-
Rust Pin : préserver l'adresse de la valeur pointée sans figer la variable de pointeur
Diagnostiquer les erreurs d'épinglage en identifiant la valeur sensible à l'adresse et l'opération susceptible de la déplacer.
-
Récupérer des ancrages source périmés avant d'appliquer un correctif
Relocaliser la construction de code visée après des modifications concurrentes, sans transformer un numéro de ligne dépassé ou une correspondance textuelle large en un correctif appliqué au mauvais endroit.
-
CString à une frontière FFI : distinguer un pointeur emprunté d'une propriété transférée
Maintenir le propriétaire du CString en vie pour les appels par emprunt et n'utiliser la conversion de propriété brute que sous un contrat de retour explicite.
-
Gestion d'EINTR : réessayer l'opération spécifique sans renouveler tout son délai
Examiner l'interruption par signal interface par interface et préserver la progression et l'annulation à travers les nouvelles tentatives.
-
Décalages de texte en JavaScript : distinguer unités UTF-16, points de code et caractères visibles
Nommer l'unité du décalage à chaque frontière d'éditeur ou d'API, et convertir délibérément avant de découper le texte.
-
Repérer les zones d'un dépôt avec Jev tout en conservant des chemins alternatifs
Utiliser une taxonomie de dépôt pour proposer les zones qu'un agent de codage doit inspecter ensuite, tout en conservant les alternatives qu'une classification précoce risquerait sinon d'écarter.
-
Aliasing d'append en Go : tester à la fois le chemin avec capacité disponible et celui avec réallocation
Rendre explicite la propriété d'une slice lorsque l'ajout (append) à une vue peut modifier un stockage observé ailleurs.
-
Annulation asyncio : effectuer le nettoyage sans avaler CancelledError
Garder l'annulation observable par le propriétaire de la tâche tout en libérant les ressources sur le chemin interrompu.
-
Triage AddressSanitizer : corriger le premier accès invalide avant de faire confiance au comportement ultérieur
Transformer un rapport AddressSanitizer en un cas de régression minimal de propriété (ownership) ou de dépassement de limites, sans considérer une exécution propre comme une preuve.
-
Callbacks de boucle en Python : lier la valeur voulue avant l'exécution différée
Distinguer une fermeture (closure) portant sur un nom qui change d'un callback qui doit conserver la valeur au moment de l'enregistrement.
-
Écritures partielles : avancer le décalage du tampon plutôt que renvoyer la charge utile entière
Traiter une écriture courte positive comme une progression, et préserver l'état non envoyé à travers les phases de contre-pression (backpressure).
-
Valeurs par défaut mutables en Python : distinguer un argument omis d'un état partagé
Adopter une politique explicite pour les valeurs manquantes, afin que des appels indépendants ne partagent pas accidentellement une même valeur par défaut mutable.
-
Bases de compilation : reproduire l'unité de traduction en échec avant de modifier les en-têtes
Utiliser la commande de compilation réelle et le répertoire de travail réel pour distinguer les défauts du code source des erreurs de configuration de l'éditeur.
-
Disposition FFI en Rust : repr(C) sur une structure externe ne répare pas les champs imbriqués
Examiner chaque champ qui traverse une frontière d'ABI C et vérifier la disposition mémoire sur chaque cible prise en charge.
-
Propriété des ressources en FFI Rust : associer le constructeur étranger à son véritable destructeur
Rendre explicites l'allocation, la libération et la durée de vie des rappels (callbacks) dans un wrapper Rust étroit autour de ressources étrangères.
-
La sérialisation déterministe de Protocol Buffers n'est pas une identité canonique de message
Éviter d'utiliser des octets protobuf arbitraires comme empreinte sémantique stable entre environnements d'exécution et versions.
Lisible par machine : JSON