📜 ⬆️ ⬇️

Read on vacation. The best posts on our blog for 2018



Hello! New Year holidays are coming, and with them a certain amount of free time. We have collected a selection of popular articles from our blog. Inside division → backend, frontend, team, mobile development.

Take a closer look, even if you read our blog from time to time.

Backend


The logic of building backends based on the experience of 2GIS
')
We build a distributed reactive application and solve consistency problems.

The article tells why we decided to design a new system as a set of loosely coupled components and what benefits we got from it. Keywords are Amazon S3, Apache Kafka, Reactive Extensions (Rx), eventual consistency and GitHub, tight deadlines and the inability to assemble a team of the required size from engineers using one technology stack.

Authorization for lazy. Our rake

The story of how we solved the problem of authorization of users of a mobile application on the backend. There is no success story in this article. Better read about those rakes that we collected.

The story about the repository of images. Or how the bike saved from the crutch

The article tells about the development of a service that can store millions of photos and serve thousands of requests per second. This is what we use in the Road events in the navigator, with the help of which users of mobile applications can participate in the exchange of information on the roads: indicate places of an accident, road works, overlaps, and also simply communicate.

As we added the entrances to the map and reduced the size of the bases by 10%

In May, 2GIS began to display entrances. We started to show entrances to organizations back in 2013, and entrances seemed to be the same entrances. Not really. This article is about what difficulties we decided to deliver the feature on time and reduce the size of the bases.

Frontend


Creation of the Arabic version, layout of ideal mailings and Web Push

Service Workers. Web Push and where they live

We consider the little-known Web Push + Service Workers tandem - an effective way to retain the audience with the help of Web Push technology. Find out how this can be useful for editorial sites and other Internet services.

From right to left. What is dir = rtl and how to tame Arabic

They shared the experience of adapting the interface under RTL (right-to-left). The technique is relevant for translating the interface into Hebrew, Arabic and Persian.

The article is mostly about theory. They told us why we needed to turn the whole interface over, what the interface developer means to make the Arabic version and how to deal with the Arabic language mixed with English. Particular attention is paid to the algorithm by which the display of the text of mixed directivity - the unicode bidirectional algorithm.

From right to left. How to turn the site interface under RTL

Practical continuation for those who have mastered the theory. Read how to quickly build a prototype, what to do with the assembly of CSS and what crutches to expand into JS. Pay attention to the features of translation and localization, recall the logical properties of CSS and the RTL theme in CSS-in-JS.

Share and Conquer: Layout Layout Then and Now

A story about e-mails, how they have changed in 20 years, and how the modern front-endder will not fall into depression, milling them. Theoretical article in which we tell how it all began.

Share and Conquer: Tools for Creating and Testing Newsletters

Laying out emails is a pain. To type and test adaptive letters with interactive (for example, with forms and sliders) is a pain in the square. However, not everything is not so bad if you choose the right tools. The article talks about email-frameworks - MJML and Foundation for Emails - and our favorite mailing testing resources - Litmus and Email On Acid.

Management and team


Team building without leaders and unobvious ways of motivation

How to make friends the admin team with development teams

The process of creating a service is not limited to development and testing. In addition, there is also the operation of the service in the production infrastructure. The article deals with how we built the work processes in the Infrastructure & Operations team (9 people) and interaction with the development teams (5 teams).

Corporate merchandise with human UI

Our non-standard way to promote the team. Inside the product history, corporate T-shirts, the spirit of a startup, the manifestation of the initiative, a lot of pictures and not a single microservice.

Three years of certification without managers - normal flight

The story of a unit that has been working without managers since the end of 2015. The guys decide for themselves who and how much to pay, who did a good job, and who didn’t really, whom to hire and who to part with. The article focuses on the most difficult - working with people. They shared how our engineers certify engineers, who now does all the useful work that the managers did.

Mobile development


Creating a multiplayer mode in 5 minutes and a full-fledged map on the Apple Watch in three iterations

You just can not edit data

Of course, you are constantly editing something and are well able to do it. What about data in a mobile application when you need to place a large number of elements on the screen? Do not forget that you need to make it as comfortable as possible for the user. It became more difficult? Inside the solution.

2GIS on your hand. How we added a map to Apple Watch

The idea of ​​creating an application for watches has been in the office of 2GIS since 2015. Before us, only Apple itself released a full-fledged application with a map on the clock. The Yandex.Maps application displays only widgets of traffic jams and travel time to home and work. Yandex.Navigator, Google Maps, Waze and Maps.Me are generally not available on the clock.

In fact, due to the many limitations of the system and the complexity of development, companies either do not make applications for watches at all, or make them very simple. You can not just take and make a map on the clock. But we could.

Source: https://habr.com/ru/post/434416/


All Articles