Обновить
835.6

Python *

Высокоуровневый язык программирования

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

Обзор метрик обнаружения аномалий (плюс много дополнительной информации)

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

Привет, Хабр! На связи снова Юрий Кацер, эксперт по ML и анализу данных в промышленности, а также руководитель направления предиктивной аналитики в компании «Цифрум» Госкорпорации “Росатом”.

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

Читать далее

Что такое тезаурус и как определить семантическое сходство слов

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

При разработке чат-ботов и голосовых ассистентов часто возникает задача нахождения семантического сходства слов. Причина тому – наличие в языке большого количества схожих по смыслу слов и выражений.

Читать далее

Планируем идеальный поход с NetworkX и OpenStreetMap

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

Как создать приложение с открытым кодом для планирования пеших походов и выбора оптимального маршрута?


КДПВ

Любой заядлый турист знает: всё, что ждёт его в походе, зависит от подготовки. Брать ли дождевики? Сколько идти от одного источника воды до другого? Где лучше ночевать в этой местности в это время года? Но самый важный вопрос звучит проще простого: «Что я там буду делать?» Отвечаем на эти вопросы к старту нашего курса по Fullstack-разработке на Python.
Узнать больше

Использование HTMS для хранения и применения нейронных сетей

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

Новый подход к моделированию нейронных сетей в таблично-сетевых базах данных.

[Это перевод статьи, которую я опубликовал на www.medium.com в серии постов о таблично-сетевой модели данных. Смотрите ссылки на все посты здесь.]

Система управления HyperTable Management System — HTMS разработана для универсального использования. Одной из предметных областей, где признаки базовой для HTMS — таблично-сетевой модели данных соответствуют ей максимально адекватно, являются нейронные сети¹. Нейронная сеть представляет собой направленный, взвешенный граф.

В качестве базовой модели нейросети я буду использовать многослойный персептрон MultyLayer Percehtron— MLP² с одним скрытым слоем.

Читать далее

Разработка «зрелищной» программы. Интерфейс оператора, GUI и маркетинг

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

Для торгового автомата, описанного в статье, потребовалась программа с интерфейсом оператора - несколько диалоговых окон. Смесь справочника с обучающими видео, меню выбора текущего видео и прочих настроек.

Читать далее

REST API на основе Snake (Python, Mamba, Hydra и Fast API)

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

Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba. Более того, я вкратце опишу, как упаковать всех этих змей в один образ Docker и заставить их работать вместе. Весь код выложен на моём GitHub.

Давайте начнём с кратного объяснения того, почему я решил выбрать эту тему.
Читать дальше →

Заметки дата-инженера: интеграция Kafka и PySpark

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

Данная статья будет полезна тем, чья деятельность связана с Data Engineering, и тем, кто только знакомится с этой славной профессией. Вы узнаете про особенности настройки и интеграции Kafka со Structured Streaming, а также увидите различные способы чтения данных, работы с водяными метками и скользящим окном.

Привет, меня зовут Андрей, я работаю дата-инженером и по совместительству тимлидом разработки на проекте из банковского сектора. За плечами у меня и моих коллег большое количество успешных проектов, касающихся проектирования DWH и разработки ETL-процессов. Нам всем стали уже «родными» такие системы и инструменты как: Oracle, PostgreSQL, GreenPlum, Hive, Impala, YARN, Spark и Airflow (и прочие бигдата-покемоны), которые применялись в режиме пакетной обработки данных. А вот с потоковыми процессами на тот момент плотно работать ещё не приходилось. Нашей команде предстояло разработать «под ключ» систему типа «Real Time Marketing» – в онлайн формате анализировать действия пользователей в мобильном и интернет банке, сверяться и джойниться с множеством различных источников данных, чтобы в итоге эффективно генерировать актуальные и выгодные предложения для каждого из пользователей.

Читать далее

Интерактив: «Анализируем вместе» часть 1/5 (декомпозиция)

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

Всем привет!

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

Каждая часть будет выходить, предположительно, раз в неделю и при завершении проект будет выложен на GitHub.

Статьи направлены на совместный анализ данных. Вы можете вместе со мной проводить анализ представленного дата сет.

Начнем анализировать

Телеграм как платформа для P2P обмена криптовалюты

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

Это будет вместо вступления. Телеграм на сегодняшний день обладает самым удобным и мощным бот апи, если сравнивать с другими мессенджерами и платформами. Но не смотря на это, он не является обязательным элементом этой схемы обмена и для реализации такого приложения можно использовать практическ любой популярный мессенджер или социальную сеть - например Discord, VK или одноклассники. Немного изучая материал, а так же, имея за плечами многолетний опыт работы с соц сетями и мессенджерами, я пришел к выводу что многие не осознают тот факт, что сам по себе "бот" - это универсальный механизм, который может работать с любым интерфейсом. Иными словами - это код, реализованный с использованием паттерна Finite-state machine. А апи, с которым он будет работать - оно может быть любым, и хорошего бота можно в два счета перевести из телеги в контакт.

Читать далее

Использование slots | Python

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

Когда мы создаем объекты для классов, требуется память, а атрибут хранится в виде словаря (в dict). В случае, если нам нужно выделить тысячи объектов, это займет достаточно много места в памяти.

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

Читать далее

Генерация псевдослучайных чисел в программировании. И как у меня псевдо-получилось их сгенерировать

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

Немного о генерации случайных чисел в рамках программирования. Для новичков.

