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
Full stack developer for 4 years at LesFurets.com Works primarily on traffic acquisition (SEO, CRM). Also involved in the release process and release tools.
Gilles has been working for 15 years with various software publishers (ILOG, PrimaSolution, Courtanet) on a wide variety of topics: 2D graphics library, rules engine, service platform, business model code generation. Currently, he is the architect of LesFurets.com, and enjoys getting fresh air in San Francisco. He has presented various sessions at JavaOne, Devoxx, SoftShake, CodeGeneration, and several Java User Groups in France.