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

Псевдокод для тестирования

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

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

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

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

PRINT 'read more'
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 2.8K
Комментарии 3

Новости

Не стоит бояться теней

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

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

Не боюсь
Всего голосов 30: ↑27 и ↓3 +24
Просмотры 5.5K
Комментарии 22

JNI, часть 3: производительность Java/JNI/NDK

Блог компании Ситимобил Java *C++ *Разработка под Android *

Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу замеры производительности, достаточно тривиальные, но отображающие суть. И если вы не знакомы с JNI, но тема интересна, то советую ознакомиться с первой и второй частью этой серии статей.

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 3.3K
Комментарии 7

JNI Часть 2: Примеры

Блог компании Ситимобил Программирование *Java *
Tutorial

Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу примеры решений на JNI, которые совсем немного сложнее, чем hello world. И если вы не знакомы с JNI, то советую начать с первой части.

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

JNI Часть 1: Введение

Блог компании Ситимобил Программирование *Java *
Tutorial

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

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

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

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

Всем привет, меня зовут Максим Шаланкин, в Ситимобил я занимаюсь машинным обучением. Мы постоянно принимаем решения на основе больших данных. Даже в пятницу вечером мы доверяем алгоритмам выбор места отдыха. А кто же, если не наши клиенты, лучше всего знают, где в Санкт-Петербурге можно хорошо отдохнуть?

Врууум
Всего голосов 32: ↑29 и ↓3 +26
Просмотры 3.8K
Комментарии 7

Импакт-анализ на примере Android-проекта

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

Одной из самых дорогих по времени операций на CI-сервере является прогон автотестов. Есть множество способов их ускорения, например, распараллеливание выполнения по нескольким CI-агентам и/или эмуляторам, полная эмуляция внешнего окружения(backend/сервисы Google/вебсокеты), тонкая настройка эмуляторов(Отключение анимации/ Headless-сборки / отключение снепшотов) и так далее. Сегодня поговорим про импакт-анализ или запуск только тех тестов, которые связаны с последними изменениями в коде. Расскажу какие шаги нужны для импакт-анализа и как мы реализовали это в нашем проекте.

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

Ситимобил вместе с экспертами из разных компаний подводит итоги года в разных областях Data Science

Блог компании Ситимобил Data Mining *Big Data *Data Engineering *

Всем привет!

Подходящий к концу 2021 год был очень насыщенным — нам удалось провести 5 митапов с интересными спикерами и экспертами рынка Data Science и Machine Learning. Мы узнали много интересного, и это здорово!

Каждый год выходят сотни статей по машинному обучению, нейронным сетям, рекомендательным системам и другим областям связанным с искусственным интеллекта. Появляются тысячи новых репозиториев, API и сервисов с использованием современных технологий Data Science.

А что из этого действительно стало важным событием? На какие технологии и сервисы стоит обратить внимание? На эти вопросы ответили эксперты по Data Science.

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

Блокировки MySQL: виды, проблемы и способы обнаружения

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

Рано или поздно любой разработчик или администратор СУБД, имеющий дело с MySQL, сталкивается с проблемой блокировок. Всё дело в природе MySQL как системы с конкурентным доступом на чтение/запись. Я расскажу о видах блокировок в MySQL, их преимуществах и недостатках, о проблемах, которые они вызывают, а также дам полезные советы по обнаружению и способам борьбы с блокировками.

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

Как мы учились находить заказы по пути домой

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

Всем привет, меня зовут Оля, и я работаю аналитиком в команде распределения заказов Ситимобила. Наша задача — оптимально находить водителей и предлагать им удобные заказы с учетом ряда ограничений и пожеланий. Поэтому у нас есть разные режимы работы, в том числе «домой»: в этом режиме водителям предлагаются заказы только по пути домой.

Нам жаловались на некоторые предложения: водители считали, что им предлагают заказы не по пути. Поэтому они часто отказывались от заказа после подачи автомобиля, что приводило к плохому пользовательскому опыту и у водителей, и у пассажиров. Мы решили пересмотреть алгоритм. Самый сложный вопрос в этой задаче — «что такое по пути?». Оказалось, каждый водитель понимает это по-своему.

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

Поехали
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 4.5K
Комментарии 8

React. Как не стать заложником макета, или пример использования принципа единой ответственности

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

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

Для наглядного примера из практики рассмотрим приложение «Такси ВКонтакте», а именно указание «нитки» маршрута.

