Обновить
8K+
4,6
Оценка работодателя
61,48
Рейтинг
62 397
Подписчики
Сначала показывать

Баг в проде – а кто виноват? Делим баги на категории, чтобы сделать их заметнее

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели6.8K

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

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

Читать далее

Как бренд команды даёт проекты, людей и влияние

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.9K

Если команда не рассказывает о своей работе, её начинают забывать.
Не потому что она плохая — а потому что о ней просто не знают.

Я — Максим Гришутин, Product Platform Lead в Okko. Более семи лет работаю лидом и развиваю команды, которые хотят не только делать хорошие проекты, но и быть услышанными.

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

Читать далее

Мой внутренний самозванец: как я учусь жить с тем, кто постоянно говорит, что Я «фейк»

Время на прочтение13 мин
Охват и читатели6.9K

Финал года = время рефлексии и… атаки внутреннего критика. Пока HR готовит формы для оценки результатов, а руководители суммируют KPI, ты слушаешь шёпот внутри: «Ты не так уж хорош. Тебе просто повезло». Знакомо? Это синдром самозванца обостряется в сезон оценок и итогов. Давайте разберем, почему так происходит и как вернуть себе уверенность и объективный взгляд на свои реальные заслуги.

Читать далее

Кастомная сериализация с помощью kotlinx.serialization

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.3K

Привет, Хабр! Меня зовут Антон Николаев, я senior android-разработчик в Okko, работаю в команде «Молодость» — занимаюсь мультипрофилем и всем, что связано с детским контентом.

Сегодня расскажу о JSON Schema и как мы используем эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство. В ней обсудим:

Что такое JSON Schema 

Читать далее

Appium-тесты на ARM и управление девайсами — легко :-)

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели6.3K

Мы переехали на ARM-архитектуру и наши Appium UI‑тесты стали пробегать в три раза быстрее. И это выгоднее, чем закупать в серверную классические Xeon'ы на X86!

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

Читать далее

Семь смертных грехов в работе аналитика данных

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

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

Грешим

Как одновременно заонбордить три новые команды

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.3K

Привет, Хабр! Я Серёжа Пиший, я тимлид продуктовой команды Android-разработки в направлении КИНО в Okko. В этой статье расскажу про онбординг. Это будет не инструкция, а скорее история о том, как мы справились с масштабированием нашей команды на двенадцать человек практически за раз. Возможно, наш опыт поможет наладить процесс онбординга и вам.

Читать далее

MDC в реактивном стеке: как не потерять контекст в Spring WebFlux и Kotlin Coroutines

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.8K

Всё больше Java-разработчиков переходят от приложений, использующих синхронный стек, к реактивным решениям на базе Spring WebFlux и Kotlin Coroutines. Такой переход позволяет строить более масштабируемые и устойчивые к высокой нагрузке системы, эффективно используя пул потоков и асинхронное выполнение задач. Однако вместе с преимуществами реактивного подхода появляется и новая неочевидная проблема — потеря MDC-контекста (Mapped Diagnostic Context), который традиционно используется для сквозной трассировки запросов в логах.

Читать далее

Релиз без сюрпризов: как мы уменьшили количество багов в проде

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.7K

Привет! Меня зовут Андрей Романюк, я руковожу группой качества WEB в онлайн-кинотеатре Okko. В этой статье я расскажу о процессе, с помощью которого мы снизили количество багов, которые мы выкатываем в прод, когда мы о них уже знаем.(Естественно, мы всё равно их выкатываем, но таких багов в релизах стало намного меньше :) 

О чём поговорим:

Читать далее

Как мы делаем ML на Java

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели1.9K

Привет, Хабр. Меня зовут Лёша Круглик, я занимаюсь коммерческой разработкой около 7 лет. Писал код для Epam, Альфа Банка и Яндекса, а последние года три занимаюсь разработкой в Okko.

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

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

Читать далее

Terraform уже не тот? Как Pulumi меняет правила игры в Infrastructure as Code

Время на прочтение6 мин
Охват и читатели10K

Привет, Хабр! Сегодня поговорим про инфраструктуру как код. Почему Terraform уже не единственный игрок в мире IaC, а Pulumi становится всё более актуальным. Я расскажу, как эти инструменты работают, чем отличаются, и почему стоит присмотреться к Pulumi, особенно, если вы хотите гибкости и мощи в управлении облаками.

Читать далее

В стиле ретро: меньше слов — больше action items

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.6K

