How to map optional fields with MapStruct

    Nick Tinnemeier, on 5-02-2021
    Category: Development

    Introduction MapStruct is a framework that alleviates us, programmers, from the unexciting task of writing code to copy one object model to another, field by field. In this blog we show you how to map optional fields with MapStruct. If, after reading this, you still wonder what MapStruct is and what it can do for you, then this blog could answer those questions for you: https://techlab.bol.com/mapping-object-models-case-study/. This blog zooms in on MapStruct’s capabilities of dealing with source fields that are not always present, i.e. might be null. In particular, we…

    Read more

    How to write MapStruct mappers for object hierarchies

    Nick Tinnemeier, on 1-02-2021
    Category: Development

    Introduction MapStruct is a framework that alleviates us, programmers, from the unexciting task of writing code to copy one object model to another, field by field. This blog elaborates on how to write MapStruct mappers for object hierarchies. If, after reading this, you still wonder what MapStruct is and what it can do for you, then this blog might be a good read: https://techlab.bol.com/mapstruct-case-study/. To already spoil the fun, MapStruct is not able to generate mappers for classes that all inherit from the same (abstract) base class or interface. In…

    Read more

    Mapping object models with MapStruct – a case study

    Nick Tinnemeier, on 6-01-2021
    Category: Development

    Introduction I was once told that a good programmer is a lazy programmer. A good programmer avoids typing tedious code, where the code could basically write itself. Self-writing code – wouldn’t that be great? Unfortunately, we’re not quite there yet. We show you how close to self-writing code you can get. In this blog we will present a case study using MapStruct for mapping object models. In particular, we zoom in on how the MapStruct framework alleviates us from the dull task of writing code to copy one object model…

    Read more

    Spaces Talk #6: Making Demos Great Again

    Marloes Kuijper, on 19-10-2020
    Category: Data Science & AI, Events

    At this year’s Spaces Summit, I presented a talk on Streamlit: a new web application framework in Python, which is perfect for making data science demos. About the talk As Data Scientists, we often need to quickly prototype ideas and showcase those projects to the business. Yet, Python scripts are not very visually appealing and Powerpoint is not always suitable. You also don’t want to spend weeks setting up that throw-away, unmaintainable Flask application, just for the purpose of showcasing your idea. Fortunately, there’s a solution to all of these…

    Read more

    Spaces Talk #5: Super Mario’s Dive Through The Gitlab Pipelines

    Patrick van Dissel, on 5-10-2020
    Category: Cloud, Development, Testing

    Spaces Summit is our annual internal bol.com conference for IT, by IT, and friends: Two fun days of inspiration, knowledge sharing, bragging, and community. This year, our 4th edition, was our first digital version of the summit. All our summits are recorded and published on YouTube, free to watch for everyone. Check https://spacessummit.bol.com for all info on all our summits and their recordings. As one of the organizers of Spaces Summit 2019 and 2018, as well as mentor of the 2020 organizers, I’m proud that we were able to very…

    Read more

    Creating a paradigm shift for bol.com marketing attribution

    Ivan Budincevic, on 8-09-2020
    Category: Data Science & AI, Development

    This year at Spaces Summit, the bol.com annual internal IT conference, I presented a talk about the work our team, Team SmartAds, has been doing in creating a new marketing attribution truth for our platform. About the talk How do we verify that we are using our marketing budget effectively? As bol.com, we are spending a considerable amount of our budget on digital marketing. Because of this, we need to be able to allocate this budget in the most effective, data-driven way possible. The four main methods for determining marketing…

    Read more

    Spaces Talk #4: From prototype to production. A real-life cloud story.

    Quiran Storey, on 24-08-2020
    Category: Architecture, Cloud, Infrastructure, Development

    This year the bol.com Spaces Summit was held virtually and Anastasija and myself, Quiran Storey, presented a talk on a topic that is close to our daily work “From prototype to production. A real-life cloud story.” About the talk All things start out as ideas, or prototypes, and our R2D2 is no different. In this talk we will give you a glimpse of how bol.com’s self-service cloud provisioning tool came to be. But also how it is constantly evolving from a proof of concept to a full-on production system. We…

    Read more

    Spaces Talk #3: How to work the climbing ladder?

    Asparuh Hristov, on 10-08-2020
    Category: Blog, Culture

    I, Asparuh Hristov, a Data Science Craft Lead at bol.com, believe that my working experience actually helps my other huge passion: Climbing. Sure, my work leaves a limited amount of time for actual climbing, but at the same time improved the quality of this time spent practicing my hobby tremendously. During the Spaces Summit 2020 digital conference from bol.com, I did a talk on “How to work the climbing ladder?”. About the talk “Your job should be your passion” has been repeatedly questioned by work/life-balance “gurus” with the argument that…

    Read more

    Spaces Talk #2: Introduction to Sociotechnical Architecture

    Eduardo da Silva, on 27-07-2020
    Category: Architecture, Development

    I’ve had the great pleasure of giving a talk at the Spaces Summit 2020, the internal bol.com Tech conference. About the talk Maximizing the impact of our products is more than just thinking about their technical architecture. Doing so would lead to just partially optimizing their potential impact. Instead, we need to follow an approach that also recognizes people (i.e. the teams building the products) as a central element in the design space. This way of co-designing is termed “Sociotechnical Architecture”. In my talk on this topic, I first lay…

    Read more