Как стать автором
Поиск
Написать публикацию
Обновить
89.07
2ГИС
Главные по городской навигации
Сначала показывать

DevDay — открытые встречи для общительных айтишников

Время на прочтение2 мин
Количество просмотров7.3K


Три года назад веб-разработчики 2ГИС собирались раз в месяц, чтобы поговорить о насущном. В большом отделе трудно уследить за всем подряд, и мы рассказывали друг другу, какими методами и инструментами решаем интересные задачи. Делали по два небольших доклада в рабочее время.

Потом подумали: чтобы развиваться самим, нужно общаться с разработчиками из других компаний. Делиться своим опытом и спрашивать о вещах, в которых они разбираются лучше. Так появились DevDay — открытые встречи для общительных айтишников в Новосибирске.
Читать дальше →

2ГИС и z-o-n.ru: есть, где поесть и куда сесть

Время на прочтение1 мин
Количество просмотров5.3K
Не так давно мы рассказывали о нашей концепции «+1»: это сервисы, которые могут быть добавлены в справочник 2ГИС, чтобы уменьшить количество требуемых шагов для пользователя для выполнения той или иной задачи. Благодаря самым первым «+1» наши пользователи уже могут покупать билеты в кино или записываться в различные учреждения прямо из нашего справочника. А обеспечены те функции сервисами «Рамблер-Касса» и «Таймлайнер».

Как мы уже говорили, мы находимся в постоянном поиске новых партнеров, предлагая нашу многомиллионную аудиторию в обмен на новые функции. И сегодня нашим очередным партнером стала система заказа столиков онлайн z-o-n.ru.

image
Читать дальше →

Интеграция Flutter Mobile SDK в ОС Аврора

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров2.2K

Аврора — это отечественная мобильная ОС, развиваемая компанией «Открытая мобильная платформа». Она построена на базе Linux и унаследовала часть решений от Sailfish OS, но за последние годы превратилась в самостоятельную, зрелую платформу. Пятая версия, вышедшая в 2024 году, ориентирована не только на корпоративный сектор, но и на массового пользователя. В ней — переработанный интерфейс, поддержка планшетов, 64-битная архитектура, повышенная устойчивость и растущая экосистема приложений.

И вот в эту экосистему мы решили встроить наш Flutter Mobile SDK. В этой статье мы — тимлид Mobile SDK в 2ГИС Александр Максимовский и Flutter-разработчик @Sameri11 Михаил Новосельцев — расскажем про технические детали адаптации.

Читать далее

Нативная мощь: Flutter SDK на C++ ядре. Часть 1

Уровень сложностиСложный
Время на прочтение18 мин
Количество просмотров4K

Меня зовут Александр Максимовский, и я тимлид команды Mobile SDK в 2ГИС. Мы разрабатываем SDK — набор инструментов, который позволяет другим разработчикам внедрять наши технологии (карту, справочник, построение маршрутов и навигатор) в свои мобильные приложения. Благодаря нам можно быстро и удобно интегрировать функциональность 2ГИС, не тратя время на реализацию сложных решений с нуля. Мы сделали решение, которое позволяет из Flutter-приложения напрямую вызывать C++ код. Под капотом:

▪️ FFI для прямого взаимодействия с C++ кодом ядром;

▪️ Кодогенерируемое API почти полностью аналогично iOS и Android Mobile SDK;

▪️ TextureWidget вместо PlatformView для рендеринга карты;

▪️ Единые виджеты для отображения карты как для Android, так и для iOS.

Если вы работаете с Flutter, интегрируете карты или маршруты или просто любите разбираться в архитектуре SDK — эта статья для вас. Под катом детально рассказываю про основу продукта — кодогенератор для генерации платформенного Dart-кода на основе C++ интерфейсов.

Читать далее

FrontFest.Keynote — Блейн Кук (создатель OAuth) и Матеус Фернандес (CTO Zeit)

Время на прочтение2 мин
Количество просмотров1.6K
FrontFest.Keynote — Блейн Кук и Матеус Фернандес

