Спасибо за совет!
Совершенно справедливо не видите замену Tableau, Power BI или любым другим BI-приложениям. Cube.js не конкурирует с BI-тулами, потому что Cube.js — это инструмент для разработчиков, а не для конечных пользователей. С помощью Cube.js можно встроить аналитику в существующее или новое приложение. Вот несколько примеров, как компании делают это: https://cube.dev/blog/category/user-stories/. Вот мой любимый пример публично доступного сайта, использующего Cube.js: https://nftbank.ai.
Однако у нас также есть план сделать так, чтобы Cube.js было удобно пользоваться вместе с BI-тулами. В таком случае Cube.js предоставит семантический слой для работы с данными и обеспечит высокую производительность, а BI-тул будет использоваться конечными пользователями для составления запросов и визуализации результатов.
Привет! Я работаю в Cube Dev. Мы разрабатываем продукт с открытым кодом (Cube.js), а также облачную платформу, помогающую запускать приложения на Cube.js в продакшне (Cube Cloud). Сейчас Cube Cloud в стадии закрытой бета-версии, мы планируем запустить его в общий доступ осенью. Тогда же и анонсируем цены: будет бесплатный тариф, чтобы разработчики могли быстро начать пользоваться, и, разумеется, платные тарифы.
Не подтверждаю :) Семь лет назад Cube.js просто не существовало, он в open source с 2019 года.
Как справедливо заметил Denis Kiselev, Cube.js обрабатывает данные на бэкенде. С клиента можно выполнять запросы через API или клиентские библиотеки и получать в ответ результаты.
Это интересная и правильная идея! Посмотрим, что можно сделать.
Спасибо за идею! Скорее всего, сделаем такой пример :)
Привет от команды Cube Dev :) Если в двух словах, то Cube.js умеет делать произвольные трансформации над данными (pivot), а затем приложение может отобразить их в виде таблицы. Cube.js намеренно не предлагает инструментов для визуализации, чтобы разработчики могли взять любой фреймворк или библиотеку для рисования графиков по выбору — или сделать визуализацию с нуля. У нас есть статьи, как это можно сделать на популярных инструментах — например, Material UI.
Интересная и очень характерная статья — понятно, что всё лучше с блютусом, компьютерным зрением и смсками, а иначе и непонятно, о чём было бы в ней писать :)
Вот как решают ту же проблему прагматики: Телеграм-бот показывает статичные картинки, а нейронная сеть в головах голодных коллег решает, так ли они голодны на самом деле. И понятно, что самое ценное здесь — данные о том, как коллеги питаются. Не собирать их с самого первого дня — довольно интересный подход.
Денис, если взглянуть на код (ссылка на репозиторий выше), то станет понятно, что реализация крайне простая, проще некуда. Производительность и качество на данный момент удовлетворяют задаче, так что нужно скорее найти причину, чтобы менять текущую реализацию :)
Всё довольно несложно: классификацией аккаунтов на «хорошие» и «плохие» занимается простая двуслойная нейронная сеть. Машинное обучение ведь в тренде :)
Всего учитывается 15 признаков, вот некоторые из них:
- количество строк в описании аккаунта
- количество эмоджи в описании аккаунта
- количество ссылок, адресов эл. почты, телефонов и названий мессенжеров (viber, whatsapp) в описании аккаунта
- количество подписчиков у аккаунта
- отношение количество фоток к количеству подписчиков
Было вручную размечено на «хорошие» и «плохие» около 200 аккаунтов, на них обучен алгоритм. Замечательно, что, несмотря на то, что используется нейросеть, часто можно попытаться интерпретировать, почему конкретный аккаунт считается «плохим». Например, из-за аномально большого числа аккаунтов, на которые подписан «плохой», или, например, из-за повышенной плотности контактной информации в описании аккаунта.
Подробнее можно узнать прямо на Github — весь код открыт. Вот ссылка на фрагмент с признаками, по которым анализируются аккаунты: https://github.com/igorlukanin/less-distraction/blob/master/src/ml/account.js#L21
Не все, кому портит настроение докучающий «массфоловинг» и «масслайкинг», готовы это молча терпеть или делать свои аккаунты приватными. Я сделал бесплатный сервис, который умеет автомагически блокировать рекламных ботов так, чтобы они не отсвечивали в приложении. Подробнее написал здесь (осторожно, английский): https://medium.com/@igorlukanin/less-distraction-for-instagram-d1d08f300d19
Сейчас приложение на модерации в Инстагарме — для полноценного доступа к API нужно одобрение. Если одобрение выдадут, жизнь «серых маркетологов» может потерять краски. Придётся поскорей взрослеть и переходить к более цивилизованным способам продвижения реплик швейцарских часов и пищевых добавок для коррекции веса :)
Какие то левые cube.js
«Вот сейчас обидно было!», — скажу я как человек из команды Cube.js 🙂
Если интересно, то Cube.js позволяет получить очень быстрый аналитический API поверх данных в любых SQL-совместимых хранилищах (от Postgres и MongoDB до BigQuery и Snowflake). Быстрым он будет из-за встроенной в Cube.js функциональности для материализации данных в виде OLAP-кубов.
Как справедливо сказано в статье, у Cube.js довольно высокий порог входа: поверх API придётся программировать UI, но этот UI сможет быть любым. Например, на этом сайте все данные приходят из Cube.js (https://nftbank.ai/explorer).
Cube.js — это опенсорс, весь код на GitHub, можно взять и попробовать (https://github.com/cube-js/cube.js). Запускется в Докере за минуту (https://cube.dev/docs/getting-started/docker).
P. S. Помню, как ребята из KazanExpress задавали вопросы в Slack-сообществе Cube.js, так что знаю, что мы в списке решений, которые они попробовали, не для галочки.