Как формулировать гипотезы?

  • Определите цель. Например, вы хотите, чтобы посетители сайта покупали больше. Вокруг этой точки и следует формировать гипотезы, именно на неё будут влиять результаты исследования;
  • Предполагайте. В свободной форме сделайте предположения о том, что влияет на выбранное для анализа явление. Например: «Число покупок зависит от внешнего вида карточек товаров». Избегайте суждений в духе «это и так понятно». В аналитике нет ничего очевидного — всё нужно сначала доказать;
  • Уточните гипотезу. Здесь два пути: можно постараться сделать гипотезу максимально точной с самого начала либо сразу приступить к проверке. В ходе работы вы обязательно сформируете новые, уточняющие предположения. Например, гипотеза «Число покупок зависит от внешнего вида карточек товаров» через некоторое время может превратиться в такую: «Возможность предварительного просмотра в карточке товара влияет на рост числа покупок».
  • Действуйте. В хорошей гипотезе всегда есть не только цель, но и действие: «Если добавить в карточки товаров возможность предварительного просмотра, это увеличит число покупок». При формулировании гипотез один из этих элементов часто теряют. Например, вы делаете редизайн сайта. Но зачем? Есть действие, но нет цели. Или хотите увеличить продажи, но не знаете как. Цель есть, действия нет.
image

Data Science: Первое знакомство

Чтение csv-таблиц:

import pandas

data = pandas.read_csv('polomki.csv', index_col='Магазин')

print(data)

Работа с колонками:

import pandas

data = pandas.read_csv('polomki.csv', index_col='Магазин')

data['Неделя 14'] = data['Неделя 14'] * 100

print(data)

Вывод тепловой карты:

import pandas
import seaborn

data = pandas.read_csv('polomki.csv', index_col='Магазин')

data['Неделя 14'] = data['Неделя 14'] * 100

seaborn.heatmap(data)

Обработка аргументов в bash

#!/bin/bash

while [[ "$#" -gt 0 ]]; do
    case $1 in
        -t|--target) target="$2"; shift ;;
        -u|--uglify) uglify=1 ;;
        *) echo "Unknown parameter passed: $1"; exit 1 ;;
    esac
    shift
done

echo "Where to deploy: $target"
echo "Should uglify  : $uglify"
Usage:

./deploy.sh -t dev -u

# OR:

./deploy.sh --target dev --uglify

Простой инсталлятор для Linux средствами bash

Если вам приходилось ставить JDK на вашу Linux-машину, то вы знакомы с этим способом развёртывания приложения. И, если теперь ваша замечательная новая программа должна отправиться к благодарным пользователям, то почему бы не облегчить им жизнь с помощью простого «инсталлятора»? Вот увидите, клиенты это оценят.

Как это выглядит?
Предельно просто. Пользователь загружает .sh файл и запускает его. Скрипт не просто создаёт все директории и т.п., а ещё и извлекает «из себя» файлы приложения и раскладывает их куда нужно.

Читать далее «Простой инсталлятор для Linux средствами bash»

PostgreSQL 11: Мастерство разработки

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

CREATE UNIQUE INDEX some_name ON person USING btree (id) INCLUDE (name);

Если вы хотите получить «настоящее время», то пользуйтесь функцией clock_timestamp(), а не now().

Читать далее «PostgreSQL 11: Мастерство разработки»

Создание собственного Youtube сайта

В сложившейся ситуации на март 2022 года я решил найти замену Youtube. При простом поиске в интернете я нашел следующее ПО PeerTube.

Все инструкция находиться по адресу https://docs.joinpeertube.org/install-any-os?id=installation

Примечание: установку делал на Ubuntu 20.04

Видео ролик установки https://www.youtube.com/watch?v=62_fQwp3KTU

Добавление, разметка, монтирование нового жесткого диска в ubuntu

Понадобилось мне подключить к системе ubuntu 14.04 новый жесткий диск. Разобрал как это делается, с чем и хочу поделится с вами и для себя будет памятка.

У меня система развернута на сервере ESXi, к профилю виртуальной машины я добавил новых жесткий диск размером 500Gb. Запускаю систему и само собой она знать не знает чего мы там к ней подключили и как с ним работать.

Первым делом посмотрим какие вообще у нас устройства подключены

sudo fdisk -l

Видим что диск определился, но на нем отсутствует таблица разделов.

Читать далее «Добавление, разметка, монтирование нового жесткого диска в ubuntu»

SWIFT: создание второго потока

var workItem: DispatchWorkItem? = nil

...

override func viewDidAppear(_ animated: Bool) {
   super.viewDidAppear(animated)
        
   let indicator = activityIndicator()
   indicator.startAnimating()
        
   workItem = DispatchWorkItem {
            // долгая команда

   DispatchQueue.main.async {
       indicator.stopAnimating()
       indicator.hidesWhenStopped = true
       }
   }
   DispatchQueue.global(qos: .utility).async(execute: workItem!)
}

...

override func viewDidDisappear(_ animated: Bool) {
    if let workItem = workItem {
        workItem.cancel()
        self.workItem = nil
    }
}

Pentaho: ошибка вида gc overhead limit exceeded

Предыстория: заказчик жалуется, что через какое-то время построение отчетов становиться не доступно (построение Excel с большим количеством строк).

Справа — web-сервер, слева — база данных.

По нагрузке видно, что все ядра на сервере построения отчетов загружены на полную, но при этом нагрузки на СУБД нет.

Читать далее «Pentaho: ошибка вида gc overhead limit exceeded»