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

Конвергенция в многомодульном приложении

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

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

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

Как аналитик при помощи простых инструментов может создать ключевую ценность для информационного SaaS-продукта

Блог компании Циан SaaS / S+S *Управление продуктом *

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

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

Как мы сделали фильтр «бабушкин ремонт»

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

Найти и выбрать квартиру в современном мире — что может быть проще? Берёшь смартфон, скачиваешь приложение и находишь подходящий вариант. Так же просто разместить объявление о продаже или аренде недвижимости. Пользователи смотрят десятки квартир в поисках подходящей — качество ремонта для них очень важно. Вот было бы классно, если бы существовал фильтр, который может правдиво оценить новизну ремонта и отсортировать…

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

Читать далее
Всего голосов 45: ↑44 и ↓1 +43
Просмотры 19K
Комментарии 62

Сочетание Shift-Left и «Традиционной» модели тестирования в будние дни QA

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

В этом материале будет кратко рассказано, почему Shift-Left – это не всегда хорошо и почему не стоит забывать о традиционной модели тестирования. Рассмотрим паттерны поведения QA при тестировании обычных задач и как постепенно стать продуктивным тестировщиком, не утопая в регрессах и бесконечных проверках одного и того же.

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

Время менять шапки: ускорение мобильной поисковой выдачи Циан

Блог компании Циан JavaScript *Клиентская оптимизация *

Однажды мы заметили, что поисковая выдача в мобильной версии Циан замедлилась: плохо работала на стороне браузера, грузилось много ресурсов, приложение долго открывалось. Естественно, это не радовало пользователей и сказывалось на метриках. В мае 2021-го Google анонсировал изменения: с августа он станет учитывать метрики Core Web Vitals в ранжировании поисковой выдачи. Мы стали искать, в чём может быть наша проблема. В этой статье расскажем, где же проблема крылась, и как мы её решили.

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

Лайфхаки для Growth Hacking

Блог компании Циан Growth Hacking *Управление продуктом *

Это рассказ о нашем опыте выстраивания процесса работы growth-команды и наборе лайфхаков, которые пригодятся продуктовому аналитику при работе в режиме быстрой проверки гипотез. 

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

Хочу жить в такой же: как мы научились искать квартиры по фотографиям

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

Привет, Хабр!

Меня зовут Александр Красных, я тимлид команды ранжирования и рекомендаций в Циан. Мы сделали фичу, которая позволяет найти по фото похожие квартиры. Для этого нужно уметь быстро находить среди миллионов фотографий изображения, визуально похожие по стилю на входную картинку-запрос. 

В статье поговорим о том, как мы решили задачу с помощью алгоритмов глубокого обучения, и расскажем, что там под капотом этой функции и как мы подружили EfficientNet с FAISS. В работе над статьей мне помогал Владимир Филипенко (@vovaf709): он изложил самые основы, чтобы текст мог понять и неспециалист.

Итак, начнём
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.8K
Комментарии 13

Main Loop (Главный цикл) в Android Часть 3. Другие главные циклы

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

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

Это третья и финальная часть разбора главного цикла в Android. В первой части мы разобрались с тем, что такое главный цикл и как он работает. Во второй, как это работает в Android SDK в Java слое. В этой части мы посмотрим на особенности Looper в C++, поверхностно пробежимся по Flutter, Chrome и React Native. А еще есть игры — в них вообще все с ног на голову.

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

Main Loop (Главный цикл) в Android Часть 2. Android SDK

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

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

Это вторая часть цикла статей по разбору главного цикла в Android. В первой части мы разобрались с тем, что такое главный цикл и как он работает. В этой же части давайте разберемся как Main Loop работает в Android SDK. Разбираться будем в контексте Android SDK версии 30.

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

Играющий тренер в ИТ: запретить нельзя допустить

Блог компании Циан Управление разработкой *Управление персоналом *

«Играющий тренер» – термин, пришедший в IT из мира спорта. Он подразумевает, что руководитель одновременно занимается как управленческими задачами (планирование, контроль), так и решает вполне рядовые (пишет код, настраивает сервера и т.д.). Считается, что совмещать эти роли нельзя, но в жизни, как и в палитре, есть куча оттенков между «можно» и «нельзя». Под катом будет мой жизненный опыт в роли этого самого играющего тренера, я расскажу о плюсах и минусах, а также попробую подвести некий итог своего опыта в этой роли.

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

