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

Питер глазами разработчика. Петроградская сторона

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

Фронтенд-разработчик Андрей Мелихов — ведущий ютуб-канала «Девшахта» и участник подкаста «Веб-стандарты» — рассказывает, куда идти за вкусными пирожными, как «Девушка с веслом» помогла ему попасть в Яндекс и показал, где на Петроградке окунуться в атмосферу IT. 

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

Взять в команду семь джунов и не поседеть — чему я научилась, пока нанимала сотрудников

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

Привет, я Даша — QA-лид команды iOS. Им я стала полтора года назад. За это время больше всего меня впечатлил наём сотрудников. Сфера была новой и я набила в ней шишек. Из опыта удалось вывести несколько правил, которые помогли не сойти с ума от поиска, отбирать хороших джунов и обучать их так, чтобы люди оставались в команде и приносили пользу проекту.

Читать далее
Всего голосов 26: ↑20 и ↓6+18
Комментарии45

23 решения одной задачи: как мы делали соревнование по Computer Vision

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

Осенью команда 2ГИС участвовала в конкурсе в рамках AI Journey, который организовали ребята из Сбера. Команды учеников школ соревновались в решении ML-задач разных сервисов — Ситимобила, Sber AR/VR, Neurolab, Работы.ру и многих других.

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

Начну без спойлеров, но с вопроса — как думаете, какое решение победило в конкурсе?

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

Парковка магнитолы и гайдлайны Гугла: с чем мы столкнулись, интегрируя навигатор 2ГИС в Android Auto

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

Привет! Я Аня, QA-инженер из команды Android в 2ГИС. В середине прошлого года мы наладили контакт с командой Гугла. На тот момент релиза SDK Android Auto ещё не было. Но мы получили ранний доступ к SDK и смогли интегрировать в него навигатор первыми в России.

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

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

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

В июле этого года мы выпустили Mobile SDK для iOS и Android, позволяющий разработчикам использовать наши карты, поиск и навигацию в своих мобильных приложениях.

Эта о том, как нам удалось автоматизировать превращение SDK из кроссплатформенной библиотеки на С++ в привычную свифтовую библиотеку. Иначе говоря, как мы соединяли Swift с C++. Спойлер: без изобретения велосипеда не обошлось.

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

Удивительная история дома Пеля на Литейном, в котором расположился центр разработки 2ГИС

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

Этим летом мы организовали в Санкт-Петербурге небольшой офис-коворкинг — место встречи удалёнщиков из европейской части России и штаб для нескольких продуктовых команд. Мы искали что-то кроме бизнес-центров — и так оказались в одном из самых знаменитых дворов в центре города. 

Приглашаем на виртуальную экскурсию по окрестностям дома Пеля на Литейном: заглянем в неплохо сохранившуюся парадную начала XX века, посидим у печи в бывшей барской квартире и не только.

Читать далее
Всего голосов 52: ↑50 и ↓2+59
Комментарии6

Самая большая проблема в ваших проектах прямо сейчас

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

В этот четверг вечером мы проведём открытую ютуб-трансляцию небольшого QA-митапа в Санкт-Петербурге. Накануне мы задали спикерам мероприятия несколько интересных вопросов — вот их истории.

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

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

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

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

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

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

Map matching, стилизация кластера и игры со шрифтами — что нового в 2GIS Kit

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

Привет! Это первый выпуск дайджеста 2GIS Kit — набора картографических, поисковых и навигационных инструментов для разработчиков.

Если о больших продуктах получается рассказать отдельными статьями на том же vc.ru (например, Mobile SDK и редактор стилей), то о каждой фиче так не получается. А фич-то много!

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

Ну-ка, что там
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Код без багов и сломанное авто: как мы нетривиально проверяли Заправки 2ГИС

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

Машина кружит по заправочной станции на окраине Питера. Подъезжает к колонке, доливает пару литров, отъезжает в парковочный карман, стоит минуту — и всё повторяется снова.

Разомлевший на жаре (на улице июньские 34 градуса!) заправщик у соседней колонки лениво смотрит на происходящее. Кажется, его не удивляет, что два человека в салоне с ноутбуками постоянно что-то кричат третьему — и тот как будто делает всё по команде. Есть ещё один, четвёртый — он бегает и снимает это на телефон.

