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

Меряем баги весами и рулеткой

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 9

Скрытие POI за зданиями

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

C 2018 года карта веб-версии 2ГИС рендерится при помощи WebGL — API для рисования трехмерной графики. Сначала мы в команде веб-карт использовали эту технологию просто как очень быструю рисовалку двухмерных данных с небольшими исключениями в виде 3D-домов и моделей.

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

И тут возникла проблема
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 0

Строим удобные автомобильные маршруты

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

Хороший автомобильный маршрут из точки А в точку Б должен, с одной стороны, быть кратчайшим, а с другой — удобным для водителя. Как правильно вычислить время в пути мы уже рассказали, теперь — об удобстве маршрутов: что это такое, как его измерить и как мы его повышали.

Читать далее
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 33

Как мы переучивали алгоритм построения маршрутов 2ГИС ради грузовиков

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

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

Я расскажу, как в 2ГИС устроен алгоритм построения маршрутов в целом и как мы адаптировали его под грузовики — например, учили его строить неоптимальные по времени маршруты.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 21

Как показать миллион зданий на карте — и не сломать браузер

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

В 2ГИС мы аккумулируем огромное количество геоданных, с которыми взаимодействуют миллионы пользователей ежедневно. Анализируя их, мы можем получить ценную информацию и найти важные идеи для развития городов. Эти данные также полезны организациям.

Чтобы помочь бизнесу и муниципальным организациям, мы решили создать 2GIS PRO — инструмент для GPU-аналитики, с возможностью визуализации огромного количества данных на карте в виде диаграмм и графиков.

Расскажем, как мы получаем такую картинку, как это всё работает под капотом, и посмотрим, на что способен ваш браузер, ведь ему предстоит отображать сотни тысяч объектов одновременно.

Расскажем, как мы получаем такую картинку, как это всё работает под капотом, и посмотрим, на что способен ваш браузер, ведь ему предстоит отображать сотни тысяч объектов одновременно.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 13

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 3

Первый московский DevDay по Ceph: старый добрый круглый стол по-новому

Время на прочтение 3 мин
Количество просмотров 1.3K
Репортаж

Привет, на связи Юля — DevRel 2ГИС. Расскажу, как придумали формат первого DevDay в столице и кто на нём выступил, поделюсь записями и спойлерну, какие мероприятия ждут вас осенью.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

Носим автотесты на руках

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

Привет! Я Катя, тестировщица в 2ГИС. Расскажу, как мы с командой устроили одиссею в поисках идеальной архитектуры автотестов, атомизировали всё, что можно, один раз свернули не туда, но всё равно нашли лучшее решение из возможных. И не потеряли ни одного тестировщика.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 4

Тестируем поиск 2ГИС: единороги и счастье пользователя

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

2ГИС — миллионы организаций и геообъектов, которые ищут в поиске. И чем точнее работает поиск, тем лучше для пользователя.

Я Эля Снежкова, лид команды тестирования. Мы проверяем, насколько быстро и эффективно работает поиск в 2ГИС. Расскажу, как мы тестируем, про единорогов в тестировании и как мы измеряем счастье пользователя.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 6

Выбираем Qt

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

Наш ведущий разработчик — Евгений Самойлов, недавно сходил в гости к Android Broadcast, где рассказал, почему мы в 2ГИС используем Qt. Для тех, кому удобнее читать, публикую выжимку того разговора.

2ГИС — это сложный продукт с картой, поисковым движком, базой данных, транспортными сценариями и многое другое. У сложного продукта — большое UI-наследие. Чтобы 2ГИС выглядел и работал хорошо на всех Android-устройствах, мы используем фреймворк Qt.

Читать далее
Всего голосов 35: ↑31 и ↓4 +27
Комментарии 41

Перформанс 2ГИС для Android

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

Каждое большое приложение однажды сталкивается с задачей — увеличить скорость запуска. Не обошла она и приложение 2ГИС на Android. Расскажу, как команда тестирования искала причины медленного запуска.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 18

Карта на WebGL: особенности тестирования

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

Наша команда работает над «лицом» 2gis.ru — WebGL-библиотекой для визуализации картографических данных. В статье кратенько расскажем про WebGL (это важно для понимания особенностей его тестирования), про общий подход к тестированию и непосредственно про особенности тестирования приложения на WebGL [с которыми нам пришлось столкнуться].

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 4

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

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

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

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

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

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

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 3

Переход на Metal

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

Мы закончили регрессионное тестирование и со дня на день собираемся начать раскатывать на бой релиз с включенным Metal. Зачем мы это делаем и как всё происходит — рассказываем в статье. 

Причина первая: уход на пенсию OpenGL для iOS/OSX. В 2018 году Apple объявили, что прекращают поддержку этого графического API, и это только вопрос времени, когда они удалят его из своих операционок и запретят выкладывать в App Store приложения, использующие GLES (OpenGL for Embedded Systems — подмножество API OpenGL для встроенных систем, например, мобильных устройств). А кому надо впопыхах интегрировать незнакомый API? Правильно, никому. Плюс, нет-нет да и случаются какие-то неприятные падения где-то под капотом OpenGL, починка которых сводится к мольбам, что очередной точечный фикс кода всё исправит.

Читать далее
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 19

Ускоряем разработку: автоматический перевод C++ в Swift. Часть II

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

В первой статье рассказали, почему нам потребовалась автоматическая кодогенерация свифтового интерфейса для C++ в Mobile SDK. Описали инструменты, которые есть в нашем распоряжении, и сделали вывод: лучший промежуточный слой для преобразования на сегодняшний день — это C. 

Во второй части рассказываем о собственном инструменте, который поддерживает и Swift, и Kotlin — мы называем его Codegen (да :)).

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 0

Умная подсказка в навигаторе: что могло пойти не так

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

Это история о том, что подсказка умная, а мы — нет :)) 

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

Нужен простенький алгоритм!

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 11

О чём говорят тестировщики (на литклубах)

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

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

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

Мы в 2ГИС придумали собственное решение — и уже четыре года проводим инженерные литературные клубы. Расскажу, что это такое и что мы получаем в итоге.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 2

Из вагона направо: как работают подсказки 2ГИС

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

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

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 6

«Скоро приедем?»: как оценить время в пути

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

В этом году мы много работали над качеством предсказания времени в пути (ETA) в навигаторе 2ГИС и на 30% увеличили количество маршрутов, у которых прогнозное время совпадает с реальным с точностью до минуты. Меня зовут Кирилл, я Data Scientist в 2ГИС, и я расскажу, как максимально точно рассчитывать время прибытия из точки А в точку Б в условиях постоянного изменения дорожной ситуации.

Поговорим про то, как мы постепенно меняли подходы к оценке времени в пути: от простой аддитивной модели до использования ML-моделей прогноза пробок и корректировки ETA. Ввели Traversal Time на смену GPS-скоростей, а ещё проводили эксперименты и оценивали качество изменений алгоритма, чистили мусор из данных и закатывали модели в продакшн. Обо всём по порядку.

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 9

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

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

Привет, я Артём, ML-инженер. 26 мая 2ГИС зарелизил навигатор для велосипедов и самокатов, одна из его фич — график высот для построенного маршрута. Эта статья о том, как мы получаем этот график.

Читать далее
Всего голосов 53: ↑52 и ↓1 +51
Комментарии 46

Информация

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