Киноут-выступления задают настроение или подводят какую-то черту. На конференции CodeFest мы четыре года придерживаемся этой традиции. В программе всегда есть то, что вдохновляет людей не только своей технической составляющей, но подходом и идеями.

В последние годы мы открывали конференции рассказами о технологиях. Закрывали рассказами о позитивном мышлении и преодолении неприятных моментов в жизни и работе.

На FrontFest мы продолжим эту традицию. В начале создатель протокола OAuth Блейн Кук расскажет о том, как соблюсти баланс между надежностью и сложностью авторизации. Закроет конференцию доклад 22-летнего вице-президента по технологиям ZEIT — о том, насколько желание работать в IT важнее высшего образования.
Подробнее

Как провести Testing Dojo

Время на прочтение6 мин
Количество просмотров4.7K


Есть такая штука — Testing Dojo. Это соревнования, где участники ищут баги в приложениях. Кто больше найдёт — тот и победил. Обычно соревнуются командами. Если баги приходится искать вручную, участвуют только тестировщики. Если в бой идут автотесты, подключаются разработчики.

В 2ГИС Testing Dojo уже давно стал доброй традицией: проводим его третий год подряд. За это время мы много поняли о том, как делать лучше. Под катом поделимся опытом: вдруг и вы захотите сделать свой Testing Dojo.
Читать дальше →

Кто такие городские герои: как мы в 2ГИС краудсорс развивали

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.4K

В 2ГИС мы знаем: лучшие продукты создаются вместе с пользователями. Уже почти 7 лет наше комьюнити помогает нам дополнять и актуализировать справочник. Мы называем этих людей спецагентами — они уточняют информацию, пишут отзывы, добавляют фотографии и делают 2ГИС удобнее для миллионов пользователей. 

И мы захотели вовлечь ещё больше людей в развитие продукта. Так появился новый краудсорсинговый инструмент — Telegram-бот, который мотивирует пользователей добавлять фото к местам и организациям. Запуск показал, как правильно выстроенный краудсорс может решать бизнес-задачи, масштабироваться и вовлекать пользователей. Этот кейс будет полезен продакт-менеджерам и маркетологам, которые ищут новые способы роста и взаимодействия с аудиторией.

Читать далее

d42 в действии: лучшие практики подготовки данных

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.6K

Привет, меня зовут Андякина Ольга, я QA‑инженер в компании 2ГИС, тестирую сервис по бронированию отелей Отелло. В этой статье расскажу про плюсы и минусы разных подходов к генерации данных и поделюсь хорошими практиками подготовки данных на примере пакета библиотек d42 и нашего проекта. В первую очередь, наш опыт будет полезен тем, кто занимается автоматизацией тестирования фронтенда.

Автоматизированное тестирование сложно представить без использования тестовых данных. Например, при интеграционном тестировании нужно записывать данные в базу и валидировать полученные данные, в нагрузочном — выполнять запрос с уникальными параметрами. Также данные могут потребоваться при фронтенд‑ и e2e‑тестировании, чтобы наполнить блок текстом или ввести ФИО в форму. Есть различные подходы к получению тестовых данных для автотестов, и генерация данных — один из самых удобных и гибких подходов.

Читать далее

Как Василий ускорял сборку тестов

Время на прочтение7 мин
Количество просмотров4.2K

Однажды инженер Василий проснулся и понял, что больше не может ждать эти бесконечные пайплайны.

Чтобы отделить ощущения от реальности, он начал собирать статистику — сколько ходят пайпланы, сколько выполняются сами тесты в сервисе фото, а сколько собираются образы. Всё обдумав, он осознал: нужно что-то делать непосредственно с самой сборкой — от пайплайна к пайплайну зависимости меняются редко, а пересобирается всё каждый раз, как в первый.

Картина была такая: от старта пайплайна до непосредственного запуска тестов в сервисе проходило в среднем 7,5 минут. Допустим, за рабочий день каждый член команды (разработчик/тестировщик) запускает 3 пайплайна, а людей в команде — 14. Тогда на сборку образа уходит 5 часов 15 минут. 

Василию не подходит.

Читать далее

