Search
Write a publication
Pull to refresh
@resetmeread⁠-⁠only

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

Send message

Архитектура высоконагруженных телеграм-ботов на Python

Level of difficultyMedium
Reading time22 min
Views39K


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

Мессенджеры стали нашими неотъемлемыми спутниками, а их потенциал не ограничивается простым обменом сообщениями. Боты обеспечивают автоматические решения задач, которые ранее требовали участия человека. Они работают как виртуальные ассистенты, способные отвечать на вопросы, предоставлять информацию, обрабатывать заказы, делать рекомендации и многое другое.
Читать дальше →

Анализируем домен компании с помощью OSINT

Reading time6 min
Views11K

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

Читать далее

Как увеличить мощность A/B-теста, если мало данных и время поджимает

Reading time6 min
Views6.5K

Привет, меня зовут Настя, я продуктовый аналитик в Dodo. Недавно мы провели A/B-тест по запросу геолокации у пользователей. Когда я приступила к анализу, то с ужасом обнаружила, что данных — кот наплакал, а бизнес уже очень ждёт результатов. Тогда мне пришлось пустить в ход свои «секретные техники» A/B-тестирования.

В этой статье расскажу, как мне удалось увеличить выборку без загадочного бутстрапа, причём тут раскатка и почему отсутствие результата — тоже результат. Статья может быть интересна как аналитикам и продакт оунерам, так и всем неравнодушным, интересующимся A/B-тестированием.

Погнали!

Безграничные возможности FFmpeg на примерах

Level of difficultyEasy
Reading time12 min
Views72K

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

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →

LangСhain: создаем свой AI в несколько строк

Level of difficultyMedium
Reading time6 min
Views71K

В этой данной статье познакомимся с LangChain, перспективным фреймворком для работы с языковыми моделями. С его помощью можно создать свой собственный аналог ChatGPT всего в несколько строк кода. Благодаря модульной структуре, LangChain позволяет быстро и легко разрабатывать AI приложения различной сложности.

Читать далее

SymPy и симуляция физических процессов

Level of difficultyEasy
Reading time11 min
Views14K


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

SymPy — это Python библиотека для символьных математических вычислений, которая предоставляет мощные инструменты для работы с символьными выражениями, уравнениями и системами уравнений. Она позволяет разработчикам и исследователям создавать и анализировать модели физических систем с высокой степенью точности и гибкости.
Читать дальше →

Как стать гуру или WiFi Cheat Sheet

Level of difficultyMedium
Reading time21 min
Views52K

А что мы знаем про пентест Wi-Fi?

Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.

Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet». Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.

Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.

Пора ознакомиться

Разбираемся в отличии среднего чека от ARPU на примере одного интернет-магазина

Level of difficultyMedium
Reading time10 min
Views8.1K

Ко мне обратился коллега с вопросами про бизнес-метрики – средний чек и ARPU.

В этой статье я разобрался в бизнес-метриках и ответил на вопросы:

- Что такое ARPU и средний чек? Как их рассчитывать? На какие вопросы они отвечают и для чего нужны? 

- Могут ли они ARPU и средний чек быть  равны между собой? Будут ли отличаться в динамике месяц от месяца?

- Что если в бизнесе кол-во продуктов фиксировано и все они с одинаковой ценой? Будет ли показатель от месяца к месяцу одинаков? А если рассчитывать среднюю выручку?

А для наглядности – рассчитал данные метрики на реальных данных интернет-магазина.

Читать далее

Визуальное RPG с долговременной памятью, генерируемое из 3 нейросетей и LLamы

Level of difficultyEasy
Reading time17 min
Views18K

Языковые модели (NLP) сейчас активно развиваются и находят себе всё больше интересных применений. Начиналась же их эпоха с классики жанра — D&D. Это настольная игра, где несколько друзей или просто знакомых синхронно галлюцинируют, представляя себя командой героев в некоем вымышленном мире. Прав же во внутриигровых выборах тот, кто выкинул большее число на игральной кости. Судить сейчас об их мотивации у меня нет никакого желания, да и статья вообще-то не об этом.

Важно только понимать, что движущей силой сюжета в их сессиях является лишь один из игроков, называемый Dungeon Master. Когда только начали появляться первые GPT-модели, одной из первых хотелок гиков оказалось желание сварить из нейросетей автоматического Dungeon Masterа.

Так и появился AIDungeon — уникальная для своего времени (2019 год) вещь, которая не сильно потеряла в популярности и по сей день. Однако, если вы любите смотреть глубже, то играть в него вам быстро надоест. Я же в своей серии из нескольких статей (посвящённых GPT) стараюсь показать простому обывателю механизм безболезненного использования нейросетевых моделей в простых проектах при помощи Python и Hugging Face Transformers.
Приступим

