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.
Posts about Open Source
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.
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.
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.
Introducing Protector - a Circuit Breaker for Time Series Databases
At trivago we store a subset of our realtime metric data in InfluxDB and we are quite impressed by the load it can handle. Despite all the joy, we had to learn some lessons the hard way. It is pretty easy to overload the database or the web browser by executing queries that return too many datapoints.
Better Log Parsing with Logstash and Google Protocol Buffers
At trivago we rely heavily on the ELK stack for our log processing. We stream our webserver access logs, error logs, performance benchmarks and all kind of diagnostic data into Kafka and process it from there into Elasticsearch using Logstash.
Speeding up webpack performance with parallel builds
When using webpack to build your assets, it’s only a matter of time until you wish for targeted builds. Whether it’s the output of the library you’re working on (CJS, UMD, AMD, Var, etc.), or the specific feature set (IE8 support, no IE8 support). parallel-webpack can run those builds in parallel.
tCache - Scalable data-aware Java Caching
Caching data is an essential part in many high-load scenarios. A local 1st-level cache can augment a shared 2nd-level cache like Redis and Memcached to further boost performance. An in-process cache involves no network overhead, so the cache speed is only limited by local resources like CPU, memory transfer speed and locking.
Writing a Fuzzy Receipt Parser in Python
Last weekend, the Python Hackathon Düsseldorf took place at trivago’s office. Although we were only five people we had a lot of fun. I took the chance to brush up my Python skills a little bit. Also I wanted to scratch an itch that was bugging me for a long time: our housekeeping book.
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 openings