Как стать автором
Обновить
@resetmeread⁠-⁠only

Скромный пастух нулей и единиц…

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

T-test. Зависимость от независимости

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

Привет, Хабр! В статье подробно рассмотрим область применения самого базового статистического критерия Стьюдента. Посмотрим, как он ведёт себя, когда мы не хотим отдавать качество подбора наших групп на волю случая.

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

Как быстро собрать кубик для простых задач: играемся с TinyOLAP

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.2K

Привет, Хабр. Сегодняшняя статья будет интересна тем, кто хочет собрать простой OLAP‑куб для анализа данных, чтобы понять, как он устроен и работает. Экспериментировать будем с помощью TinyOLAP, одного из немногих OpenSource движков на Python.

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

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров5.4K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Всего голосов 18: ↑21 и ↓-3+24
Комментарии13

Управление инфраструктурой с помощью terragrunt (terraform) и gitlab ci

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

В этом посте:


  • Использование terraform модулей
  • Организуем структуру каталогов с terraform модулями для terragrunt согласно вашей инфраструктуре
  • Создание/Обновление/Удаление инфраструктуры одной terragrunt командой
  • Настройка в gitlab ci для запуска и сохранения terraform lock и state в gitlab
  • Бекап terraform state из gitlab
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Terraform: от незнания к best practices

Уровень сложностиСредний
Время на прочтение47 мин
Количество просмотров26K

Всем привет! Меня зовут Виктор, я DevOps‑инженер компании Nixys, которая помогает другим компаниям внедрять в их IT‑решения передовые практики DevOps, MLOps и DevSecOps.

Сегодня я приглашаю вас вместе со мной пройти путь «от незнания к best practices» в работе с Terraform. Этот материал подготовлен для серии наших одноименных видеороликов на YouTube, но мы решили дополнить его и предложить вам более детальное описание процесса в этой статье.

Не забывайте следить за нашими обновлениями на YouTube, Habr и подписывайтесь на наш Telegram‑канал DevOps FM — мы всегда рады новым друзьям. Начнём?

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

Pandas: от хаоса к красоте кода

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

Работа с pandas.DataFrame может превратиться в неловкую кучу старого (не очень) доброго спагетти-кода. Я и мои коллеги часто используем эту библиотеку, и хотя мы стараемся придерживаться хороших практик программирования, иногда мы все равно мешаем друг другу, создавая запутанный код.

Я собрала несколько советов и подводных камней, которых следует избегать, чтобы сделать код на pandas чистым. Надеюсь, вам они тоже будут полезны. Также я буду ссылаться на классическую книгу Роберта Мартина «Чистый код: создание, анализ и рефакторинг».

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

Решение систем линейных уравнений с помощью Python

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

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

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

Приятного прочтения )

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

Интеграция Grist и Metabase

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

Привет! Меня зовут Александр Ежков, я Backend-разработчик в AGIMA. Занимаюсь созданием и поддержкой внутренних сервисов для компании. А конкретно сейчас — нашей DWH-системой. Мы построили ее из Open-source продуктов. В этой статье расскажу, какие продукты мы используем, какие хитрости придумали для работы с ними как вся система работает вместе.

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

Ликбез по методологиям проектирования хранилищ данных

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

Хранилище данных — это информационная система, в которой хранятся исторические и коммутативные данные из одного или нескольких источников. Он предназначен для анализа, составления отчетов и интеграции данных транзакций из разных источников.

Рассмотрим сильные и слабые стороны самых популярных методологий.

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии5

Неизвестно полезный CSS. Часть 2

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.7K


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS-фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React-приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.


Сегодня мы рассмотрим:

  • загрузку фоновых изображений для экранов с повышенной плотностью пикселя с помощью функции image-set();
  • как с помощью неё же ускорить загрузку страницы;
  • можно ли использовать нестандартный шрифт без его загрузки;
  • чем полезен псевдо-класс :focus-within при вёрстке кастомных чекбоксов;
  • мой любимый лайфхак на основе пользовательских CSS-свойств.

Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.

Читать дальше →
Всего голосов 22: ↑27 и ↓-5+32
Комментарии7

Хотите присоединить Windows к домену ALD Pro (FreeIPA)? Спросите меня как

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров6.9K

Конечная цель проектов импортозамещения в ИТ — полный отказ от операционной системы Windows. Но, как говорится, гладко было на бумаге, да забыли про овраги. Может так оказаться, что быстро заменить какие-то клиентские корпоративные приложения, написанные под эту операционную систему, не получится. В этом случае вам может пригодиться возможность присоединения Windows-компьютеров к домену ALD Pro.

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

