Как стать автором
Обновить
201.16
Рейтинг
Ситимобил
Творим городскую мобильность
Сначала показывать
  • Новые
  • Лучшие

Эксперименты в Ситимобил. Эпизод 2: Атака тестов на Switchback

Блог компании СитимобилМатематика*Машинное обучение*

Всем привет! На линию выходит команда динамического ценообразования Маркетплейса СитиМобил.

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

Сегодня мы расскажем о практических шагах и ответим на главные, волнующие всех экспериментаторов вопросы: какими статистическими методами можно проверить switchback-тест и как выбрать подходящий.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Просмотры1.2K
Комментарии 5
Как гласит народная мудрость, дурак учится на своих ошибках, а умный на чужих. Меня зовут Вадим (@Sirion), я увлекаюсь математикой и люблю наблюдать, как из хаоса рождаются сложные теории. И в этой статье я хочу рассказать, чему научились умные люди на крахе доткомов. Эта экономическая катастрофа стала импульсом для появления юнит-экономики — полезного и простого инструмента, позволяющего оценить перспективы бизнеса, даже если вы не экономист, а простой разработчик или дизайнер.
Читать далее
Всего голосов 27: ↑26 и ↓1+25
Просмотры8K
Комментарии 14

Как мы за квартал подготовили редизайн водительского приложения

Блог компании СитимобилПроектирование и рефакторинг*Разработка под Android*

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

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

Вот какие изменения должны были произойти.

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

Жизненный цикл ML-модели

Блог компании СитимобилBig Data*Машинное обучение*

Всем привет! Меня зовут Максим, и в Ситимобил я занимаюсь машинным обучением. Сегодня я расскажу вам, как мы разрабатываем устойчивые ML-модели в суровых условиях изменчивого мира.

Врууум
Всего голосов 19: ↑19 и ↓0+19
Просмотры2.9K
Комментарии 1

Знакомимся с async/await в Swift

Блог компании СитимобилРазработка под iOS*Разработка мобильных приложений*Swift*

Один из самых ожидаемых релизов на WWDC 21 - новая многопоточность в iOS среде.

Под катом разберемся, что это за зверь, как он работает и какие возможности предоставляет.

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

Безопасность в мобильных приложениях

Блог компании СитимобилИнформационная безопасность*Разработка под Android*

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

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

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

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

Повышение устойчивости микросервисов к отказам

Блог компании СитимобилАнализ и проектирование систем*Микросервисы*

Как уже известно, около 70 % отказов в приложениях происходят из-за изменений: развёртывания нового кода, применённых миграции в базе данных, изменения конфигурационных файлов и т.д. Остальные 30 % сбоев происходят в ходе работы приложения без прямого вмешательства разработчиков и системных администраторов: из-за проблем с сетью или дисками, возросшей нагрузки от пользователей, аварии в дата-центре. На первую группу мы можем повлиять с помощью управления изменениями и стратегии проведения этих изменений, а как повысить устойчивость к проблемам из второй группы, мы поговорим в этой статье.

Врууум
Всего голосов 21: ↑21 и ↓0+21
Просмотры4.5K
Комментарии 4

Detekt — пишем свои правила

Блог компании СитимобилKotlin*
Tutorial

Мы в «Ситимобил», используем статический анализатор кода Detekt. Это инструмент, который при запуске проходит по проекту и показывает допущенные в коде code smell.
Сегодня мы расскажем, как написать свое правило и помочь команде соблюдать уникальные для проекта договоренности написания кода.

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

React. Не вглубь, а вширь. Композиция против реальности

Блог компании СитимобилJavaScript*ReactJS*

Давайте рассмотрим искусственный пример кода, который, как и в жизни, постепенно будет расширяться и усложняться, а наша задача, глядя на это всё, понять: не пора ли рефакторить. План наших действий: задача – решение – анализ – рефакторинг. Приступим.

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

Switchback-эксперименты в Ситимобил. Эпизод 1: Скрытая сила switchback

Блог компании СитимобилBig Data*Машинное обучение*

Сегодня с вами на связи отдел динамического ценообразования Ситимобил. И мы начинаем серию статей о том, как мы проводим и оцениваем ценовые эксперименты внутри нашего маркетплейса.

В этой статье мы расскажем вводную информацию про switchback и сетевой эффект.

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

Все что вы (не) хотели знать о Data Science

Блог компании СитимобилData Mining*Big Data*Машинное обучение*Карьера в IT-индустрии