Микросервисы: деплой, координация и согласованность данных

Время на прочтение1 мин
Количество просмотров11K


Про микросервисы не рассказывал только ленивый. Вот и мы не ленивые. Решили поговорить о микросервисах. Но только не ещё раз о том, что это такое, а о том, как мы их сервируем в 2ГИС. Например, наши бекенды держат 15 млн пользователей в месяц. На встрече поговорим о деплое, координации и согласованности данных.
Подробности про DevDay

Забудь про XPath и CSS-селекторы: путь от стандартных локаторов к кастомным

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.5K

Локаторы — важная часть автоматизации тестирования. Они позволяют находить элементы на странице для взаимодействия с ними в тестах. Но что делать, если стандартные методы, такие как CSS-селекторы и XPath, становятся громоздкими, ломаются при изменении структуры страницы или не поддерживают уникальные особенности элементов? Решение — кастомные локаторы.

Меня зовут Лёша, и я занимаюсь тестированием в 2ГИС. Моя команда работает над сервисом по бронированию отелей Отелло. В этой статье я расскажу, как использовать кастомные локаторы, чтобы тесты оставались стабильными и поддерживаемыми даже при изменениях в приложении. В примерах я использую Python, но не стоит пугаться, если вы не знакомы с этим языком, каких-то сложных операций мы сегодня выполнять не будем.

Читать далее

Замедляем разработку. Вредные советы по тестированию в проектах

Время на прочтение9 мин
Количество просмотров4K

Привет, меня зовут Кристина Климовских, я — Python Developer в команде DataMining. Главная задача моей команды — поддерживать бесперебойный флоу добычи данных для обогащения и актуализации справочника 2ГИС.

Ежедневно наши парсеры собирают разношёрстные данные из более 700 источников — это поставщики адресов магазинов, отзывов к заведениям, расписания общественного транспорта, ссылок на запись в салоны красоты и всё остальное, что можно впоследствии найти в 2ГИС. Поддерживать этот «зоопарк» парсеров нам помогают тесты — в каждом из проектов добычи мы стараемся покрывать новый функционал тестами и использовать их при раскатке в CI.

Однажды в одном из проектов флоу тестирования начал сильно тормозить разработку и докатку новый фичей до боя. Хочу рассказать о проблемах, с которыми мы столкнулись, но двигаясь в обратном направлении — от того, к чему пришли, к тому, что было.

Читать далее

ML для ускорения работы картографов

Время на прочтение5 мин
Количество просмотров2K

Дорожные знаки — один из базовых компонентов любого навигатора. Мы собираем и регулярно обновляем информацию о них: добавляем новые и удаляем неактуальные. Для этого используем кадры с видеорегистраторов, глаза и руки картографов и немного ML-магии. В статье поговорим о том, как мы дополняем нашу карту дорожными знаками, как работаем с данными и формализуем задачи.

Читать далее

Error Boundaries в React: препарируем лягушку

Время на прочтение11 мин
Количество просмотров26K

Представим, что у нас есть приложение на React, в котором можно читать и писать отзывы. Пользователь открыл список отзывов, пролистал его, нажал кнопку «Написать отзыв». Форма написания отзыва открывается в попапе. Пользователь начинает вводить текст, свой email. Вдруг валидация почты срабатывает с ошибкой, которую разработчики забыли обработать. Результат — белый экран. React просто не смог ничего отрендерить из-за этой ошибки в каком-то попапе.

Первая же мысль — не надо было всё уничтожать, список же был не при делах. Чтобы обработать ошибку в render-фазе в React, необходимо использовать Error Boundaries. Почему именно так нужно обрабатывать ошибки — расскажу под катом.

Читать далее

Ближайшие события

Материалы для мобильных разработчиков с DevDay Mobile

Время на прочтение2 мин
Количество просмотров1.7K

Неделю с небольшим назад прошел онлайн-митап, который будет интересен как опытным iOS- и Android-разработчикам, так и тем, кто только выбирает путь. Два хардкорных доклада и дискуссия о состоянии рынка — под катом в виде записей с таймкодами и презентациями.

