Обновить
Сначала показывать

Онлайн-оценка рекомендательных систем: метрики, которые говорят сейчас

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

Всем привет! Меня зовут Василий Калинин, я senior-аналитик в отделе ML-аналитики музыкального сервиса Звук. Про то, чем занимается наша команда, мы уже писали ранее (можно почитать в этой статье). 

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

Читать далее

Как не тратить время на провальные A/B-тесты: офлайн-оценка рекомендаций в Звуке

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

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

Меня зовут Рустам Муртазин, я senior аналитик в отделе ML-аналитики (про отдел в целом и наши задачи можно почитать в этой статье) и в этой статье я расскажу про особенности офлайн оценки моделей рекомендаций в музыкальном сервисе Звук.

Читать далее

ML-аналитика, какие проблемы решает, инструменты, зачем выделять ресурсы

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

Привет, Хабр! Меня зовут Игорь Миленький, я руководитель отдела ML-аналитики в музыкальном сервисе Звук. Расскажу об еще одной профессии в Data Science, ML-аналитике, и покажу на практике, как устроена работа команды в Звуке. В статье хотел бы дать общее представление о профессии ML-аналитика и примерах задач.

Читать далее

Способы стабилизации автотестов на backend: опыт сервиса Звук

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

Привет, Хабр! Меня зовут Надежда Буртелова, я ведущая тестировщица в музыкальном сервисе Звук. В тестировании с 2014 года, с 2022 года работаю в Звуке: тестирую backend и менторю коллег. Последние два года активно пишу автотесты. 

Закончила МФТИ: факультет аэрофизики и космических исследований. 

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

Читать далее

Развитие инженеров от Senior до Principal с точки зрения руководителя

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

Карьерный рост инженера — это не всегда про переход в менеджмент. Есть и другой путь, в котором нет подчинённых, one-on-one и KPI, зато есть влияние на архитектуру, стратегию и технологическую зрелость компании. Уровни Staff и Principal Engineer — это не просто «старшие разработчики», а ключевые технические роли, которые помогают бизнесу двигаться вперёд.

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

Читать далее

Опыт Звука: как реализовать рекомендательную систему аудиокниг с использованием больших языковых моделей (LLM)

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

Всем привет! На связи Дмитрий Берестнев, Chief Data Scientist в HiFi-стриминге Звук. Сегодня я расскажу о том, как мы реализовали систему подбора аудиокниг и зачем это вообще было сделано. В статье мы фокусируемся на принципе рекомендации похожих книг (а подходы для авторов в нашем случае были сделаны аналогично).

Читать далее

Как собрать и внедрить высоконагруженный модуль. Опыт Звука

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

Привет, Хабр! На связи Ринат Кутуев, iOS-разработчик в платформенной команде HiFi-стриминга Звук. В iOS-разработке уже 5 лет. Успел заложить архитектуру для 3 высоконагруженных приложений, которые стабильно расширяют свой функционал.

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

Читать далее

Как создать архитектуру фронтенд-приложения, если ее нет от слова «совсем»

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

Всем привет! На связи Вадим Королев, архитектор на Web HiFi-стриминга Звук. Сегодня я хочу поделиться своим опытом и рассказать, как создать архитектуру фронтенд-приложения, если ее еще нет в вашей компании.

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

Читать далее

Борьба с багами, или как мы провели внутренний эксперимент с командой QA

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

Всем привет! Меня зовут Наташа Бакалдина, и я QA Lead в HiFi‑стриминге Звук. В этой статье я хочу поделиться опытом и рассказать о проведенном в нашей команде эксперименте, в ходе которого одна из метрик статистики по багам внезапно помогла планировать спринты лучше.

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

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели763

Всем привет! Меня зовут Татьяна Онофрюк, я аналитик в команде персонализации HiFi-стриминга Звук, и сегодня я расскажу про работу нашей команды с рекомендательными системами и кластеризацией по исполнителям и жанрам стриминга.

Читать далее

Лирика в IT, или как мы научились вытаскивать тексты из песен. Опыт Звука

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

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