Моделирование биологических явлений с помощью Python

Level of difficultyMedium
Reading time15 min
Views9.2K


Автор статьи: Артем Михайлов

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

Моделирование биологических систем позволяет ученым исследовать разнообразные аспекты биологии, такие как динамику популяций, структуру генных сетей, взаимодействие молекул внутри клеток и многое другое. Это полезно не только в фундаментальных исследованиях, но и в практических областях, таких как медицина, сельское хозяйство и экология.
Читать дальше →

Геоаналитика на Python

Level of difficultyEasy
Reading time10 min
Views9.8K


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

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

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

Level of difficultyHard
Reading time14 min
Views42K

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

Зачем этому учиться?


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

Как (быстро) сделать русский локальный ChatGPT

Level of difficultyMedium
Reading time7 min
Views49K

Эта история началась в начале марта этого года. ChatGPT тогда был в самом расцвете. Мне в Telegram пришёл Саша Кукушкин, с которым мы знакомы довольно давно. Спросил, не занимаемся ли мы с Сашей Николичем языковыми моделями для русского языка, и как можно нам помочь.

И так вышло, что мы действительно занимались, я пытался собрать набор данных для обучения нормальной базовой модели, rulm, а Саша экспериментировал с существующими русскими базовыми моделями и кустарными инструктивными наборами данных.

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

Читать далее

Переносим пользователей из AD в FreeIPA

Reading time3 min
Views13K

В связи с уходом Microsoft из России у многих возник вопрос о переносе службы каталогов на open-source или решения из реестра отечественного ПО. Одним из доступных решений является FreeIPA. Проект живет при поддержке RedHat и доступен в репозиториях отечественных операционных систем.

В этой статье мы рассмотрим перенос учетных записей с нужными нам атрибутами из Active Directory в FreeIPA 4.10.1. В качестве инструмента мы будем использовать Microsoft PowerShell.

Читать целиком

Пережевывая Матрицу Несоответствий — Confusion Matrix

Level of difficultyEasy
Reading time7 min
Views20K

Понятие Confusion Matrix является довольно простым в объяснении, но при этом начинающим Data Scientist-специалистам бывает порой нелегко разобраться в отношениях True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) — кирпичиками, составляющими данную матрицу. Цель этой статьи познакомить читателя с альтернативным представлением Матрицы Ошибок. Данный способ, по мнению автора, является наиболее наивным методом графического восприятия самой Матрицы Несоответствий, не предполагающий запоминания самой таблицы матрицы. Данный подход позволит легко ориентироваться в выводах, основанных на комбинации элементов Confusion Matrix, глубже понять проблему дисбаланса классов в задачах классификации.

Читать далее

Анализ музыкальных предпочтений с использованием аудиоаналитики на Python

Reading time15 min
Views7.8K

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

Что делает песню хитом? Какие элементы музыки заставляют нас нажимать "пропустить" или добавлять трек в свой плейлист? Ответы на эти вопросы лежат в понимании музыкальных предпочтений слушателей. Анализ этих предпочтений — это не только путь к более точным рекомендациям, но и ключ к пониманию наших эмоциональных реакций на музыку. Именно здесь на сцену выходит аудиоаналитика.

Читать далее

Профилирование Python — почему и где тормозит ваш код

Level of difficultyMedium
Reading time10 min
Views27K

Представьте ситуацию: вы написали скрипт для обработки каких-то данных на ноутбуке, ушли попить кофе, а когда пятнадцать минут спустя вернулись, завершилось едва ли 10%.

Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный?

Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).
Читать дальше →

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

Reading time14 min
Views14K

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

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

Читать далее

Применение преобразований PCA и t-SNE для снижения размерности данных

Reading time11 min
Views11K

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

В этой статье мы рассмотрим методы снижения размерности данных, такие как: «Преобразование главных компонент» (PCA) и "t-SNE" (t-distributed Stochastic Neighbor Embedding). Оба метода обладают своими уникальными характеристиками и предназначены для разных типов данных и задач.

Читать далее

Создайте свой клон с помощью Fine-tuned LLM

Level of difficultyMedium
Reading time10 min
Views20K

Обретите цифрового двойника

Цель этой статьи - показать, как эффективно и с минимальными затратами настроить LLM на пользовательском датасет. Мы рассмотрим использование модели Falcon-7B с адаптерами LoRa, с использованием библиотеки Lit-GPT.

Читать далее

Information

Rating
Does not participate
Registered
Activity