Всем привет! Меня зовут Михаил Дьячков, и в Ситимобил я занимаюсь анализом данных и машинным обучением. Сегодня я хочу поговорить о Data Science: что же это вообще такое в глазах кандидатов, работодателей и экспертов; о несовпадении ожиданий, грейдах и собеседованиях, а также о том, какие задачи решают дата саентисты в Ситимобил.

Вжуууух
Всего голосов 18: ↑18 и ↓0+18
Просмотры11K
Комментарии 7

Как ухаживать за грядкой Redis'а и как сохранить урожай?

Блог компании СитимобилOpen source*NoSQL*Администрирование баз данных*

Чуть более года назад мне посчастливилось погрузиться в углублённое изучение Redis. Всё, что я знал про него на тот момент, это две команды — get и set. Примерно в это же время у нас начался плавный переход со Standalone Redis на Redis Cluster.

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

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

Вас заметили! App Tracking Transparency (ATT) для iOS 14.5

Блог компании СитимобилРазработка под iOS*Разработка мобильных приложений*Swift*Монетизация мобильных приложений*
Tutorial

Недавно вышла iOS 14.5, а чуть ранее Apple предупредила разработчиков, что начиная с этой версии ОС необходимо поддерживать фреймворк AppTrackingTransparency, который позволяет получить доступ к IDFA.

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

Поиск Dependency Confusion в корпоративном GitLab

Блог компании СитимобилИнформационная безопасность*Python*

Не так давно на слуху была новость о векторе атаки Dependepcy Confusion. Это довольно простой, но в тоже время опасный вектор, приводящий к выполнению произвольного кода. Статья является взглядом на проблему со стороны команды безопасности.

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

Настало время офигительных историй. Кастомные транзишены в iOS. [2/2]

Блог компании СитимобилРазработка под iOS*Разработка мобильных приложений*Интерфейсы*Swift*
Tutorial

В прошлой статье мы реализовали анимацию ZoomIn/ZoomOut для открытия и закрытия экрана с историями.

В этот раз мы прокачаем StoryBaseViewController и реализуем кастомные анимации при переходе между историями.

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

Настало время офигительных историй. Кастомные транзишены в iOS. [1/2]

Блог компании СитимобилРазработка под iOS*Разработка мобильных приложений*Интерфейсы*Swift*
Tutorial

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

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

Читаем EXPLAIN на максималках

Блог компании СитимобилMySQL*Серверная оптимизация*Администрирование баз данных*

Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.

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

Нейросеть, коллективный мозг и сайт из продуктового рабочего инструмента

Блог компании СитимобилГрафический дизайн*Дизайн

Чтобы провести конкурс для дизайнеров о будущем развитии транспорта, нам понадобилось всё. Сперва думали обойтись силами дизайнеров Ситимобила, но в какой-то момент пришло понимание, что уж для дизайнерского-то конкурса, можно ещё и робота привлечь, и копирайтеров позвать, и с разработкой не связываться.

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

Будни такси ВКонтакте

Блог компании Конференции Олега Бунина (Онтико)Блог компании СитимобилРазработка веб-сайтов*Управление разработкой*
Артем Пулявин руководит фронтенд-разработкой в Ситимобил и на конференции FrontendConf 2020 рассказал про такси ВКонтакте: как проект начинался и каким он стал.

Проект задумывался внутри Ситимобил как экспериментальный, но за год по количеству поездок вырос в 30.000 раз. Артем поделился своими выводами о том, как удалось добиться таких результатов. Вы узнаете про процесс разработки, который теперь удовлетворяет ненасытных product-менеджеров, а еще как команда «Такси ВКонтакте» обходится без алертов, чем логирует ошибки и как расследует инциденты.


Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Просмотры5K
Комментарии 9

Создание Dashboard в Kibana для мониторинга логов

Блог компании СитимобилIT-инфраструктура*Визуализация данных
Tutorial


Привет, меня зовут Евгений, я тимлид B2B-направления в Ситимобил. Одной из задач нашей команды является поддержка интеграций по заказу такси от партнеров, и для обеспечения стабильного сервиса мы всегда должны понимать, что происходит в наших микросервисах. И для этого надо постоянно следить за логами.

В Ситимобил для работы с логами мы используем ELK-стек (ElasticSearch, Logstash, Kibana), и объём приходящих туда данных огромен. Найти в этой массе запросов проблемы, которые могут появиться после деплоя нового кода, довольно сложно. И для их наглядного выявления в Kibana есть раздел Dashboard.

На Хабре есть довольно много статей с примерами, как настроить ELK-стек для получения и хранения данных, но о создании Dashboard актуальных материалов нет. Поэтому я хочу показать, как в Kibana создавать визуальное представление данных на основе приходящих логов.

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

Информация

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