Обновить
45.19

Визуализация данных *

Облекаем данные в красивую оболочку

Сначала показывать
Порог рейтинга
Уровень сложности

Архитектура ИТ решений. Часть 1. Архитектура предприятия

Время на прочтение12 мин
Охват и читатели198K
Новая версия статьи,

I. Вступление

Архитектура распределяет массы и объемы.
Вдохновение превращает инертный камень в драму.
Ле Корбюзье.
Недавно столкнулся со следующей ситуацией, одна крупная ИТ компания подбирала для себя архитектора, с целью доработки компьютерной платформы «собственного исполнения». Такая работа, естественно, требовала привлечения специалиста высокой квалификации. А как это сделать дешево и сердито, чтобы призванный варяг был «и чтец и жнец и на дуде игрец»? Решили без всяких излишеств разработчика ПО, поименовать архитектором, и заполучить помимо кодировщика, еще и профессионала, способного разобраться с чужими решениями, до проектировать их на свое усмотрение, принимать самостоятельные решения и т.п…

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

Анализ ICO: подход технический. Часть I — общие выводы

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


Долго думал, с чего начать публикации в 2018 году: и понял, что ответ лежит на поверхности — с выводов о том, что делал в 2017 больше всего, то есть с анализа ICO и прогнозам по этой отрасли. Но скажу сразу, что исследование получилось объёмным, поэтому решено разбить его на три, минимум, части.

В первой будет дана общая аналитика ICO совместно с командой Icofisher.com - проект находится в beta-версии, но уже неплохо справляется с поставленной задача (технический анализ блокчейн-проектов). Во второй попробую остановиться на одном из самых страшных для отрасли (в России) проекте — ZrCoin, а в третьей — уже на мировой афере формата МММ — … Впрочем, обо всём по порядку.


На Forbes уже была статья Анти Данилевский из Kickico, где он рассматривает портрет участника кампаний первичного размещения токенов, но я попробую выявить ещё и другие тенденции и на большей выборке.
Читать дальше →

Использование Grafana с IoT-платформой DeviceHive

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


Авторы: Игорь Трамбовецкий, Developer; Николай Хабаров, Embedded Expert

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

Читать дальше →

Анимация в мобильных приложениях. Тестируем Kite compositor

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


В 2017 году для MacOS вышла программа Kite compositor, которая может стать посредником между дизайнерами и разработчиками. Основная идея — быстрое создание анимации и прототипирование с последующей генерацией кода для платформы iOS. На структуре программы мы останавливаться не будем, на эту тему уже есть подробный материал. Цель нашей статьи — эксперимент. Дизайнер попробует создать анимацию с помощью программы, а разработчики проверят код и дадут обратную связь.
Читать дальше →

Паблик «Щастьематринства» и его небольшое статистическое исследование

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

Введение (январь 2018)


Иногда люди берутся за дела с которыми сами справиться не могут. И я не исключение.

Есть такая интересная группа ВК — #щастьематеринства( https://vk.com/zaiki_luzhaiki ). Она представляет из себя один из самых феерических источников грубого реализма. Если вы хотите разочароваться в семье, детях, мужьях и всем чем угодно, вам туда. Экзистенциальный кризис вам обеспечен (хотя бы фактом того, что там пишут по 15 постов в день и это настоящие люди). И, конечно, этим паблик и во многом привлекателен.

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

Читать дальше →

Линукс и вёрстка газеты (не для профессионалов)

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

Вот вы, например. Вы ведь думаете, что после смерти всё кончается, верно?

— Верно… — откликнулось несколько голосов в зале. [...]

— И ток не течет по воздуху. Верно?

— Верно…

— И без Windows или MacOS невозможно производить допечатную подготовку газеты?


Неверно. С помощью линукса можно, конечно, делать не всё, но гораздо больше, чем вы думаете.


Лет пятнадцать назад рекламное агентство, где я работал, начал поклёвывать жареный петух по поводу нелицензионного ПО. Шеф прикинул возможности и решил, что сможет выкроить из бюджета сумму на покупку пяти лицензий Windows+Office, одной 1С 7.7 и парочки Corel Draw. Работать при этом на 1С должны были 10 рекламных менеджеров, а Windows была совершенно необходима дизайнерам.


У нас был хороший админ; он тоже прикинул возможности, проконсультировался с коллегами и задумался: зачем конкретно менеджерам-продажниками нужна Windows?


Читать дальше →

Визуализация дискретного пространства: тор против симплекса

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

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


Дискретное пространство, симплексы, тор


Читать дальше →

Советы по повышению конверсии с ваших бизнес-презентаций

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

Как я парсил Хабр, часть 1: тренды

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

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


