← Back to Past Sessions

Continuous Merge and DomainModel().stream()

📅 2016-05-31

Continuous merge at LesFurets.com by Geoffrey Bérard

We will take an overview of our production deployment process at LesFurets.com to understand how we achieve continuous delivery, with deployments every day.

We will especially talk about our “git octopus” tool, which allows us to do continuous merge and detect upstream merge problems between our branches.

The project is available on GitHub: https://github.com/lesfurets/git-octopus

DomainModel().stream() by Gilles Di Guglielmo

For data processing, lists, arrays, and maps are the easiest data structures to manipulate. Unfortunately, most applications are designed around a business model.

At LesFurets.com we solved this problem by developing a KVM (Key Value Mapping). This framework is used at the core of the application and coexists with the business model. Thanks to the bidirectional mapping of our business model to a key-value model, data manipulations become extremely simple to perform. Implementing this new paradigm required significant refactoring of the application and opened it up to many current tools (Java 8 Stream, RxJava, Spark, Cassandra).

The project is available on GitHub: https://github.com/lesfurets/model-map