Но после третьего круга не выдерживает оператор на кассе. «Двенадцатая колонка, оплачивать будете?» — доносится из динамика.

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

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

Создаём инфраструктуру для интеграционных тестов: делаем образы и подводим итоги

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

Это вторая статья из короткого цикла про создание инфраструктуры для автотестов. Первая доступна здесь.

3 года назад команда Fiji решила переизобрести инфраструктуру для интеграционных тестов. Мы перенесли тестовые БД в docker-контейнеры и научились поднимать в Kubernetes контур для автотестирования.

В этот раз поговорим про то, как создавать и актуализировать образы БД для интеграционных тестов. Также я расскажу, как благодаря автотестам изменились процессы в нашей команде. Затем подведу итоги и поделюсь планами на будущее.

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

Создаём инфраструктуру для интеграционных тестов

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

Меня зовут Слава Черепанов, я работаю в 2ГИС в проекте Fiji. Мы делаем профессиональную ГИС-систему, с помощью которой картографы создают карту мира в 2ГИС. Расскажу, как в этом проекте за 4 года эволюционировала инфраструктура интеграционных тестов. Это будет не летопись, а история про выборы, их причины и следствия. Разберёмся, как создать подходящую вам тестовую инфраструктуру и справиться с этим в разумные сроки.

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

Кроссплатформенная растеризация SVG — сравниваем библиотеки и экспериментируем

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

На карте 2ГИС очень много картинок — те же знаки дорожного движения и логотипы компаний. Графические API, которые в наши карты предоставляют Android и iOS, обычно не могут рисовать векторную графику напрямую, поэтому нам приходится её растеризовать. А так как мы заранее не знаем нужный размер картинки и не можем её растеризовать до сборки ресурсов, используем растеризаторы.

И если для 2ГИС на Android и iOS мы можем использовать платформенные решения, то затаскивать их в Mobile SDK было бы, мягко говоря, не очень правильно.

Под катом — небольшая история, как работает растеризация в мобильных 2ГИС и какое решение мы выбрали для Mobile SDK

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

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

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

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

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

За что мы (не) любим нативную мобильную разработку в 2021: обсуждаем с 2ГИС, Самокатом, Podlodka и CocoaHeads в четверг

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

Привет! Вечером 8 июля мы проведем открытый онлайн-митап, на котором можно будет послушать о сложностях генерации корректного промежуточного свифтового кода из C++, граблях работы со скрытым системным API в Android, а также обсудить тему "Годзилла против Конга или Нативная разработка vs WebView (и все, что между ними)".

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

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

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

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

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

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

DevDay-подкаст, или что не так с онлайн-митапами

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

Мы записали свой подкаст. Ещё перед тем как ввязываться, прекрасно понимали, что эту тему сложно назвать трендовой. Некоторые вообще считают, что она уже ближе к Клабхаусу. Но мы ставили цель не похайпить, а решить вполне конкретную задачу — победить уныние онлайна.

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

Делаем хитмап стоимости недвижимости на общедоступных алгоритмах и опенсорсных библиотеках

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


Карта 2gis.ru работает на WebGL-движке, который позволяет визуализировать данные. Когда мы делали слой недвижимости, то решили добавить ещё и тепловую карту стоимости квадратного метра. Во-первых, это красиво. А во-вторых, такие карты могут помочь с выбором квартиры.

Под катом — про то, какими алгоритмами пользовались и с какими трудностями встретились, когда делали хитмап стоимости квартир на собственных данных.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+25
Комментарии42

Навигатор для пешеходов

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

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

Под катом — история о том, как мы хотели решить эту задачу по-быстрому, опираясь на экспертизу в навигации для авто, а в итоге придумывали новые сценарии, боролись за размер баз и учились давать правильные инструкции.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии40

Особенности масштабирования WebGL-карты

Время на прочтение4 мин
Количество просмотров4.9K
Мы выпустили редактор стилей. Подробно о том, как с ним можно настроить карту под задачи сервиса, можно почитать на vc.ru. На Хабре же хотим рассказать о концепции StyleZoom, которую мы используем в том числе и в редакторе стилей.

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


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

Информация

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