Some of our engineers run their own tech blogs. We encourage them to move here, but for various reasons, they prefer to publish on private blogs. We respect their decisions. What we can do is to gather all the blog posts published by allegro.tech engineers around the web in the one place.

We prepared the digest with all these posts published this Fall.

Generating Test Data – jFairy

Test data has been always an issue. If you are running selenium or backend automated tests based on user-related scenarios, in order to make your tests more efficient you need to provide unique and realistic user test data. There’re many ways to deal with this: dumping samples of production databases, writing your own data generators…

InfluxDB in IoT world: Hosting and scaling on AWS (Part 2)

In the previous part we took a bird’s-eye view of InfluxDB, it’s core features and some of the reasons to embrace the database in the wake of IoT data onslaught. In this part, we’re going to see how easy it is to install and start using InfluxDB on AWS…

Kafka Streams DSL vs Processor API

Kafka Streams is a Java library for building real-time, highly scalable, fault tolerant, distributed applications. The library is fully integrated with Kafka and leverages Kafka producer and consumer semantics (e.g: partitioning, rebalancing, data retention and compaction). What is really unique, the only dependency to run Kafka Streams application is a running Kafka cluster. Even local state…

Gathering valuable feedback for your growth

Since few months, together with Viktor, we were exchanging our thoughts on gathering valuable feedback and maintaining our growth in various circumstances. We’ve found that feedback continues to be a problem. We don’t seem to give enough of it and what we give often holds low quality…

Swift 4 Cookbook - Linux & MacOS, part 1

Swift is powerful, fast and safe programming language. From version 2 it’s open source, and officialy supported on Linux. Its native performance, type safety, interactive (REPL) playground and scripting posibility, is a joy to use. The main goal for Swift on Linux is to be compatible with Swift on macOS/ios/watchos, and there is an official Apple documentation for Foundation. Howerever, this…

Byte my code – new conference

#Wrocław #Java Hey guys, just letting you know that ByteMyCode – a new Java event is taking place in Wroclaw. If these topics are interesting for you: Event Processing in Action Cloud Native Java Guide to Instantaneous Feedback Loops for Java Developers Bringing Structure to Performance Tuning UBS Innovation – DLT Or you’d like to…

Three levels of TDD

IntroductionI’ve been using TDD technique for a few years. Most of the time with satisfactory a result. But it wasn’t an easy journey; it was a trip full of ups and downs. During this period my thinking about TDD has changed dramatically, or maybe I have changed my perception of testing and software development during this time? Indeed, yes I have.Lasse Koskela in his book called “Test Driven:…

Idiomatic concurrency: flatMap() vs. parallel() - RxJava FAQ

Simple, effective and safe concurrency was one of the design principles of RxJava. Yet, ironically, it’s probably one of the most misunderstood aspects of this library. Let’s take a simple example: imagine we have a bunch of UUIDs and for each one of them we must perform a set of tasks. The first problem is to perform I/O intensive operation per each UUID, for example loading…