Python : Comment envoyer des emails
Envoyer des emails en Python est simple grâce aux modules natifs smtplib et email. Que ce soit pour des notifications automatiques, des rapports ou des alertes, Python offre une API complète pour gérer l’envoi d’emails (texte, HTML, pièces jointes).
Optional en Java : éviter les NullPointerException
Optional<T> est un conteneur introduit en Java 8 pour gérer explicitement l’absence de valeur et éviter les redoutées NullPointerException. Au lieu de retourner null, vous retournez un Optional qui peut être vide ou contenir une valeur.
Sed : éditer des fichiers en ligne de commande avec des regex
sed (Stream EDitor) est un outil en ligne de commande pour éditer des flux de texte avec des expressions régulières. Indispensable pour les opérations de recherche/remplacement, suppression de lignes, insertion, et transformations sur fichiers ou flux stdin.
Les Sealed classes en Java
Les sealed classes (classes scellées), finalisées dans Java 17, permettent de contrôler précisément quelles classes peuvent étendre ou implémenter une classe ou interface donnée. Cette fonctionnalité offre un contrôle granulaire sur les hiérarchies de types et améliore la sûreté du code grâce à la vérification d’exhaustivité du compilateur.
Java : Comment faire des group by
Regrouper des données par clé (faire un « group by ») est une opération courante en programmation : calculer des statistiques par catégorie, compter des occurrences, agréger des montants, etc. En Java, plusieurs approches existent selon vos besoins : boucles avec Map, Streams API avec Collectors.groupingBy(), ou bibliothèques tierces.
Records en Java : simplifier vos DTOs
Les records, introduits en Java 14 (preview) et finalisés en Java 16, révolutionnent l’écriture de classes de données immuables. Fini le boilerplate des getters, equals(), hashCode() et toString() : un record fait tout ça en une ligne.
Python : Comment créer une CLI
Dans ce tutoriel, vous allez apprendre à créer une interface en ligne de commande (CLI) en Python.
Déboguer les requêtes SQL et problèmes N+1 dans Django
Le problème N+1 est l’un des pièges les plus courants en Django : pour afficher une liste d’objets avec leurs relations, l’ORM exécute 1 requête pour la liste + N requêtes (une par objet). Résultat : des centaines de requêtes SQL qui plombent les performances. Dans ce guide, on voit comment visualiser toutes les requêtes SQL de votre app Django,...
Activer les mises à jour de sécurité automatiques sur Ubuntu/Debian
Maintenir un système Linux à jour est crucial pour la sécurité, mais gérer manuellement les mises à jour peut être fastidieux. Ubuntu et Debian offrent des mécanismes pour automatiser les mises à jour de sécurité, garantissant que les correctifs critiques sont appliqués sans intervention humaine. Ce guide vous montre comment configurer et gérer ...
Automatiser le nettoyage de données avec pandas
Le nettoyage de données représente souvent 60 à 80 % du travail en data science. Des données mal formatées, des valeurs manquantes, des doublons, des types incohérents : autant de problèmes qui peuvent saboter vos analyses. Heureusement, pandas offre un arsenal complet pour automatiser ces tâches fastidieuses.
Accélérer Django avec la compression HTTP
La compression HTTP permet de réduire drastiquement la taille des réponses envoyées par votre serveur (HTML, JSON, CSS, JavaScript). Une page de 500 Ko peut facilement passer à 50 Ko après compression GZip, ce qui accélère le chargement, réduit la bande passante et améliore l’expérience utilisateur, surtout sur mobile.
Comment ajouter du cache à une application Spring Boot
Le cache est l’un des leviers les plus efficaces pour améliorer la latence et réduire la charge d’une application. Spring Boot fournit une abstraction de cache très puissante, compatible avec plusieurs moteurs (Caffeine, Redis, Ehcache, Hazelcast, etc.).
Dans cet article, vous verrez comment activer le cache, choisir un moteur, utiliser les ann...
48 articles, 4 pages.