trivago will host a PHPUnit Code Sprint in mid-October to support this crucial part of the PHP ecosystem. Sebastian Bergmann, the creator of PHPUnit, will be there to coordinate the developers’ efforts and to answer questions.
Sponsoring Webpack
trivago has decided to sponsor Webpack with a monthly contribution of $10,000 ($120,000/year). We hope that this will help to secure the continued innovation of the project.
CSS done right - Post RTLCSS
Our first right-to-left platform was released in 2014. We had developed a solution to generate right-to-left CSS with Sass mixins and variables as we have described in a blog article. We used this approach for nearly 3 years but recently migrated the right-to-left CSS generation from pre-processing to post-processing with RTLCSS. With this article I would like to share the reasons for the migration as well as our experiences and lessons learned.
Cucable Maven plugin for parallel execution of Cucumber scenarios
Running Cucumber scenarios in parallel can be tricky, especially when a custom test runner is used. That’s why we created Cucable - a Maven plugin to split test scenarios into smaller chunks that can be run at the same time.
Minimum Viable Sprint – a One Week Hackathon
We, Marcos Pacheco and Marcus Tannerfalk, work as Agile Coaches in the Palma office for the hotel search company trivago. This is our experience in working with a development team in daily sprints with the goal of delivering an MVP (minimum viable product)
We're Hiring
Tackling hard problems is like going on an adventure. Solving a technical challenge feels like finding a hidden treasure. Want to go treasure hunting with us?
View all current job openingsYour Definite Guide For Autoscaling Jenkins
At trivago we use Jenkins as our main CI tool. However, when our physical setup was not enough we needed to move it to the cloud and implement an automated slave scaling. This is the definite guide with all the steps we took to implement an auto scaling Jenkins platform.
Reportoire, the journey to data source independency
Concepts like separation of concerns, logic decoupling or dependency injection are things we developers have heard more than a couple of times. At trivago, the Android app is developed using the Model View ViewModel (MVVM) architecture, aiming for views as dumb as possible, leaving the decision making to the view models. This leads to an increased test coverage since testing logic in views is something we can’t do that easily.
Learn Redis the hard way (in production)
For our products, like the trivago hotel search, we are using Redis a lot. The use cases vary: Caching, temporary storage of data before moving those into another storage or a typical database for hotel meta data including persistence. The main parts of the hotel search are built with PHP and the Symfony Framework for the frontend (web) and Java for the backend part. In this article, we will focus on the collaboration between our PHP application and Redis. Both are running fine, but it was a long and hard way up to the current situation. This is the story of how we learned to use Redis, including our failures and experience.
Code Review: Best Practices and Common Pitfalls
At trivago we have been using code reviews as a part of our process for a good while now. In the beginning they weren’t used by many teams but as word of their positive impact spread, more and more teams started adopting this practice, benefiting every day from its many advantages. Like any new practice it has been a learning process from the start. In this blog post I will cover why code reviews are incredibly beneficial when done right and will share what we have learned and which best practices we employ.