Как сделать ретроспективу полезной и интересной

Привет! Меня зовут Настя, я работаю проектным менеджером и скрам-мастером в онлайн-кинотеатре Okko. За последний год я провела более 100 ретроспектив в разных командах. Не все из них были удачными.

Читать далее

История эволюции веб-сервиса: от примера из доки до космолета

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели2.1K

5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

Читать далее

Playwright: игра в скриншотные тесты

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели12K

Работа с Playwright всегда доставляет мне удовольствие. «Наиграв» уже десятки, если не сотни часов в библиотеке, решая проблемы, копаясь в исходниках или на просторах сети, я практически всегда находил удачное решение. И это я списываю не столько на свой опыт, сколько на удобство самой библиотеки. Чаще всего удачные решения находились уже в коробке. А то, что приходилось допиливать руками, всегда сопровождалось ощущением игры и веселья – настолько приятно и легко работать с этим инструментом. Вот уже год, как наши тесты работают стабильно без каких-либо значимых изменений. Сегодня я расскажу вам о скриншотных тестах, реализованных на основе Playwright и Storybook.

Читать далее

Как на самом деле работает Attention

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели7.5K

Как именно работают механизмы, которые позволяют LLM так эффективно взаимодействовать с контекстом? Принято рассматривать нейронные сети как black-box, не разбираясь, что на самом деле происходит во время их инференса. Однако можно немного заглянуть «в мозги» нейронным сетям и попытаться понять, за что отвечают те или иные группы параметров модели.

Меня зовут Михаил Коновалов, я работаю ML-инженером в Okko. В этой статье я хочу рассмотреть несколько публикаций, посвященных интерпретации механизма Attention в трансформерах.

Читать далее

Как создать дашборд в Superset: гайд для новичков и полезные лайфхаки

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели77K

Superset не самый новый bi-инструмент, но его популярность продолжает расти. На мой взгляд, он достаточно прост в освоении, но все же требует некоторых усилий и времени, чтобы разобраться куда тыкать, чтобы загрузить данные и нарисовать красивый отчет. Лично я за свою карьеру в IT уже второй раз сталкиваюсь с необходимостью переезда на этот инструмент. Он снова новый для компании и многие сотрудники с ним раньше не работали. Поэтому я и решила написать статью-шпаргалку, которая поможет в несколько кликов создать работающий дашборд и всегда будет под рукой.

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

Читать далее

Как сократить время ответа в 2 раза, добавив одну строку кода

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели69K

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

В этой статье мы поделимся:

1. Описанием, как мы использовали инструменты Jaeger и Grafana для выявления узких мест в производительности, что привело к выявлению критических проблем со сборщиком мусора;

2. Анализом влияния различных настроек сборщика мусора на время ответа, что позволило сократить его вдвое для 99% запросов;

3. Когда и почему стоит рассматривать изменение стандартных настроек сборщика мусора (на примере нашего случая).

Читать далее

Selenoid на Android – от А до Я

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели5.4K

Планируете внедрить или уже используете Appium-тесты для Android и задумываетесь о многопоточности? У нас есть для вас полный гайд, как реализовать это с помощью Selenoid – предварительно немного взбодрив образы для поддержки последних версий Android, и при этом сделав тестовую инфраструктуру стабильной, как молоток.

Читать далее

Вместо тысячи слов: как картинки помогают в текстовом Поиске?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.9K

Всем привет! Меня зовут Дима. Я работаю в Поиске Okko и в этой статье хочу рассказать, насколько картиночные модели полезны для задачи Поиска и для чего мы используем их в наших пайплайнах.

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

Читать далее

Как небольшой команде переехать на ClickHouse: на какие грабли мы наступили и о каких фишках не знали

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели32K

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

Меня зовут Петр. Я работаю инженером по данным в Okko и обожаю ClickHouse. 

Примерно в середине прошлого года мы начали переезжать с PostgreSQL на ClickHouse. Одной из главных причин переезда была низкая производительность: среднее время аналитического запроса составляло около минуты. Сейчас, после переезда, среднее время запроса в аналитическом кластере — около 2 с. И это не предел.

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

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

В этой статье не будет объяснений почему для переезда мы выбрали именно этот инструмент. Не будет и глубокой теории о его внутреннем устройстве. Отметим лишь: в правильных руках ClickHouse — одна из самых быстрых колоночных СУБД для OLAP запросов.

Читать далее
1

Информация

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