Получилось несколько интересных сюжетов. Первый из них — это развитие формата и тематики статей за 12 лет существования сайта. Например, достаточно показательна динамика некоторых тем. Продолжение — под катом.


Читать дальше →

Система сбора, анализа, уведомлений и визуализации логов на syslog-ng, elasticsearch, kibana, grafana, elasticalert

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

image


Что мы получим после этой статьи:


Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.


Какие логи будем собирать:


  • все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
  • логи nginx — access и error;
  • логи pm2;
  • и др.

Обоснование выбора системы


Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.


Требования:


  • Ubuntu 16.04 или debian 8-9;
  • vm для развертывания;
  • Прямые руки.

Приступим или добро пожаловать под кат

Читать дальше →

Как построить географическую панель наблюдения с данными в реальном времени

Время на прочтение3 мин
Охват и читатели9.4K
В этом посте покажу, как построить интерактивную географическую панель наблюдения с Displayr, Plotly и R. Особенно интересно, что она отслеживает позицию военных самолетов в реальном времени. Для этого я собираюсь взять данные из двух разных источников (регионы на основании размера ВВС и отслеживание позиции самолетов в реальном времени). Панель наблюдения отображает динамические данные двумя способами: оттенок региона (чтобы показать численность ВВС в стране) и точки-маркеры (для позиций самолетов). Потом я построю карту, чтобы аккуратно и красиво отобразить все эти данные.
Читать дальше →

Визуализация разработки SEMrush.com 2017

Время на прочтение2 мин
Охват и читатели4K
В честь окончания года, для праздничного «айтишного» настроения: 550+ репозиториев команды SEMrush на одном видео.


Спонсор показа Gource

Под катом пара слов о том, как это сделано.
Читать дальше →

Добыча данных в R

Время на прочтение14 мин
Охват и читатели22K
Этот пост — перевод трех частей серии Data acquisition in R из моего англоязычного блога. Исходная серия задумана в четырех частях, три из которых легли в основу данного поста: Использование подготовленных наборов данных; Доступ к популярным статистическим БД; Демографические данные; Демографические данные. В еще не написанной заключительной части речь пойдет об использовании пространственных данных.




R заточен под воспроизводимость результатов. Существует множество прекрасных решений, обеспечивающих сопоставимость версий системы и пакетов, помогающих применять принципы literate programming… Я же хочу показать, как можно легко и эффективно находить/скачивать/добывать данные, используя собственно R и документируя каждый шаг, что обеспечивает полную воспроизводимость всего процесса. Разумеется, я не ставлю перед собой задачи перечислить все возможные источники данных и фокусирую внимание в основном на демографических данных. Если ваши интересы лежат вне сферы статистики населения, стоит посмотреть в сторону великолепного проекта Open Data Task View.


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

Читать дальше →

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

Рейтинги автомобильных марок: пример анализа переменных с множественным откликом

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


В анкетных маркетинговых исследованиях довольно часто встречаются вопросы, в которых респонденты могут выбрать несколько подходящих вариантов из списка возможных ответов (check all that apply questions). Ответы респондентов на такие вопросы задают переменные с множественным откликом (multiple-response variables). Подходящие статистического методы для работы с multiple-response переменными не являются широко известными. В этой статье мы рассмотрим анализ таких переменных на примере данных об автомобильных рейтингах.

Читать дальше →

Анализ логов СКУД с помощью Splunk

Время на прочтение3 мин
Охват и читатели7.3K
Если у Вас есть Система Контроля и Управления Доступом или, проще говоря, СКУД, но вы не знаете, как можно получить полезную информацию из данных, которые эта система генерирует, то эта статья будет полезна Вас.



Сегодня мы расскажем о том, как с помощью Splunk, о котором говорили ранее, можно получать аналитику по результатам деятельности СКУД, а также зачем это нужно.
Читать дальше →

Создание рождественской анимации с помощью Wolfram Language

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


Перевод блога O Tannenbaum Майкла Тротта, директора Wolfram|Alpha.



В этом ноутбуке описывается, как создать анимацию украшенной елки, которая перемещает свои ветви синхронизированно с голосами музыки немецкой песни O Tannenbaum 16-го века (английская версия — O Christmas Tree). Одна выделенная ветвь дерева будет действовать как дирижер, а свеча будет дирижёрской палочкой. Это делает анимацию интересной во всех куплетах. Мы также добавим немного снега и несколько веселых движений дерева во второй половине песни. Чтобы увидеть окончательный дизайн, просмотрите это видео на YouTube:
Читать дальше →

Как научиться мыслить образами, используя визуальные аналогии

