Как стать автором
Обновить
14
0
Виктория Головнева @vgolovneva

Analyst

Отправить сообщение

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие

Время на прочтение6 мин
Количество просмотров11K

Всем привет :) 

Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.

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

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

Как ускорить расчет витрин с помощью материализаций

Время на прочтение6 мин
Количество просмотров3.4K

Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat

Несколько лет назад мы выбрали Snowflake как сервис для нашей дата-платформы. С ростом объемов данных до сотен миллионов строк (спойлер: а затем и до десятков миллиардов), мы задались вопросом: «Как тратить меньше времени на расчет запросов для ежедневной отчетности?». Идеальным вариантом было использование материализованных представлений, позволяющих обращаться к предварительно вычисленным результатам расчета витрин гораздо быстрее, чем к исходным данным.

Мы могли отдать управление нашим пайплайном таким популярным сегодня инструментам для трансформации данных, как, например, dbt, Matillion или Dataform. Однако, в начале 2020 года ни у одного из них не было возможности тонкой кастомизации под нужды Snowflake и ManyChat. К тому же, нам не хотелось платить за еще один сторонний инструмент. Так, мы приняли решение изобрести собственный велосипед для работы с материализацией данных. Именно об этом я сегодня и расскажу.

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

14 практических советов по использованию Tableau

Время на прочтение7 мин
Количество просмотров34K
Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, менеджеров продукта и других стейкхолдеров.

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

Пару слов о структуре. Сначала я расскажу про общие подходы, которые мы выработали для Tableau Server, а потом покажу конкретные хаки, которые, возможно, сделают вашу жизнь лучше. Начнем!



Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Snowflake, Anchor Model, ELT и как с этим жить

Время на прочтение15 мин
Количество просмотров13K
Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat. В настоящий момент в мире больших данных существуют несколько основных игроков, на которых обращают внимание при выборе инструментария и подходов к работе аналитических систем. Сегодня я расскажу вам, как мы решили отклониться от скучных классических OLAP-решений в виде Vertica или Exasol и попробовать редкую, но очень привлекательную облачную DWaaS (Data Warehouse as a Service) Snowflake в качестве основы для нашего хранилища.

С самого начала перед нами встал вопрос о выборе инструментов для работы с БД и построении ELT-процессов. Мы не хотели использовать громоздкие и привычные всем готовые решения вроде Airflow или NiFi и пошли по пути тонкой кастомизации. Это был затяжной прыжок в неизвестность, который пока продолжается и вполне успешно.

Под катом я расскажу про архитектуру нашего аналитического хранилища и покажу, каким образом мы производим загрузку, обработку и трансформацию данных.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии8

REACT + JEST = TDD ❤️

Время на прочтение10 мин
Количество просмотров12K
Привет, Хабр! Меня зовут Андрей Хижняк, я фронтенд-разработчик в команде, разрабатывающей App Store внутри ManyChat.

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

От том, что из этого вышло, и будет моя статья, добро пожаловать под кат!


Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии20

Настроили мониторинг. Что дальше?

Время на прочтение8 мин
Количество просмотров3.3K
Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat.
Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недостаточно. Сегодня я поделюсь тремя историями из жизни нашей команды: расскажу, как мы искали решения и какие выводы сделали. На мой взгляд, пост может оказаться полезен и разработчикам, и QA-инженерам, и системным администраторам, и тимлидам/техлидам.

Эта статья основана на моем докладе с онлайн-конференции TechLead Conf 2020. Если вам приятнее смотреть видео, оно доступно на YouTube.



Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Как же всё-таки не ошибаться?

Время на прочтение11 мин
Количество просмотров4.6K
Всем привет! Меня зовут Виктория Головнева, я работаю джуниор аналитиком. Как и любой джун, я постоянно прохожу какие-то курсы, читаю статьи и книги по рабочей (и околорабочей) тематике, чтобы прокачивать мой уровень знаний в SQL, статистике, методах визуализации данных и многом другом.

Недавно мне попалась книга «Как не ошибаться. Сила математического мышления», Джордана Элленберга — о ней и пойдёт речь.

В этой статье я хочу привести несколько простых математических/логических задач, которые:

  • Помогут немного размять мозги;
  • Возможно, кому-то помогут узнать новые понятия из математики и статистики.

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

Заинтересовались? Тогда погнали под кат!


Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии9

На пути к бессерверным базам данных — как и зачем

Время на прочтение12 мин
Количество просмотров21K
Всем привет! Меня зовут Голов Николай. Раньше я работал в Авито и шесть лет руководил Data Platform, то есть занимался всеми базами: аналитическими (Vertica, ClickHouse), потоковыми и OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). За это время я разобрался с большим количеством баз данных — самых разных и необычных, и с нестандартными кейсами их использования.

Сейчас я работаю в ManyChat. По сути это стартап — новый, амбициозный и быстро растущий. И когда я только вышел в компанию, возник классический вопрос: «А что сейчас стоит брать молодому стартапу с рынка СУБД и баз данных?».

В этой статье, основанной на моем докладе на онлайн-фестивале РИТ++2020, отвечу на этот вопрос. Видеоверсия доклада доступна на YouTube.



Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии91

15 базовых советов по Git для эффективной работы каждый день

Время на прочтение5 мин
Количество просмотров60K

Привет, меня зовут Сергеев Сергей aka gurugray. Сейчас я «Mentor FrontEnd Community» в компании ManyChat. Вы могли видеть мои лекции по релизному циклу и регламенту работ с системами контроля версий в Школе Разработки Интерфейсов Яндекса (ШРИ).


Меня часто спрашивают какие life-hacks или best-practices я использую при работе с Git'ом и репозиториями проекта.


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


