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 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.


    The logic of building backends based on the experience of 2GIS.

    We build a distributed reactive application and solve consistency problems.

    In this article we explain 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 capable of storing millions of photos and serving 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 the 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.


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

    Service Workers. Web Push and where they live

    Consider the little-known tandem Web Push + Service Workers - an effective way to retain the audience through the technology of Web Push. 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 the Arabic language

    Share 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 Mailing Then and Now

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

    Mail and Conquer: Tools for creating and testing mailing

    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. This article talks about email-frameworks - MJML and Foundation for Emails - and our favorite mailing testing resources - Litmus and Email On Acid.

    Management and team

    Building a team without managers and unobvious ways of motivation

    How to make friends the team of administrators 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 up the work processes in the Infrastructure & Operations team (9 people) and interaction with the development teams (5 teams).

    Corporate merchandising with human UI

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

    Three years of certification without managers - normal flight

    A story about a unit that has been working without managers since the end of 2015. The guys themselves decide who and how much to pay, who worked well 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't edit the data.

    Of course, you are constantly editing something and are very good at doing 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.

    Also popular now: