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

Переход на Metal

Блог компании 2ГИС Разработка под iOS *Разработка мобильных приложений *Objective C *Геоинформационные сервисы *

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 4.1K
Комментарии 19

Новости

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

Блог компании 2ГИС C++ *Разработка мобильных приложений *Геоинформационные сервисы *Swift *

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

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

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

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

Блог компании 2ГИС Геоинформационные сервисы *Аналитика мобильных приложений *

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

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

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

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

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

Блог компании 2ГИС Тестирование веб-сервисов *Тестирование мобильных приложений *Профессиональная литература *

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

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

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

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

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

Блог компании 2ГИС C++ *API *Геоинформационные сервисы *

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

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

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

Блог компании 2ГИС Алгоритмы *Геоинформационные сервисы *Big Data *Машинное обучение *

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

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

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

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

Блог компании 2ГИС Алгоритмы *Геоинформационные сервисы *Машинное обучение *

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

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

Путь исправления процесса, который работает, но бесит

Блог компании 2ГИС Тестирование мобильных приложений *Управление проектами *Управление персоналом *

Привет, я Таня, QA iOS в 2ГИС. Хочу рассказать, как мы починили процесс передачи задач между командами мобильных платформ и подготовки данных. По ощущениям, до починки мы будто ехали по гравийке, а после — выехали на дорогу со свеженьким асфальтом. Поэтому я хочу поделиться нашим опытом и показать, что есть смысл улучшать даже мелкие шероховатости взаимодействия.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 4.7K
Комментарии 3

Чем измерить метрики производительности приложения

Блог компании 2ГИС Тестирование мобильных приложений *

Привет, я Оля, QA iOS. Наша команда выкатывает обновления для мобильного 2ГИС и следит, чтобы у него не упала производительность.

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

Для этого теоретически подходили два инструмента — MetricKit и Performance Monitoring. Мы решили присмотреться к ним, потому что:

• MetricKit — продукт Apple, а значит будет поддерживаться, пока существует iOS;

• Performance Monitoring — продукт Firebase. У нашей команды есть опыт использования Firebase Crashlytics, значит перейти на продукт от этого же производителя будет легко.

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 3.1K
Комментарии 2

Питер глазами DevOps-инженера. «Балтийская жемчужина»

Блог компании 2ГИС Геоинформационные сервисы *Интервью

Денис Яковлев из JetBrains показывает новый питерский микрорайон «Балтийская жемчужина», где всё что нужно — в двух шагах от дома. А ещё рассказывает о трудностях переезда из Сибири и плюсах удалёнки.

Читать далее
Всего голосов 22: ↑11 и ↓11 0
Просмотры 4.3K
Комментарии 14

Как вырастить джунов — советы бывалых из 2ГИС

Блог компании 2ГИС Тестирование IT-систем *Управление персоналом *Карьера в IT-индустрии

Привет, это снова Даша. В прошлой статье я рассказывала о том, как наняла в команду 7 джунов. Но просто привести людей в команду недостаточно, надо чтобы они в ней ещё и прижились. Для погружения джунов в работу мы выработали процесс. Он состоит из четырёх этапов и длится от принятия сотрудника до полугода работы в компании. Об этом процессе я сегодня вам расскажу.

Читать далее
Всего голосов 20: ↑17 и ↓3 +14
Просмотры 13K
Комментарии 5

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

Блог компании 2ГИС Геоинформационные сервисы *Интервью

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

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

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

Блог компании 2ГИС Тестирование IT-систем *Управление персоналом *Карьера в IT-индустрии

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

Читать далее
Всего голосов 30: ↑24 и ↓6 +18
Просмотры 24K
Комментарии 45

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

Блог компании 2ГИС Обработка изображений *Машинное обучение *Искусственный интеллект

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

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

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

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

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

Блог компании 2ГИС Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *Управление разработкой *

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

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 5.8K
Комментарии 27

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

Блог компании 2ГИС C++ *Разработка мобильных приложений *Геоинформационные сервисы *Swift *

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

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

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

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

Блог компании 2ГИС Офисы IT-компаний Научно-популярное

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

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

Читать далее
Всего голосов 63: ↑61 и ↓2 +59
Просмотры 7.3K
Комментарии 6

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

Блог компании 2ГИС Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *

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

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

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

Блог компании 2ГИС JavaScript *Программирование *ReactJS *

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

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

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 9.8K
Комментарии 2

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

Блог компании 2ГИС Разработка мобильных приложений *API *Геоинформационные сервисы *

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

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

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

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

Информация

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