Меня зовут Дмитрий Берестнев, я Chief Data Scientist HiFi-стриминга Звук, и сегодня расскажу, как мы реализовали распознавание лирики.

Читать далее

Как мы перешли с оффсетной пагинации на курсорную, или о проблемах динамической фильтрации

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

Привет, меня зовут Надежда и я Backend-разработчик в HiFi-стриминге Звук! Занимаюсь всем, что связано с подкастами и немузыкальным контентом (а вы знаете, что в Звуке есть аудиокниги? Разработка нашей команды! PodcaTS, привет!). Какое-то время я также техлидила сервисы, которые отвечали за отдачу мета-информации и всего, что связано с аудио (артисты, релизы, треки, подкасты, аудиокниги) в Звуке.

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

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

Читать далее

Джуны — бесплатны. И ещё 7 заблуждений тимлидов о начинающих специалистах

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

Меня зовут Антон Марунько, и я тимлид в продуктовых компаниях уже более 5 лет. Сейчас я — iOS Lead в HiFi‑стриминге Звук, а также как консультант помогаю строить и обучать команды в сфере IT и околотехнического профиля. У меня есть и опыт СТО, и кофаундера в ряде проектов. В этой статье я хотел бы поделиться накопленной практикой управления командой и развеять некоторые мифы про работу тимлидов с джунами. Эта история беспокоит меня на протяжении последнего года, так как на консультациях новичков я часто сталкиваюсь с нечеловеческими требованиями к ним без соответствующего признания и вознаграждения.

Читать далее

Логирование во фронтенд-приложениях. Опыт Звука

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

Логирование во фронтенд-приложениях. Опыт Звука 

Всем привет! На связи Роман Савельев, фронтенд-разработчик в команде Звука. В этой статье я хочу поделиться опытом и рассказать, как мы с командой прошли путь от хаоса до выстроенной инфраструктуры и унифицировали работу с логами в собственных веб-сервисах. Я расскажу, с какими проблемами мы столкнулись, как их решали и какие вывели в best practices. 

Кстати, в best practices даны ответы на вопросы «зачем», «как» и «что» логировать.

Читать далее

Ближайшие события

Как создать аудиоплеер. Часть 3. Настройка приложения с аудиоплеером и обработка звука

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

Вот и снова я! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и это третья часть нашего большого гайда, в котором я рассказываю, как можно создать аудиоплеер в приложении. Мы поговорим о дополнительных настройках приложения с аудиоплеером и аудио эффектах, которые можно применять к звуку.

Читать далее

Как создать аудиоплеер. Часть 2. Использование ExoPlayer

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

Всем привет! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я продолжаю рассказывать вам о том, как можно создать аудиоплеер в приложении. Во второй части гайда мы поговорим об использовании ExoPlayer.

Добро пожаловать на разбор!

Читать далее

Как создать аудиоплеер. Часть 1. Что под капотом

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

Всем привет! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я расскажу, как можно создать аудиоплеер в приложении. Поговорим об инструментах разработки и устройстве плеера —  разберем его «анатомию», компоненты и их применение, а также способы улучшения звука с помощью эквалайзера.

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

Поехали!

Читать далее

Как мы создавали дизайн-систему: опыт компании Звук

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

Привет, Хабр! Меня зовут Мария Бажина, я Android Developer в компании Звук. 

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

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

Читать далее

Найти отличия, или внедряем Snapshot-тесты для web. Опыт Звука

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

Всем привет! На связи Наталья Данилина и Иван Чечиков из Звука. В этой статье мы хотим поделиться опытом внедрения snapshot-тестов для web-приложения — расскажем, что это такое и для каких задач применяется.

Подробности – под катом.

Читать далее

Как обойтись без UX-редактора и сделать текст в интерфейсе понятным?

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

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

Но бывает и такое, что в команде нет UX‑редактора и работу с текстом приходится брать в свои руки. Для таких случаев я решил поделиться своими принципами при работе с текстом, которые помогут вам самостоятельно проверять текст на качество

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

Информация

Сайт
zvuk.com
Дата регистрации
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Elena Cherednichenko