Blog
Nos notes en construisant api0 et nos outils Rust : agents IA, MCP, intégration Azure et Rust lui-même.
🧭 Parcours d'apprentissageFiltrer par thème
Affichage de 6 sur 66 articles • Page 3 sur 11
Tes Logic Apps forment un graphe, et le portail Azure ne te montre qu'une liste
Passé une douzaine de workflows, un parc Azure Logic Apps cesse d'être une liste pour devenir un graphe relié par des files Service Bus et des topics Event Grid. Pourquoi le portail ne peut pas le montrer, et quoi faire.
Jusqu'où cette commande est-elle allée ? Tracer un identifiant de corrélation dans Cosmos DB
Un client signale qu'une commande n'est jamais arrivée. Tu as un identifiant de corrélation et un compte Azure Cosmos DB avec plus de containers que personne ne se rappelle. Les résultats vides comptent plus que les résultats pleins.
Partie 1 : GC Pauses et Latence: Le coût caché des langages de haut niveau
Java, Python et JavaScript offrent de la commodité, mais le garbage collector introduit une latence imprévisible.
Partie 2 : Les langages comme C/C++ ou Zig permettent de contrôler la mémoire mais à quel prix ?
C évite le besoin d'avoir un garbage collector et donne un contrôle manuel de la mémoire, mais ouvre la porte à des bugs dangereux.
Partie 3 : Rust: Memory safety sans garabe collector
Rust a des performances équivalentes à C/C++ avec en plus la sécurité mémoire vérifée dès la compilation. Cela grâce à deux mécanismes: borrowing et ownership.
Les blanket implementations : une seule impl pour tous les types qui qualifient
Employer les blanket implementations en Rust pour minimiser la duplication de code tout en adressant les pièges de cohérence de trait pour une conception de bibliothèque robuste et maintenable
Types associés ou génériques dans une API de driver I/O
Utiliser les types associés dans les traits Rust pour concevoir des APIs flexibles et type-safe pour les drivers I/O bas niveau et comparer les avantages par rapport aux paramètres de type génériques
?Sized : une seule fonction pour les types sized et unsized
Comprendre le rôle des bounds ?Sized dans les définitions de traits Rust et les exploiter pour créer des fonctions flexibles qui fonctionnent efficacement avec des types sized et unsized
Les supertraits : imposer une hiérarchie de comportements
Exploiter les supertraits pour établir des hiérarchies de comportements et les combiner avec des clauses where pour optimiser des algorithmes génériques complexes pour la performance et la sécurité de type
Rendre les Traits Object-Safe pour dyn Trait de Rust dans les Systèmes de Plugins
Comprendre l'object safety en Rust et refactoriser les traits pour le dispatch dynamique
Le mot-clé `dyn` : Origines, Signification et Limitations
Exploration approfondie du mot-clé `dyn` en Rust, son origine, son opposé statique, et pourquoi Vec<dyn Trait> n'est pas possible