
Денис Яковлев из JetBrains показывает новый питерский микрорайон «Балтийская жемчужина», где всё что нужно — в двух шагах от дома. А ещё рассказывает о трудностях переезда из Сибири и плюсах удалёнки.
Денис Яковлев из JetBrains показывает новый питерский микрорайон «Балтийская жемчужина», где всё что нужно — в двух шагах от дома. А ещё рассказывает о трудностях переезда из Сибири и плюсах удалёнки.
Привет, это снова Даша. В прошлой статье я рассказывала о том, как наняла в команду 7 джунов. Но просто привести людей в команду недостаточно, надо чтобы они в ней ещё и прижились. Для погружения джунов в работу мы выработали процесс. Он состоит из четырёх этапов и длится от принятия сотрудника до полугода работы в компании. Об этом процессе я сегодня вам расскажу.
Фронтенд-разработчик Андрей Мелихов — ведущий ютуб-канала «Девшахта» и участник подкаста «Веб-стандарты» — рассказывает, куда идти за вкусными пирожными, как «Девушка с веслом» помогла ему попасть в Яндекс и показал, где на Петроградке окунуться в атмосферу IT.
Привет, я Даша — QA-лид команды iOS. Им я стала полтора года назад. За это время больше всего меня впечатлил наём сотрудников. Сфера была новой и я набила в ней шишек. Из опыта удалось вывести несколько правил, которые помогли не сойти с ума от поиска, отбирать хороших джунов и обучать их так, чтобы люди оставались в команде и приносили пользу проекту.
Осенью команда 2ГИС участвовала в конкурсе в рамках AI Journey, который организовали ребята из Сбера. Команды учеников школ соревновались в решении ML-задач разных сервисов — Ситимобила, Sber AR/VR, Neurolab, Работы.ру и многих других.
У нашей задачи — распознавания направления движения по полосам на двух дорожных знаках — было 23 решения. Но я расскажу только про финальные, к которым ребята и мы в итоге пришли.
Начну без спойлеров, но с вопроса — как думаете, какое решение победило в конкурсе?
Привет! Я Аня, QA-инженер из команды Android в 2ГИС. В середине прошлого года мы наладили контакт с командой Гугла. На тот момент релиза SDK Android Auto ещё не было. Но мы получили ранний доступ к SDK и смогли интегрировать в него навигатор первыми в России.
В июле этого года мы выпустили Mobile SDK для iOS и Android, позволяющий разработчикам использовать наши карты, поиск и навигацию в своих мобильных приложениях.
Эта о том, как нам удалось автоматизировать превращение SDK из кроссплатформенной библиотеки на С++ в привычную свифтовую библиотеку. Иначе говоря, как мы соединяли Swift с C++. Спойлер: без изобретения велосипеда не обошлось.
Этим летом мы организовали в Санкт-Петербурге небольшой офис-коворкинг — место встречи удалёнщиков из европейской части России и штаб для нескольких продуктовых команд. Мы искали что-то кроме бизнес-центров — и так оказались в одном из самых знаменитых дворов в центре города.
Приглашаем на виртуальную экскурсию по окрестностям дома Пеля на Литейном: заглянем в неплохо сохранившуюся парадную начала XX века, посидим у печи в бывшей барской квартире и не только.
В этот четверг вечером мы проведём открытую ютуб-трансляцию небольшого QA-митапа в Санкт-Петербурге. Накануне мы задали спикерам мероприятия несколько интересных вопросов — вот их истории.
Представим, что у нас есть приложение на React, в котором можно читать и писать отзывы. Пользователь открыл список отзывов, пролистал его, нажал кнопку «Написать отзыв». Форма написания отзыва открывается в попапе. Пользователь начинает вводить текст, свой email. Вдруг валидация почты срабатывает с ошибкой, которую разработчики забыли обработать. Результат — белый экран. React просто не смог ничего отрендерить из-за этой ошибки в каком-то попапе.
Первая же мысль — не надо было всё уничтожать, список же был не при делах. Чтобы обработать ошибку в render-фазе в React, необходимо использовать Error Boundaries. Почему именно так нужно обрабатывать ошибки — расскажу под катом.
Привет! Это первый выпуск дайджеста 2GIS Kit — набора картографических, поисковых и навигационных инструментов для разработчиков.
Если о больших продуктах получается рассказать отдельными статьями на том же vc.ru (например, Mobile SDK и редактор стилей), то о каждой фиче так не получается. А фич-то много!
Так что пробуем формат, в котором здесь будем рассказывать о небольших, но важных обновлениях. Сегодня расскажу, что сделали за последние три месяца.
Машина кружит по заправочной станции на окраине Питера. Подъезжает к колонке, доливает пару литров, отъезжает в парковочный карман, стоит минуту — и всё повторяется снова.
Разомлевший на жаре (на улице июньские 34 градуса!) заправщик у соседней колонки лениво смотрит на происходящее. Кажется, его не удивляет, что два человека в салоне с ноутбуками постоянно что-то кричат третьему — и тот как будто делает всё по команде. Есть ещё один, четвёртый — он бегает и снимает это на телефон.
Но после третьего круга не выдерживает оператор на кассе. «Двенадцатая колонка, оплачивать будете?» — доносится из динамика.
Наше приложение — первый в истории 2ГИС продукт, в котором платёжный пайплайн полностью реализован нами самими внутри. Ещё за пару месяцев до этого у нас не было почти ничего, кроме идеи и команды. А полчаса назад казалось, что всё, что может пойти не так, пойдёт не так на этом первом полевом тесте.
Это вторая статья из короткого цикла про создание инфраструктуры для автотестов. Первая доступна здесь.
3 года назад команда Fiji решила переизобрести инфраструктуру для интеграционных тестов. Мы перенесли тестовые БД в docker-контейнеры и научились поднимать в Kubernetes контур для автотестирования.
В этот раз поговорим про то, как создавать и актуализировать образы БД для интеграционных тестов. Также я расскажу, как благодаря автотестам изменились процессы в нашей команде. Затем подведу итоги и поделюсь планами на будущее.
Меня зовут Слава Черепанов, я работаю в 2ГИС в проекте Fiji. Мы делаем профессиональную ГИС-систему, с помощью которой картографы создают карту мира в 2ГИС. Расскажу, как в этом проекте за 4 года эволюционировала инфраструктура интеграционных тестов. Это будет не летопись, а история про выборы, их причины и следствия. Разберёмся, как создать подходящую вам тестовую инфраструктуру и справиться с этим в разумные сроки.
На карте 2ГИС очень много картинок — те же знаки дорожного движения и логотипы компаний. Графические API, которые в наши карты предоставляют Android и iOS, обычно не могут рисовать векторную графику напрямую, поэтому нам приходится её растеризовать. А так как мы заранее не знаем нужный размер картинки и не можем её растеризовать до сборки ресурсов, используем растеризаторы.
И если для 2ГИС на Android и iOS мы можем использовать платформенные решения, то затаскивать их в Mobile SDK было бы, мягко говоря, не очень правильно.
Под катом — небольшая история, как работает растеризация в мобильных 2ГИС и какое решение мы выбрали для Mobile SDK
Неделю с небольшим назад прошел онлайн-митап, который будет интересен как опытным iOS- и Android-разработчикам, так и тем, кто только выбирает путь. Два хардкорных доклада и дискуссия о состоянии рынка — под катом в виде записей с таймкодами и презентациями.
Привет! Вечером 8 июля мы проведем открытый онлайн-митап, на котором можно будет послушать о сложностях генерации корректного промежуточного свифтового кода из C++, граблях работы со скрытым системным API в Android, а также обсудить тему "Годзилла против Конга или Нативная разработка vs WebView (и все, что между ними)".
Со временем этот пост можно будет читать в двух разных настроениях. Если придёт новый карантин — вспоминать, как успели вдохнуть свежего воздуха офлайна. Если не придёт — как начало нового этапа общения не только через зум.
В конце мая мы успели сходить на CodeFest, где выступили с докладами и подготовили стенд с пазлом в 1440 деталей и конструктором постеров.
Мы записали свой подкаст. Ещё перед тем как ввязываться, прекрасно понимали, что эту тему сложно назвать трендовой. Некоторые вообще считают, что она уже ближе к Клабхаусу. Но мы ставили цель не похайпить, а решить вполне конкретную задачу — победить уныние онлайна.