IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     12.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Подтесты в Python

Механизм unittest.TestCase.subTest появился в Python 3.4, это был простой инструмент для параметризации тестов. Изначальную дискуссию, посвящённую ему, можно почитать в трекере проблем Python, в ветке bpo-16997. Там, в основном, речь идёт о деталях реализации, но там можно найти и интересные рассуждения

     10.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

Financial News Sentiment Dataset: определяем точку входа в акции по настроению новостей

Набор данных Financial News Sentiment Dataset (FiNeS) содержит в себе заголовки финансовых новостей о компаниях, торгующихся на Московской и СПб биржах. Целевой переменной датасета является оценка тональности новостных заголовков в виде вещественного числа. Идеи для использования датасета: Создание трейдинговых стратегий на основе анализа тональности новостей "на лету"; Анализ новостного фона в разрезе времени (день/неделя) или в разрезе компании.

     09.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

Факторный анализ для интерпретации исследования клиентского опыта

Вы провели опрос клиентского опыта в вашей компании. В данном случае на каждый вопрос клиенты отвечали по 10 бальной шкале, где 1 - совсем неудовлетворен, а 10 - полностью удовлетворен. Вопросы разбиты на несколько тематических блоков.

     09.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

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

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

     08.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

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

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

     06.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

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

Как создать приложение с открытым кодом для планирования пеших походов и выбора оптимального маршрута? Любой заядлый турист знает: всё, что ждёт его в походе, зависит от подготовки.

     06.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

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

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

     05.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

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

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

     05.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

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

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

     03.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

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

Эта статья вдохновлена моим обучением. Когда я только начинал свой Python-way, на одном из форумов увидел новое для себя понятие - слоты. Но сколько я не искал, в сети было крайне мало статей на эту тему, поэтому понять и осознать слоты было достаточно сложно. Данная статья призвана помочь начинающим в этой теме, но даже опытные разработчики, уверен, найдут здесь нечто новое.

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

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

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

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

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

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

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Best Practices для Python

У всех разработчиков со временем нарабатывается опыт, растёт экспертиза. Когда вы много лет занимаетесь разработкой, приходит понимание каких-то общих концепций, вырабатываются правила поведения в конкретных сценариях.

В этой небольшой статье я хочу рассказать про свои Best Practices, которые я применяю и всегда советую другим. Сверху будут наиболее общие замечания, но чем ниже по статье вы будете продвигаться, тем больше будет реальных проблем и советов (с кодом и т. п.).

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

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

Начиная знакомиться с Web3, было сложно найти в одном месте понятные примеры базовых операций на Web3Py. Например: просмотр баланса, отправка транзакций, минтинг NFT, взаимодействие с контрактами и тд. В этой статье я попытался собрать примеры, которые покрывают > 90% потребностей для разработки бэкенда для web3 приложений. Кстати, все примеры будут применимы и для Web3.js с поправкой на название методов и синтаксис.

     01.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

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

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

     01.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

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

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

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Найти вероятность выпадения k (сумма выпавших значений) при бросании n кубиков (часть 2 из 2)

Продолжаем решать задачу описанную в предыдущей статье: Есть n стандартных игральных костей (6-ти гранных кубиков) со стандартным обозначением всех граней от 1 до 6. Бросаем все n кубики разом. Нужно найти вероятность выпадения числа k, а именно суммы всех значений, выпавших на этих кубиках. Доходим до 1000 кубиков.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Оптимизационные задачи в ритейле

Цели данной статьи:

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

  • продемонстрировать, как модельная задача ценообразования решается пакетами Pyomo и SciPy,

  • сравнить производительность солверов* Pyomo и SciPy на примере поставленной задачи.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Как выбрать в Python подходящий конкурентный API

В стандартной библиотеке Python (stdlib) предлагается три способа для конкурентного выполнения задач в программе — это модуль multiprocessing для конкурентности на уровне процессов, модуль threading для конкурентности на уровне потоков, а также модуль asyncio для конкурентности на основе корутин. Выбор такой широкий, что можно запутаться.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Паттерны взаимодействия с ботами в Telegram: неочевидные практики на Python и баг в мессенджере

Я часто взаимодействую с ботами в Telegram. Чаще как пользователь, но создать собственного бота или потрогать чужого я не боюсь. При разработке собственного решения чувствуется, что бот не похож на GUI- или веб-приложение, но программисты тщательно превозмогают это чувство и делают так, как проще с точки зрения программирования.

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