Nous avons pu voir les outils et les principes du Domain Driven Design dans le premier et le deuxième article. Tandis que dans le troisième et le quatrième, nous avons poursuivi les épreuves de l’Odyssée de la conception pilotée par le domaine, en les mettant en...
Domain Driven Design Part 4 – Les pratiques
Dans l’article [6, 7], nous avons présenté les outils et les principes en Domain Driven Design dans un premier temps, puis dans l'article [8], nous avons poursuivi les épreuves de l’Odyssée sur la conception collaborative entre les contextes bornés, en les mettant en...
Domain Driven Design Part 3 – La conception collaborative
Dans les précédents articles [6, 7], nous avons présenté les outils et les principes du Domain Driven Design (DDD). Cette fois, nous allons continuer l’Odyssée sur la mise en œuvre de la conception collaborative par des exemples codés en Python. Le Domain Driven...
Domain Driven Design Part 2 – Les principes
Dans le précédent article [6], nous avons commencé à explorer l’Odyssée du Domain Driven Design (DDD), tout en nous équipant des outils nécessaires. Maintenant, nous allons découvrir les principes dans cet article, alors que les mises en œuvre seront abordées dans...
Domain Driven Design Part 1 – Les Outils
Introduction La conception pilotée par le domaine (Domain Driven Design en anglais, ou DDD en abréviation) est une méthodologie de développement de logiciels qui met l'accent sur l'importance de comprendre le domaine du métier et de créer des logiciels alignés sur les...
Les nouveautés de C# 11
C# 11 a été publié avec le dernier .Net 7 en novembre 2022.Bien que la plupart des nouvelles fonctionnalités sont axées sur la performance, il existe de nombreuses améliorations qui changeront notre façon de coder.Dans cet article, nous apprendrons les fonctionnalités...
Quarkus
Quarkus est un framework Java open source conçu par RedHat pour créer des applications cloud native, et pour fonctionner dans un environnement Kubernetes. Il vise à simplifier le développement d'applications Java en offrant un temps de démarrage ultra-rapide et une...
Introduction à RabbitMQ
Les micro-services, très répandus ces dernières années, ont dominé les structures et développement des applications et logiciels. Une méthode qui permet le développement des applications comme des services modulables et indépendants. Chacun de ces services exécute un...
PySpark – Optimisation des performances : Best practices and tips
Dans cet article, nous allons explorer différentes techniques d'optimisation de jobs PySpark en nous concentrant principalement sur l’optimisation du code. Nous pourrons voir dans un prochain article les autres techniques...
Hbase et comment éviter hotspotting
HBase, c’est quoi ? C'est un système de gestion de base de données distribuées, développé en utilisant le framework Hadoop. Il est conçu pour gérer des quantités massives de données non structurées ou semi-structurées, en utilisant une architecture de table à...
Comment devenir développeur informatique ?
Le métier de développeur est très recherché, en particulier pour les postes de consultants dans les cabinets de conseil et les ESN. Si vous souhaitez vous lancer dans cette voie, il est important de connaître les étapes à suivre pour réussir dans ce domaine. Dans cet...
Combien de temps pour apprendre le Python ?
Lorsque vous décidez d'apprendre un nouveau langage de programmation, vous vous posez souvent la question : "Combien de temps cela me prendra-t-il pour devenir compétent ?". C'est une question légitime, surtout si vous avez un emploi du temps chargé et que vous voulez...
Caffeine Cache
Dans cet article, vous verrez comment optimiser les performances de votre application web et améliorer l'expérience utilisateur avec Caffeine Cache, une solution de cache rapide et fiable. Introduction Le cache désigne un système de mémoire intermédiaire numérique qui...
L’architecture Hexagonale
Dans le monde de l’IT on cherche toujours à mettre en place des solutions évolutives, faciles à maintenir, et surtout des applications bien organisées. On a toujours des défis de migrations, que ce soit des technologies, leurs versions, ou même le découpage des...
Les spécifications de Spring Data JPA
Spring Data JPA est l’un des modules les plus importants offerts par Spring Boot, qui permet de simplifier l’accès à la couche des données (Persistance). Grace à ce module, on a principalement trois approches permettant la création des requêtes : L’annotation @Query :...
Le pattern CQRS
Aller jusqu’au bout dans l’organisation du code et surtout séparer le deux parties Lecture et Ecriture dans une application ou même un micro service. Dans l’architecture micro-service on rencontre et on utilise plusieurs concepts et patrons de conceptions,...
Les nouveautés de Java 19
Java 19 est disponible depuis le 20 septembre 2022. C’est une version non LTS (Long-term support). Cette release contient une prévisualisation du projet LOOM tant attendu, qui introduit un nouveau modèle de concurrence légère à java. Vous pouvez télécharger OpenJDK...
Le langage C++ : mort ?
Samuel Clemens, dit « Mark Twain », écrivit en 1897 à un journaliste qui l’avait contacté pour s’enquérir de son éventuel décès : « La nouvelle de ma mort était exagérée ». Il en va de même du langage C++. Mais si ce langage de programmation est toujours bien présent,...
L’art du « clean code » en environnement Java
I. Introduction L’ouvrage “Clean Code“ écrit par Robert C. Martin, aussi connu comme « Uncle Bob » (Oncle Bob) est une référence incontournable sur les bonnes pratiques du « clean code ». Nous allons dans cet article résumer certaines de ces bonnes pratiques...
PYTHON – Le module “Threading”
Après la présentation des concepts, nous allons nous attaquer au module « threading » de Python… Le module permet d’utiliser le multithreading préemptif de manière assez simple. Nous nous concentrerons sur l’API disponible depuis la version 3.10 de Python. GIL On ne...
Moteur – Design Patterns
Afin de réaliser différentes stratégies pour la spéculation ou la couverture de risque, les gestionnaires de fonds cherchent de divers instruments financiers basiques pour construire les produits dérivés composés possédant les caractéristiques favorables pour un...
Programmation Réactive
De nos jours, les applications modernes ont de hautes exigences en matière de disponibilité et de demandes utilisateurs. Sauf qu'avec les paradigmes “classiques” comme la programmation impérative, le code prend très rapidement de l’ampleur. De ce fait, les...
Concepts en mémoire partagée
La programmation en mémoire partagée est un des deux grands types de programmation parallèle. Tous les fils d’exécution partagent la même mémoire : c’est à la fois un atout et un problème. Un atout car cela évite de dupliquer des données car elles peuvent être...
Fabrique – Abstraite
Parmi les titres financiers on a de nombreux produits dérivés qui sont très difficiles à construire tout d’un coup. Car un contrat dérivé pourrait comprendre plusieurs composants fondamentaux dont chacun est crée d’une manière indépendante et complexe. Par exemple, il...
Choisir son langage de programmation
Un langage de programmation est un outil permettant de transformer un concept en un programme qui s’exécutera sur un ordinateur. Il existe beaucoup de langages de programmation et de nouveaux sont créés régulièrement. Comment choisir celui qui correspond à son besoin...