Feb 13 2015

TDD is not dead yet — GeeCon Poznan 2015

On January 30th we made a visit to GeeCon TDD to find out what’s going on in the world of TDD. Allegro was one of the sponsors of the event and our colleague Piotr Betkier appeared as a speaker. The theme of the conference was the broad subject of software testing and TDD. The question for the conference to answer was “Is TDD dead?”. The major stars who came to Poznań were Nat Pryce and Steve Freeman, authors of the book “Growing Object-oriented Software, Guided by Tests”.


Feb 11 2015

Evolution of our platform architecture

Allegro was founded in 1999. As you can imagine, technology was quite different at that time. Small startup of three developers wrote first version of the platform. There was no problem with scalability as there were only hundreds of users. We didn’t even used any sql database. All data were stored in the files. This first few years of Allegro are all almost mythical for current developers as no code or data schema is preserved from these times. Over all those years we have grown up – a small company hiring a few programmers has changed into a corporation with dozens of teams and hundreds of programmers. Everything was much easier back then when people were, literally, working together. But with the growing number of programmers, we faced problems that soon turned into blockers. Our code and its complexity grew along with the company. After some time, we realized that such uncontrolled growth would block us one day. Application maintenance would become expensive, and any change of the system behaviour would be risky. That is why we decided to act and our today’s architecture is the result of that decision. Here is the story of our transition.



Feb 3 2015

Using Jersey model processor for supporting edge-service features

In this post I would like to show you how to add a resource programatically in Jersey container. We start from a business use case that needs to be implemented. What we are trying to achieve is to allow external clients to use some resources of internal microservices. I am aware of the fact that the solution we are going to discuss is not the best way to solve the problem. Choosing the best solution lies outside the scope of this post. What is covered in this post are the steps and solutions we tried to use in order to solve the problem.


Jan 29 2015

Content headers or how to version your API?

When you publish your service API it is crucial to make it easy to upgrade. If you forget about it, you might end up in dependency hell. Each attempt to change your API will force you to contact all your clients and tell them to upgrade their software. As a result, both you and your clients will be very unhappy. You can mitigate it by providing multiple versions of your resources. But there is no single way how to manage them. Different companies solve it in different ways. Below you find three most popular approaches.



Jan 21 2015

Working with legacy architecture

Any programmer can admit that working with code that has been developed for years by many people is a difficult task. Keeping your own application architecture clean is troublesome, and it gets even more challenging in case of an application that was written by other programmers several years ago. One can enjoy writing new applications and tools that do not carry any burden, but each product evolves together with its business assumptions. Moreover, new features are added and the application needs to be constantly improved.


Jan 16 2015

We were at QCon SF 2014

QCon is one of the most identifiable conferences in IT world. Several times every year it connects IT professionals from the whole world in such a well-known locations like San Francisco, New York, Shanghai, Tokyo, Beijing or London. The main idea of conference is to facilitate the spread of knowledge and innovation in developer community.



Jan 7 2015

Post-mortem report on 23-24, October 2014 failure

On 23rd and 24th October, the Allegro platform suffered a failure of a subsystem responsible for asynchronous distributed task processing. The subsystem consists of several daemon processes, Gearman job server, Redis and Oracle databases. The problem affected many areas, e.g. features such as purchasing numerous offers via cart and bulk offer editing (including price list editing) did not work at all. Moreover, it partially failed to send daily newsletter with new offers. Also some parts of internal administration panel were affected.


Dec 31 2014

We visited Devoxx 2014

Devoxx (formerly JavaPolis) is an annual Java-centric conference organized by BeJUG that takes place in Antwerp, Belgium. Such a big Java event can‘t go unnoticed by Allegro. This year five representatives of our company had a chance to experience five full days of Devoxx.


Dec 24 2014

Aspects in Spring

This post is an introduction to the mysterious and alien world of aspect-oriented programming, or aspects for short. At first sight it is difficult to understand why to use aspects and how a project can benefit from this technology. The simplest use case where we can use an aspect is logging. I believe that everyone saw, or even wrote on their own, a piece of code where the business logic was interweaving with infrastructure code:



Dec 17 2014

Big Data Spain 2014 review

Big Data Spain is an annual conference on Big Data and related topics held in the suburbs of Madrid. This year’s, i.e. third, edition has so far been the biggest; it has attracted more than 500 guests and various speakers including Big Data celebrities like Paco Nathan of Databricks. During two days of the conference, guests could attend many keynotes, speeches and workshops and learn about variuos products, services and specific use-cases, in both English and Spanish. Allegro was represented by two employees with a presentation on Hadoop pitfalls and gotchas.



Dec 9 2014

How to migrate to Java 8

This post is about migrating a real-world, non-trivial, business-critical application from Java 7 to Java 8. When searching for a JDK 8 migration guide, you can often find blog posts that claim to be helpful but in reality only repeat the list of features found in release notes and offer no insight into issues you may encounter in practice. Having no migration guide during our own migration, we decided to create one. This is a report right from the trenches, no details spared, casualties included.



Dec 3 2014

Quick introduction to Swift

Introduction of Swift programming language during WWDC 2014 was big news in developers’ world. The community warmly welcomed the language created by Apple and many developers started learning and using it immediately. This article explains what Swift is and its basic concepts. If you are an iOS (or OS X) developer it means that you probably already know all the things described below, but if you haven’t started your iOS development adventure yet (but you want to), this article could be a good introduction for you.


Dec 2 2014

We were on re:inventure (AWS conference summary)

Two weeks ago we attended AWS re:invent conference in Las Vegas. Our company was represented by Wojciech Lesicki (Product Owner of our cloud infrastructure), Sebastian Pietrowski (Head of Architecture and Operations) and Mateusz Gajewski (Solutions Architect). This post summarises new product announcements made during the keynotes, our impressions on breakout sessions, bootcamps and conference itself.


Nov 26 2014

Testing RESTful services and their clients

REST (Representational State Transfer) has become very popular over the course of the past few years. It has happened so not only because of growing popularity of lightweight Web frameworks (like Angular.js) but also due to the new Microservice Architecture hype (thank you Netlifx). Frameworks like Spring add new REST-related functionalities with each new release and more and more companies decide to give them a try… But how do you test them - REST services and their clients?




Nov 5 2014

Hadoop World 2014 New York from a developer’s point of view

This year’s edition of Strata Hadoop World held in New York was humongous, 16 workshops, over 20 keynotes, over 130 talks and most importantly over 5000 attendees! This massive crowd wouldn’t fit in Hilton hotel where the previous edition was held. That is why organizers had to move the conference to Javits Conference Center - an enormous building in which Big Data believers occupied just one sector. The fact that the European edition of Hadoop Summit experienced exactly the same transition (the third edition is going to be held in a bigger location in Brussels) gives pleasant assurance that Big Data technologies are still a hot topic and that Big Data Community grows at a stable pace.



Prev Showing 9 of 10 Pages Next