Dev back

Dev back

Mastering Concurrency in Java: Lessons I Learned the Hard Way

Cet article traite de la maîtrise de la concurrence en Java, en partageant des leçons tirées de l'expérience de l'auteur. Il aborde les défis rencontrés lorsqu'on passe d'applications mono-thread à des systèmes multi-thread pour gérer efficacement des tâches concurrentes. Les concepts de bases comme les threads, Runnable, Callable sont expliqués, ainsi que des outils avancés tels que les locks et les sémaphores. L'auteur souligne également l'importance de la synchronisation et les problèmes de concurrence tels que les conditions de course et les blocages. Enfin, il met en avant l'utilisation de CompletableFuture pour simplifier la gestion des tâches asynchrones, améliorant ainsi la fiabilité et la scalabilité des systèmes construits.

Dev back

I Tried 5 AI Testing Tools — Here’s What Actually Worked

Cet article examine cinq outils d'intelligence artificielle pour les tests de code, évaluant leur efficacité et leur applicabilité. Il discute de la manière dont ces outils peuvent générer des tests unitaires, faciliter l'automatisation des flux utilisateurs et fournir une couverture aux équipes qui manquent de ressources en assurance qualité. Les outils évalués incluent CodiumAI, Testim, QA Wolf et Diffblue, chacun ayant ses propres avantages et inconvénients, notamment la nécessité d'une supervision humaine et la gestion des faux positifs.

Dev back

How to Write a Utility Class Your Senior Will Actually Approve

Cet article présente 12 règles essentielles pour écrire des classes utilitaires en Java qui seront approuvées par des développeurs seniors. Il aborde l'importance de garder les classes sans état, de ne pas permettre leur instanciation, et d'autres bonnes pratiques pour assurer la sécurité et la prévisibilité dans un environnement multithreadé.

Dev back

JSON Parsing Without Libraries — From Problem to Production-Grade Solution

Cet article traite d'une approche pour analyser un tableau JSON de 5 Go sans avoir recours à des bibliothèques comme Jackson ou Gson. L'accent est mis sur le traitement en streaming, permettant de gérer de grandes quantités de données de manière efficace tout en maintenant une faible empreinte mémoire. La problématique de parsing est expliquée en détail, incluant des techniques optimisées pour l'extraction des champs 'id' et 'name' des objets JSON. Cette méthode peut s'appliquer dans des contextes de traitement de données massives, d'analyse de logs et d'applications de streaming de données.

Dev back

How to Modernize Legacy Systems Without Breaking Them- Using the Strangler Fig Pattern

Cet article explore le Strangler Fig Pattern, une approche stratégique pour moderniser des systèmes hérités sans compromettre les opérations. Il décrit comment migre progressivement un système monolithique vers des microservices, tout en maintenant la continuité des affaires. L'article fournit des meilleures pratiques et des pièges à éviter lors de l'application de ce modèle dans une architecture de microservices avec Java Spring Boot.

Dev back

Exploring our new PHP SDK, built using Saloon

L'article présente un nouveau package SDK PHP pour Oh Dear, reconstruit avec la bibliothèque Saloon. Il explique comment installer et utiliser le SDK, gérer la pagination via des itérateurs et personnaliser les requêtes API. La facilité de test avec des enregistreurs de fixtures est également abordée. Saloon simplifie le développement de SDKs modernes, rendant l'intégration avec des API plus fluide et efficace.

Dev back

Symfony, Doctrine et Triggers SQL : une tentative de réconciliation | Les-Tilleuls.coop

Cet article présente le Trigger Mapping Bundle, une solution pour relier les applications Symfony aux triggers SQL, permettant une meilleure gestion et visibilité des triggers en les associant directement à des entités. Il aborde les défis rencontrés avec l'utilisation des triggers dans Symfony ainsi que les avantages d'une approche déclarative par rapport à une approche impérative, facilitant le versionnement et la compréhension du code.

Dev back

When Two Become One: Understanding Pair in Java 👩‍💻👨‍💻

Cet article explique comment utiliser la classe Pair en Java pour retourner deux valeurs à la fois à partir d'une méthode, évitant ainsi les erreurs de retour d'une seule valeur et facilitant le débogage. Il illustre l'utilisation de Pair comme un moyen pratique de regrouper deux éléments, ce qui permet de mieux gérer les données complexes de manière intuitive.

Dev back

🚀 Creating a Custom Starter with Spring Boot

Cet article explique comment créer un starter personnalisé avec Spring Boot pour améliorer la productivité et standardiser les pratiques au sein des applications. Il définit ce qu'est un starter Spring Boot et détaille les étapes pour développer un module réutilisable qui intègre des bibliothèques et configurations spécifiques à une équipe, facilitant ainsi le développement d'applications.

Dev back

REST APIs: Stop Naming Them Like a Drunk Intern 🍺💻

Cet article aborde l'importance de nommer les API REST de manière cohérente et professionnelle, en dénonçant les mauvaises pratiques courantes comme l'utilisation de chemins peu clairs ou l'usage inapproprié des termes singuliers et pluriels. Il insiste sur le fait qu'une API devrait être bien structurée, pour participer à la création d'une expérience utilisateur propre et prévisible. En partageant des conseils, l'auteur encourage les développeurs à réévaluer leurs habitudes de nommage pour améliorer la qualité de leurs API.