Это мой первый серьёзный пост на подобную тему. В первую очередь я хочу очертить суть данной статьи. Тут я не буду разбирать полностью тему о генерации случайных чисел самим компьютером, за исключением одного термина для понимания разницы между Генерацией истинно случайных чисел(ГСЧ) и генерацией псевдослучайных чисел (ГПСЧ). Тут мы больше поговорим об алгоритмах которые используют языки программирования для генерации случайных чисел, и о том, почему они не случайны и не могут быть таковыми. Эта статья предназначена для тех программистов, которые минимум уже освоили функцию генерирующую случайные числа в своем языке, и хотят понять глубже эту тему. Я считаю эта тема одна из самых важных и в какой то степени сложной. Случайные числа очень полезны в различного рода алгоритмах, и понимание того, как они работают, возможно в будущем помогут вам сделать, что-то невероятное или просто полезное. А в конце я покажу свою псевдо-удачную попытку изобрести свой генератор псевдослучайных чисел.

Читать далее

Управление несколькими версиями Python под управлением Ubuntu 20.04

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

Одно из моих первых разочарований при разработке на Python не имело ничего общего с самим Python, а скорее с излишне изотерическими действиями по развертыванию приложений на Python. Учебные курсы и руководства отлично справляются с задачей обучения студентов запуску Python кода локально, но действительно стоящие приложения не запускают на локальных машинах: они работают на интернет серверах потому что именно в этом и есть их назначение, не так ли? Хотя может быть я высказал сумасшедшую идею.

Ubuntu 20.04 это первая LTS версия Ubuntu в которой отсутствует Python2 и которая поставляется из коробки с установленной версией Python 3.8.5. Но что если написанное вами приложение использующее более новую версию Python? Если вы, как и я, пытались заменить установленную по умолчанию в системе версию, то в процессе сломали вашу ОС. Если до этого вам никто не говорил не делать этого, тогда я возьму на себя эту честь: не делайте этого.

Итак, что же нам делать? Существует нескольок путей как обновить версию Python на Ubuntu, но использование вастроенного в Ubuntu's механизма "alternative install" оптимально по нескольким причинам:

Читать далее

Telegramm-habr-бот. Долгий путь к совершенству

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

Каждый день мы просматриваем habr. Каждый день заходим на главную ленту и просматриваем её. Что, если автоматизировать этот просмотр?

В статье я расскажу, как я писал telegram-бота на python3, который вытаскивает заголовки статей с habr и пишет их в telegram.

И т. Д.

Читать далее

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

Что было в голове у Гвидо, когда он создавал Python

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

На Хабре уже описывали историю создания Python. Но мы решили не просто пересказать события ещё раз, а увидеть их глазами Гвидо ван Россума: что он сам думал об этом всём? Мы порылись в архивных текстах и нашли ранние высказывания, которые помогают лучше понять, почему Python стал именно таким и что определило его популярность.

Все началось с того, что в декабре 1989 года голландец Гвидо (Guido van Rossum) — будущий создатель одного из самых популярных языков программирования — искал хобби-проект, которому можно было бы посвятить рождественские каникулы… Сам Гвидо вспоминал это время так:

Как-как он его вспоминал?

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

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

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

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

И всё заверте...

Best Practices для Python

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

Лучшие практики в Python по моему мнению

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

В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.

Читать далее

Web3.0 на Python, часть 1: основы

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

Привет, Хабр! Во время знакомства с Web3 было сложно найти понятные примеры базовых операций с блокчейном с использованием Web3Py в одном месте. Например: просмотр баланса, отправка ETH и ERC20 токенов, минтинг NFT, взаимодействие с контрактами и тд. Эта статья как раз и послужит таким местом.

Анонс второй части с advanced примерами, которые больше подойдут для использования в продакшене с оптимизацией запросов и тд, будет в телеграм канале.

Нырнуть в Web3

Контроль уровня заряда батарей raspberry pi с выводом аудио оповещения

Время на прочтение5 мин
Охват и читатели6.7K
Возникла ситуация, когда необходимо выводить звук-предупреждение о разряде ибп raspberry pi.
В статье предлагается решение с использованием датчика напряжения (Voltage Sensor), arduino nano и «любимой аудио колонки школьника» — портативной «jbl go».

*c 26 секунды
Читать дальше →

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

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

Представим: сервер может отправлять легитимные запросы, но IP, на которые он будет их слать, неизвестны. В журнале сетевого фильтра видно что запросы таки да, идут. Но не ясно - это как раз легитимные или информация уже утекает к злоумышленникам? Было бы проще если бы был известен домен на который сервер посылает данные. Увы, но PTR не в моде, а securitytrails показывает или ничего, или слишком много по этому IP.

Можно запустить tcpdump. Но кто захочет постоянно смотреть в монитор? А если сервер не один? Есть packetbeat. Это чудовище, которое выжрало процессор на всех серверах. Брр… Не хочу о нём вспоминать. Osquery - неплохой инструмент который многое знает о сетевых подключениях и ничего - о DNS-запросах. Соответствующее предложение было просто закрыто. Zeek - о нём я узнал когда начал искать как отслеживать DNS-запросы. Похоже он неплох, но меня смутило два момента: он следит не только за DNS, а значит ресурсы будут тратиться на работу результат которой мне не нужен (хотя, возможно, в настройках можно выбрать протоколы); а ещё он ничего не знает о том какой процесс послал запрос.

Неужели это всё? Я вроде бы что-то слышал про eBPF…

Читать далее

Учимся анализировать — полный цикл

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

Всем привет! Долго собирался выложить данный пост и вот настал момент = )

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

Язык программирования: Python

Перейдем к анализу датасета

Вклад авторов