Время на прочтение29 мин
Охват и читатели77K
Визуалы – это люди, которые, воспринимают большую часть информации с помощью зрения. Визуалы составляют примерно 60% населения нашей планеты (автор статьи, Анна Виталь, также входит в их число). Вы можете спросить: как же нам удается общаться с вами с помощью изображений? Все достаточно просто – для этой цели мы используем хорошо известные визуальные символы и аналогии. Ниже представлены некоторые из таких зрительных аналогий, начиная с наиболее простых и заканчивая самыми сложными.

Читать дальше →

«Оч.умелые ручки»: делаем Tableau/Qlik из R и «синей изоленты»

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

Является продолжением предыдущих публикаций.


Естественно, что название является потешным, но, как хорошо известно, в каждой шутке есть доля правды. Сама тема возникла, когда в очередной сотый раз пришлось слышать настойчивое пожелание о том, что необходим «гибкий конструктор отчетов/графиков». После определенного момента проще взять и сделать, чем в очередной раз объяснять, что tidyverse покрывает все необходимые потребности.


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


  • интерфейс с большим-большим количеством менюшек и кнопочек, с множественными закулисными IF для управления взаимными состояниями этих элементов;
  • «гибкий плоттер» с большим количеством вложенных IF для отрисовки графиков в соотвествии со скормленным данными и положением кнопочек-ползунков, выставленных в UI.

С одной стороны делать «Yet Another Tableau» совершенно неинтересно. С другой стороны, постановка в стиле «сделать так, чтобы все было, но ничего не надо делать» — типичная задача для ТРИЗ.


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



Две ключевых идеи по упрощению задачи следующие (ничего нового, все уже придумано до нас):


  1. вместо статически заданного UI переходим к динамически генерируемому;
  2. используем интерпретатор R не только для исходного кода, но и внутри самого кода.

Идея 1. Динамический web-интерфейс


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


Сделаем по-другому. Вместо UI элементов со сложным поведением раскидываем с помощью uiOutput placeholder-ы, в которые динамически рассчитываем и генерируем с помощью shiny::renderUI представление этого элемента. Все внешние параметры, требуемые для генерации элемента, трактуем как реактивные элементы (reactive). При этом все такие интерактивные элементы выступают в качестве «автономных агентов», которые смотрят на окружение и подстраиваются под него. Пользователь изменил состояние одного элемента — все зависимые стали пересчитывать по очереди свое состояние (мы явно не обрабатываем события, а используем реактивный подход shiny). При изменении их состояния могут возникнуть новые индуцированные изменения. И так, пока все не стабилизируется.


В результате, в коде остается только один обработчик (кнопка «Go»)
  observeEvent(input$gen_plot, { # код демонстрирует принцип

    escname <- function(x){
      # имена колонок надо закавычить
      # .....
    }

    point_code <- ""
    if(input$shape_type!="__NO_MAPPING__") {
      aes <- c("shape"=escname(input$aes_shape_col), "color"=escname(input$aes_color_col))
      point_code <- buildPointCode(fixed=c("shape"=input$shape_type, "color"=glue("'{input$plot_color}'")), aes=aes)
    }

    line_code <- ""
    if(input$line_type!="__NO_MAPPING__") {
      aes <- c("linetype"=escname(input$aes_linetype_col), "color"=escname(input$aes_color_col))
      line_code <- buildLineCode(fixed=c("linetype"=input$line_type, "color"=glue("'{input$plot_color}'")), aes=aes)
    }

    gcode <- glue("ggplot(data_df(), aes(x=`{input$x_axis_value}`, y=`{input$y_axis_value}`))\\
                  {point_code} {line_code} + xlab('{input$x_axis_label}')") %>%
      style_text(scope="spaces")

    plot_Rcode(gcode)
  })  
Читать дальше →

Отслеживаем Millenium Falcon с помощью TensorFlow

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


На момент написания этой статьи большинство крупных технологических компаний (вроде IBM, Google, Microsoft и Amazon) предлагают простые в использовании API визуального распознавания. Аналогичные инструменты предлагают и более мелкие компании, например, Clarifai. Но никто из них не предлагает средств по обнаружению объектов (object detection).

Анализ резюме hh.ru: много графиков и немного сексизма и дискриминации

Время на прочтение5 мин
Охват и читатели105K
Недавно мне на глаза попалась статья про анализ датасета резюме hh.ru, который участвовал в каком-то хакатоне. Это навело меня на мысль самому поиграться с данными резюме. Тем более что у меня их немного больше. Я выбрал самую интересную для меня профобласть, которую можно указать в резюме, — «Информационные технологии, интернет, телеком».

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


Читать дальше →