Поехали
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 5.2K
Комментарии 6

Тестирование с нуля, или Один в поле — тестировщик

Блог компании Ситимобил Тестирование веб-сервисов *

Никто.

Абсолютно никто.

Вы — единственный тестировщик в проекте.

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

Как справиться с отсутствием личных проектов

Блог компании Ситимобил Здоровье

Постоянно читая статьи на тему того, как %user% буквально на коленке научил свою кофеварку выгуливать собаку, начинаешь чувствовать себя немного неуютно. Складывается ощущение, что вокруг тебя взрослый мир и все вокруг знают больше тебя, умеют лучше и т.д. 

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

Как не выйти в Window при работе с Window?

Блог компании Конференции Олега Бунина (Онтико) Блог компании Ситимобил Программирование *Разработка мобильных приложений *Разработка под Android *

Многие разработчики разбиваются о жизненные циклы onResume, onActivity, onCreate, которые связаны с отображением UI внутри приложения, будь то Activity или фрагмент. Некоторые методы работы со стремительно развивающимся андроидом приходится искать интуитивно, потому что официальная документация не дает полной картины. Стоит разобраться, где заканчиваются знания и начинается интуиция.

Я Дмитрий Манько, андроид-разработчик в компании Ситимобил, попробую объяснить, что такое onResume() и почему определение от Google не совсем корректное. Разберу иерархию внутри Activity, покажу когда происходит взаимодействие и какие события для этого нужны. А ещё объясню, почему фрагмент дешевле и проще Activity.

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

Apple Watch, статистика и Siri — как мы провели iOS-хакатон

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

Всем привет, меня зовут Семён, я iOS-разработчик в Ситимобиле. 🙋‍♂️

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

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

Go и MySQL: настраиваем пул соединений

Блог компании Конференции Олега Бунина (Онтико) Блог компании Ситимобил MySQL *Go *
✏️ Технотекст 2021

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

немного затронем основы клиент-серверного протокола MySQL, его базовое устройство и принципы работы;

дальше перейдем к Go части и разберем реализацию пула соединений;

будем двигаться от конфигурирования соединений к выполнению запросов, параллельно заглядывая в код драйвера.

Надеюсь каждый для себя найдет что-то полезное.

Поехали
Всего голосов 44: ↑43 и ↓1 +42
Просмотры 15K
Комментарии 12

Геоанализ этажности Санкт-Петербурга алгоритмом KDE, или Как меняется облик города

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

Всем привет, меня зовут Максим Шаланкин, в Ситимобил я занимаюсь машинным обучением. Мы используем множество крутых алгоритмов для оптимизации наших сервисов и улучшения бизнес-процессов. В этой публикации я расскажу, как использовать в геоаналитике алгоритм ядерной оценки плотности (Kernel Density Estimation) и строить полигоны на карте, основываясь на распределении географических данных.

Врууум
Всего голосов 30: ↑28 и ↓2 +26
Просмотры 3K
Комментарии 3

Citymobil Data Meetup #1 | Работа с географическими неоднородными данными в моделях онлайн-оценки

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

Спасибо большое, что все пришли послушать. У нас сейчас будет с вами чуть-чуть другая тема выступления. Мы поговорим про работу с географическими данными уже не с точки зрения такси, а с точки зрения работы с данными про недвижимость, что будет не менее интересно. Меня зовут Андрей Критилин. Я руководитель центра моделирования компании ЦИАН. О чем мы с вами сегодня конкретно поговорим. 

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

Citymobil Data Meetup #1 | Switchback эксперименты и сетевые эффекты

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

Всем привет! На связи с вами Артем Солоухин. Я представляю команду surge pricing, подразделение эффективности и маркетплейса «Ситимобил». Сегодня мы с вами немного поговорим про switchback эксперименты и про сетевые эффекты. Начнем с небольшого интро в том, чем занимается наша команда, чтобы стало понятно, почему нас волнует то, о чем мы сегодня поговорим.  Далее немного обсудим сетевой эффект, поговорим про switchback, решает ли он проблему сетевого эффекта и насколько. Подведем какие-то итоги. Итак, погнали. 

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

Эффективный DevOps

Блог компании Конференции Олега Бунина (Онтико) Блог компании Ситимобил IT-инфраструктура *IT-стандарты *DevOps *

Статья по мотивам доклада «Эффективный DevOps / Максим Залысин (Ситимобил)» с конференции DevOps Live 2020 команды Онтико.

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

Информация

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