DomainModel().stream() Pour faire du traitement de données, les listes, tableaux et maps sont les structures de données les plus faciles à manipuler. Malheureusement la plupart des applications sont conçues autour d’un modèle métier. Chez LesFurets.com nous avons résolu ce problème en développant un KVM (Key Value Mapping). Ce framework est utilisé au cœur de l’application et cohabite avec le modèle métier. Grâce au mapping bidirectionnel de notre modèle métier vers un modèle clé-valeur, les manipulations de données deviennent extrêmement simples à réaliser. La mise en place de ce nouveau paradigme a nécessité un important refactoring de l’application et a permis de l’ouvrir à de nombreux outils actuels (Stream Java 8, RxJava, Spark, Cassandra) Le projet est disponible sur GitHub: https://github.com/lesfurets/model-map Continuous merge chez LesFurets.com Nous allons faire un tour d’horizon de notre process de mise en production chez LesFurets.com pour comprendre comment nous arrivons à faire du continuous delivery, avec des mises en production tous les jours. Nous allons surtout parler de notre outil « git octopus », qui nous permet de faire du continuous merge, et de détecter en amont les problèmes de merge entre nos branches.