Main Loop (Главный цикл) в Android Часть 1. Пишем свой цикл

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

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

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

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

Quick, Nimble. На несколько тестов больше

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

Как ни странно, тема автоматизированного тестирования приложений iOS не так уж популярна среди разработчиков. Сложно судить о причинах такого положения дел, но сегодня я постараюсь пролить немного света на эту тему. В этой статье-туториале рассказывается, как лучше начать работать с фреймворком для тестирования Quick и метчером Nimble, как организовать код тестов, чтобы их было легко читать и поддерживать, как избежать дублирования проверок и сделать тесты более выразительными. Если вы хотите начать писать тесты под iOS, но не готовы тратить на их поддержку и написание много времени, — эта статья для вас.

Поехали!
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 972
Комментарии 0

Темные века разработки программного обеспечения

Блог компании Циан Программирование *Проектирование и рефакторинг *
Перевод

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

Но ситуация не была безнадёжной.
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 9.1K
Комментарии 1

Оптимизируем отображение 10 000 объектов на карте

Блог компании Циан Программирование *Разработка под Android *Обработка изображений *

В приложении ЦИАН размещены десятки тысяч объявлений о недвижимости. Нашим пользователям важно видеть географическое расположение этих объявлений на карте. Самым популярным способом отображения оказался вариант, когда каждое объявление показано отдельной точкой. Внутри команды такой вариант мы назвали «Горошек на карте».

Проблема в том, что объявлений очень много: в одной только Москве более 10 000. Из-за этого наша карта работала не очень стабильно: при зуме и движении были тормоза, дёргалась и лагала картинка. С этим нужно было что-то делать. Чтобы разобраться в причинах проблем и найти решения, мы засучили рукава и начали копаться в используемых механизмах. Под катом подробно опишем весь путь оптимизации карт в Android-приложении: от постановки задачи до результата.

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

UI-тесты в iOS: укрощение строптивого

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

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

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

Поехали!
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 5.1K
Комментарии 4

Тесты в iOS: хороший, плохой, …

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

Привет! Меня зовут Андрей Михайлов, я работаю iOS-разработчиком в Циан и отвечаю за внедрение модульного тестирования в процесс разработки. Сегодня я немного расскажу о том, какими свойствами должны обладать хорошие автоматизированные тесты, чем хорошие тесты отличаются от плохих, и для чего на самом деле стоит их писать (не только чтобы находить баги в коде). Это первая статья в серии, посвященной тестированию, она сфокусирована на теории и будет полезна не только iOS-разработчикам.

Добро пожаловать под кат!

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

Циан.Митап: «MLOps или безопасный воспроизводимый ML для бизнеса»

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

Всем привет!

1 июля в 17:00 приглашаем вас на митап про построение MLOps процессов и обеспечение воспроизводимости ML решений в продакшн.

Вместе с экспертами из Циан, Lamoda, Озон, Одноклассники, МегаФон поделимся опытом развития MLOps платформ, обсудим распространенные фреймворки для управления экспериментами, подходы к выкатке моделей в продакшн, автоматизации переобучения и мониторинга качества моделей. Отдельно затронем тему работы нейросеток (для CV и не только) в продакшн.

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

Часть 2. Циан — удаленка. Как мы нанимаем? Над чем еще работаем?

Блог компании Циан Управление персоналом *Удалённая работа

Привет!

Меня зовут Слава, я технический руководитель направления «Застройщики» в Циан. Внутри направления работают 25 человек. Из них 18 — разработчики и тестировщики. С середины 2019 года мы участвовали в экспериментах по удаленной работе в Циан. 

18 декабря я опубликовал статью о переходе на удаленку в Циан. Это ее продолжение.

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

Циан — Удаленка

Блог компании Циан Управление разработкой *Удалённая работа

Привет!

Меня зовут Слава, я технический руководитель направления «Застройщики» в Циан. «Застройщики» — это большая команда, внутри которой работают 25 человек. Из них 18 — разработчики и тестировщики. С середины 2019 года мы участвовали в экспериментах по удаленной работе в Циан. У нас успешно получилось перейти на частичную удаленку к началу 2020-го, еще до начала коронавирусных ограничений. Хочу рассказать об опыте перехода Циан на удаленку, в первую очередь со стороны IT.

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

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

Micro-frontends. Асинхронный подход к мультикомандной разработке

Блог компании Циан Разработка веб-сайтов *Разработка мобильных приложений *Управление разработкой *Микросервисы *

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

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

Информация

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