Tester un contrôleur avec @WebMvcTest et MockMvc
Comment utiliser @WebMvcTest, MockMvc et @MockitoBean pour tester un contrôleur REST rapidement, charger uniquement la couche web, vérifier JSON, validation et la gestion des exceptions.
Java, Spring Boot, Golang, Python… — écrire du code correct et efficace par des exemples concrets.
Comment utiliser @WebMvcTest, MockMvc et @MockitoBean pour tester un contrôleur REST rapidement, charger uniquement la couche web, vérifier JSON, validation et la gestion des exceptions.
Apprenez à définir et implémenter les traits en Rust, utiliser les trait bounds, impl Trait, dyn Trait et éviter les erreurs courantes comme l'orphan rule.
Utilisez une union discriminée pour modéliser des state et des réponses API, permettant au compilateur de bloquer les états invalides et vous rappeler de gérer tous les cas.
Différenciez any, unknown et never dans TypeScript avec des exemples concrets : quand les utiliser, quand les éviter, et comment effectuer une vérification exhaustive.
Comment créer un virtual environment, gérer les packages avec pip et déclarer un projet Python avec pyproject.toml, avec des exemples fonctionnels et les erreurs courantes.
Explication du borrowing, du borrow checker et des lifetime annotations en Rust avec des exemples Order, Customer faciles à comprendre, accompagnés des erreurs courantes.
Découvrez comment utiliser context.Context en Go pour contrôler les timeouts, les deadlines, annuler des goroutines et transmettre des valeurs request-scoped de manière sécurisée.
Découvrez ce que génère la data class de Kotlin, comment utiliser la fonction copy() pour créer une copie sécurisée, et les erreurs courantes lors de comparaisons ou d'héritage.
Découvrez les décorateurs Python : de la syntaxe @, aux closures, functools.wraps, jusqu'aux décorateurs paramétrés et les décorateurs basés sur une classe.
Découvrez comment utiliser les fonctions d'extension en Kotlin pour étendre les classes existantes sans héritage, avec des exemples concrets et des points à retenir.
Découvrez les generators, yield et comment traiter des fichiers énormes ou des flux de données sans charger tout en mémoire.
Guide d'utilisation de @ControllerAdvice et @ExceptionHandler pour gérer les erreurs de façon centralisée, retourner des réponses normalisées au lieu de disperser try-catch partout dans les controllers.
Les fuites de goroutines ne crashent pas immédiatement mais dévorent silencieusement ta RAM au fil du temps. Cet article explique les causes courantes, comment les détecter et les corriger définitivement.
Guide d'utilisation correcte d'Optional en Java, avec les anti-patterns courants et comment les éviter pour du code plus clair et plus sûr.
Explorez Option<T> et Result<T, E> en Rust : comment représenter une valeur manquante, une erreur possible, et propager les erreurs avec l'opérateur ? au lieu d'exception.
Comprendre comment Spring Data JPA génère automatiquement les repository, les règles de nommage des query method et quand utiliser @Query pour un contrôle plus précis des requêtes.
Découvrez les quatre « piliers » de l'API Stream de Java à travers des exemples concrets avec Order, Customer – du filtrage des données à l'agrégation des résultats.
Découvrez comment combiner les types de données avec union, intersection et comment TypeScript réduit les types (narrowing) pour du code plus sûr avec moins d'erreurs runtime.
Découvrez comment utiliser Partial, Pick, Omit et Record pour réutiliser les types et réduire la duplication d'interfaces en TypeScript.
Distinguez asyncio et threading en Python grâce à 3 questions pratiques pour choisir le bon modèle de concurrence selon votre cas d'usage.