Материал будет полезен даже в том случае, если в вашей инфраструктуре пока еще используется «ванильная» система FreeIPA.

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

Проджект менеджер свалился под стол с кровавой пеной во рту — что делать?

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

Айтишный труд опасен: можно отравиться соевым латте, словить инфаркт от правок и подраться на корпоративе. Можем ли мы рассчитывать на помощь коллег в случае ЧП? Пока вы врубаете VPN, чтобы спросить совета у ChatGPT, ваш коллега отправится на тот свет. 

В этой статье разобрали несчастные случаи, которые могут настигнуть вас в офисе. Рассказываем, что нужно сделать в таких ситуациях (и что делать ни в коем случае нельзя). Кстати, ВОЗ говорит, что на рабочем месте ежегодно умирает до 600 000 человек. 

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии22

Анализ новостей с помощью сегментации и кластеризации временных рядов

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

В Отусе я прошла курс ML Advanced и открыла для себя интересные темы, связанные с анализом временных рядов, а именно, их сегментацию и кластеризацию. Я решила позаимствовать полученные знания для своей дипломной университетской работы по ивент-анализу социальных явлений и событий и описать часть этого исследования в данной статье.

Шаг 1. Сбор данных

В качестве источника данных я взяла информационно-новостной ресурс Лента.ру, так как с него легко парсить данные, новости разнообразны и пополняются в большом объеме ежедневно. Для теста я спарсила новости за последний год (март 2023 – март 2024) с помощью питоновских BeautifulSoup и requests.

В коде происходит процедура сбора заголовка, даты и тематики новостей:

Читать далее
Всего голосов 24: ↑22 и ↓2+20
Комментарии9

Введение в нейросети: что, зачем и как?

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров32K

Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.

Как же нейросети рисуют картинки?
Всего голосов 58: ↑56 и ↓2+54
Комментарии25

Эксплуатация кроликов (RabbitMQ) в режиме «Выжить любой ценой»

Время на прочтение16 мин
Количество просмотров30K
«Компания» — оператор связи ПАО «Мегафон»
«Нода» — сервер RabbitMQ.
«Кластер» — совокупность, в нашем случае трех, нод RabbitMQ работающих как единое целое.
«Контур» — совокупность кластеров RabbitMQ, правила работы с которыми определяются на стоящем перед ними балансировщике.
«Балансировщик», «хап» — Haproxy – балансировщик, выполняющий функции переключения нагрузки на кластеры в рамках контура. Для каждого контура используется пара серверов Haproxy, работающих параллельно.
«Подсистема» — публикатор и/или потребитель сообщений, передаваемых через кролика
«СИСТЕМА» — совокупность Подсистем, являющая собой единое программно-аппаратное решение, используемое в Компании, характеризующееся распределённостью по всей территории России, но обладающее несколькими центрами, куда стекается вся информация и где происходят основные расчёты и вычисления.
СИСТЕМА – географически распределённая система – от Хабаровска и Владивостока до Санкт-Петербурга и Краснодара. Архитектурно это несколько центральных Контуров, разделенных по особенностям подсистем, к ним подключённым.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии30

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров7.2K

В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Deckhouse Kubernetes Platform. Деплоить будем с помощью Open Source CLI-утилиты werf. Она помогает организовать полный цикл доставки приложений в Kubernetes и рассматривает Git как единый источник истины для состояния развёрнутого приложения. Статья рассчитана на тех, кто только начинает свой путь в мире облаков и кластеризации.

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

MySQL и JOINы

Время на прочтение6 мин
Количество просмотров147K
Поводом для написания данной статьи послужили некоторые дебаты в одной из групп linkedin, связанной с MySQL, а также общение с коллегами и хабролюдьми :-)

В данной статье хотел написать что такое вообще JOINы в MySQL и как можно оптимизировать запросы с ними.

Читать дальше →
Всего голосов 85: ↑83 и ↓2+81
Комментарии67

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Время на прочтение39 мин
Количество просмотров363K
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



Встретимся «внутри»!
Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии15

Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров4.9K

Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признаков внутри классов и поиске их линейного преобразования, которое максимизирует межклассовую дисперсию и минимизирует внутриклассовую. Другими словами, объекты разных классов должны иметь нормальное распределение и располагаться как можно дальше друг от друга, а одного класса — как можно ближе.

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

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров6.7K

Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных вероятностных плотностей вместо одной многомерной.

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность