Как стать автором
Обновить
50.49
Рейтинг
Циан
В топ-30 лучших ИТ-компаний рейтинга Хабр.Карьера
Сначала показывать

Как мы в Циан выбирали сервис мониторинга соцсетей

Блог компании Циан Социальные сети и сообщества
Из песочницы

Привет! Меня зовут Полина, я присматриваю за соцсетями в клиентской службе Циан. Три последних года мы мониторили соцсети с помощью одного из старейших сервисов — YouScan. Этой весной YouScan уведомил всех, что уходит с российского рынка. В этой статье расскажу, как мы нашли ему замену среди российских систем.

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

Управленческие метрики в IT в Циан: полезные, вредные, наши

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

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

Меня зовут Алексей Чеканов, я CTO в Циан. Я расскажу, что такое хорошие и плохие метрики, в чём можно измерять эффективность IT.

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

WebView: забыть нельзя интегрировать

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

При разработке мобильного приложения iOS или Android рано или поздно может встать вопрос: «Реализовать фичу на WebView или же нативно?». В некоторых случаях ответ лежит на поверхности, но, к сожалению, так бывает не всегда. А если очень велик соблазн предоставить пользователям новый функционал поскорее — это может склонить к неправильному решению, с которым впоследствии предстоит что-то сделать.

Сегодня мы хотим поделиться с вами тем, какую стратегию мы выбрали в Циан для себя и как к ней пришли. Посмотрим, где же мы поставили запятую :)

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

Как работа с ресурсами вызывает микрофризы

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

Думаю, каждый из нас периодически сталкивается с непонятными микрофризами при взаимодействии с, казалось бы, простым UI…

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

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

Аналитика в декларативном стиле с поддержкой многомодульности

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

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

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

Многомодульный BDSM: как связать Gradle модули и как с ними общаться после этого?

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

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

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

Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?

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

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

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

Надеюсь, к концу статьи вы станете на чуточку ближе к ответам на вопросы: «Каким образом вообще можно внедрить многомодульность в свой проект?», «Какие типы модулей есть?» и «Нужна ли многомодульность в моём проекте?»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итак, начнём
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.2K
Комментарии 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
Просмотры 6K
Комментарии 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
Просмотры 11K
Комментарии 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация

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