Читать далее

2ГИС на CodeFest: пазл 3×1,2 метра и Октокэт

Время на прочтение2 мин
Количество просмотров2.1K

Со временем этот пост можно будет читать в двух разных настроениях. Если придёт новый карантин — вспоминать, как успели вдохнуть свежего воздуха офлайна. Если не придёт — как начало нового этапа общения не только через зум.

В конце мая мы успели сходить на CodeFest, где выступили с докладами и подготовили стенд с пазлом в 1440 деталей и конструктором постеров. 

Читать далее

От Новичка до Иконы стиля: как мы сделали награды в 2ГИС

Время на прочтение11 мин
Количество просмотров3.4K


Пользователи 2ГИС каждый день помогают нам поддерживать точность данных: сообщают о новых компаниях, добавляют дорожные события, загружают фото и пишут отзывы. Раньше мы могли поблагодарить их только словами или устроить розыгрыш подарков. Но слова со временем забываются, а подарки достаются далеко не каждому. Поэтому мы решили сделать так, чтобы все неравнодушные к 2ГИС люди видели свой вклад в продукт и нашу за это благодарность.

Так появились награды — виртуальные медальки, которые мы начисляем за разного рода задания: загрузить фото в карточки кафе, написать отзывы о театрах, уточнить время работы организаций и так далее. Заработанные награды пользователи видят в личном профиле 2ГИС и на вкладке «Мой 2ГИС» в мобильном приложении. Там же мы показываем, сколько осталось до следующего достижения.

Чтобы реализовать эту фичу, мы научились обрабатывать поток событий объемом 500 тысяч записей в час (местами — до 50 тысяч в секунду) и анализировать данные из нескольких сервисов. А еще — добавили немного метапрограммирования для того, чтобы упростить конфигурирование при разработке новых наград.

Вместе с Rapter расскажем, что находится под капотом процесса выдачи наград.
Читать дальше →

Ещё больше комфорта в разработке фронтенда с TARS

Время на прочтение6 мин
Количество просмотров17K
TARS

Прошли очередные полгода с последних новостей о TARS (раз и два), а значит настало время поделиться новинками. Как всегда напомню, что TARS — это основанный на Gulp сборщик фронтенда, который помогает фронтенд-разработчику или даже целой команде создавать проекты любой сложности. Мы продолжаем уверенное шествие по России и не только. TARS уже используют в Нидерландах, Японии, Китае, Украине, Польше и других странах. Это можно заметить и по количеству звёзд на github, и по числу участников чата в gitter, и по количеству установок TARS-CLI за последний месяц (больше тысячи, а в пике больше 3 тысяч). Мы закрыли почти две сотни issue, выпустили два крупных обновления. Пользователи сборщика активно репортят, участвуют в разработке. Можно сказать, что у нас родилось маленькое сообщество.
Подробности

Городской хакатон 2ГИС в Москве

Время на прочтение1 мин
Количество просмотров3.6K


После крутого хакатона в Новосибирске мы решили устроить ещё один — в Москве. Тема та же — «Продукты для комфортной жизни в городе».

Приглашаем бекенд-разработчиков, фронтендеров, мобильных разработчиков, дизайнеров и менеджеров в наш офис на «Арме». Хакатон пройдёт с 17 по 19 июня. Регистрируйтесь со своей идеей или присоединяйтесь к заявленным проектам.
Подробнее про хакатон

Момент истины

Время на прочтение1 мин
Количество просмотров8K
На таймере обратного отсчета осталось совсем чуть-чуть. Гости собрались и вот-вот уже всё случится. Если вы не поняли, о чем речь — она о пресс-конференции 2ГИС, которая состоится в центре Digital October через считанные минуты. На ней мы расскажем о прошлом, настоящем и будущем 2ГИС и покажем нечто, что, надеемся, сделает вашу жизнь еще удобнее.



Запасайтесь попкорном, откиньтесь на спинку кресла, как это предлагалось сделать при установке Windows 98, и наслаждайтесь просмотром.

Информация

Сайт
2gis.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Наталья Акберова