Читать дальше →
Всего голосов 72: ↑68 и ↓4+64
Комментарии63

Redis на практических примерах

Время на прочтение11 мин
Количество просмотров106K

Redis — достаточно популярный инструмент, который из коробки поддерживает большое количество различных типов данных и методов работы с ними. Во многих проектах он используется в качестве кэшируещего слоя, но его возможности намного шире. Мы в ManyChat очень любим Redis и активно используем его в нашем продукте для решения огромного количества задач. Про некоторые интересные кейсы использования этой in-memory key-value базы данных я расскажу на примерах. Надеюсь, вам они будут полезны, и вы сможете применить что-то в своих проектах.

Рассмотрим следующие кейсы:

  • Кэширование данных (да, банально и скучно, но это классный инструмент для кэширования и обойти стороной этот кейс, кажется будет не правильно)
  • Работа с очередями на базе redis
  • Организация блокировок (mutex)
  • Делаем систему rate-limit
  • Pubsub — делаем рассылки сообщений на клиенты

Буду работать с сырыми redis командами, чтобы не завязываться на какую-либо конкретную библиотеку, предоставляющую обертку над этими командами. Код буду писать на PHP с использованием ext-redis, но он здесь для наглядности, использовать представленные подходы можно в связке с любым другим языком программирования.


Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии14

Да кто вообще такой этот продуктовый разработчик?

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

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


@innubis

Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии16

Программирование в массы

Время на прочтение7 мин
Количество просмотров4.9K
Понимание даже основ программирования может упростить деятельность человека. Помимо очевидных вещей, таких как развитие абстрактного мышления или способность разделять задачу на меньшие части, я предлагаю пойти ещё дальше и воспользоваться основными подходами к разработке. На примере создания классической логической игры, проводя аналогию между визуальным и традиционным программированиями, я и хочу показать, как навыки разработки могут помочь в решении прикладной задачи. Желающих подискутировать на тему или поиграть в «Быков и коров» и выиграть приз — зову под кат.



Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии9

Бекендер — психотерапевт: дебаггер для психики

Время на прочтение5 мин
Количество просмотров8.8K
Привет! Меня зовут Максим, последние 17 лет я работаю в ИТ (аналитик, РП, 11 лет бекенда), а еще я получил второе образование психолога в жанре «гештальт-терапия». Хочу рассказать о том, что для меня психотерапия очень похожа на разработку ПО с помощью дебаггера и как эту схожесть можно применять на практике.



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

В этой статье хочу рассказать о двух моих любимых багах (в смысле, что мне они свойственны в большей степени) — это «интроекция» и «проекция». Все подробности под катом.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии22

5 декабря, ManyChat Backend MeetUp

Время на прочтение3 мин
Количество просмотров1.3K
Всем привет!

Меня зовут Михаил Мазеин, я — ментор Backend community ManyChat. 5 декабря в нашем офисе пройдёт первый Backend Meetup.

В этот раз мы поговорим не только про разработку на PHP, но и затронем тему использования баз данных.

Начнём с истории про выбор инструментов для вычисления математических формул. Продолжим фундаментальной темой выбора подходящей базы данных. А закончим встречу большим докладом о тюнинге сервера высоконагруженного проекта с помощью тонкой конфигурации nginx и php-fpm на основе данных о движениях запросов вместо постоянного увеличения количества серверов.



Участников ждут доклады от инженеров ManyChat и, конечно, общение. Встречать гостей будем в 18:30, а начнем митап в 19:00. Регистрация доступна по ссылке, а подробная программа мероприятия — под катом.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии0

21 ноября, Product Engineering MeetUp: Кто такой продуктовый инженер?

Время на прочтение3 мин
Количество просмотров2.8K


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

Именно продуктовой разработке мы решили посвятить серию митапов и приглашаем 21 ноября на первый Product Engineering Meetup.

На первой встрече команда ManyChat вместе с приглашенными спикерами из Miro и Avito будет разбираться, кто же такой product engineer, как и зачем инженеру развивать продуктовое мышление, где найти баланс между продуктом и разработкой, какие вообще нужны инженеры на разных стадиях развития команды и какие подходы и инструменты помогают развивать инженеров в команде.

Регистрация доступна по ссылке, а подробности о спикерах и программе мероприятия читайте под катом.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии0

Как создавать эффективные продуктовые команды?

Время на прочтение16 мин
Количество просмотров13K

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

О том, что такое эффективная продуктовая команда, как ее построить и что нужно сделать, чтобы все члены команды были максимально вовлечены в процесс, мы поговорили с экспертами на панельной дискуссии, которая прошла у нас в офисе. Вместе с нами ответы на вопросы искали Роман Абрамов (директор по продукту CarPrice и основатель ProductStar), Михаил Александровский (Founder Dostavista), Анна Бояркина (Head of Product Miro), Илья Красинский (CEO Rick.ai), Микаэл Ян (CEO ManyChat). Подробности под катом.


Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии0

Проверьте себя: а на какое количество вопросов ЧГК сможете ответить вы?

Время на прочтение9 мин
Количество просмотров57K
Проверьте себя: а на какое количество вопросов ЧГК сможете ответить вы?

Для затравки: в 1979 году, еще до выхода своей компании на биржу, Стив Джобс провел тесты, не имеющие отношения непосредственно к продукции компании. А какие именно тесты?
Хотите больше — добро пожаловать под кат!

image
Читать дальше →
Всего голосов 46: ↑37 и ↓9+28
Комментарии72

Информация

В рейтинге
Не участвует
Откуда
Yerevan, Yerevan, Армения
Дата рождения
Зарегистрирована
Активность