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

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

     16.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Как определять собственные классы исключений в Python

Ваш интерес к новой книге "Секреты Python Pro" убедил нас, что рассказ о необычностях Python заслуживает продолжения. Сегодня предлагаем почитать небольшой туториал о создании кастомных (в тексте — собственных) классах исключений. У автора получилось интересно, сложно не согласиться с ним в том, что важнейшим достоинством исключения является полнота и ясность выдаваемого сообщения об ошибке. Часть кода из оригинала — в виде картинок.

     15.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Интересные проекты, инструменты, библиотеки

Использование модуля tempfile в Python

В этой статье рассмотрим модуль из стандартной библиотеки для создания временных файлов и папок в Python.

     15.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Строим надёжную конкурентность с FSP и моделированием процессов

Сегодня посмотрим как смоделировать программу с конкурентностью на FSP. Сначала давайте разберемся, зачем вообще нужна конкурентность. Вот что можно сделать с её помощью:

 

 

  • Повысить производительность многопроцессорного железа, это и называется параллелизм;
  • Увеличить пропускную способность приложения (вызову ввода-вывода нужно блокировать только один поток);
  • Сделать приложение отзывчивее за счёт выполнения основных задач параллельно фоновым (высокоприоритетный поток для запросов пользователей);
  • Структурировать программу, повысив её эффективность (взаимодействующие со средой программы управляют несколькими действиями и обрабатывают несколько событий).

     15.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Constraint Programming или как решить задачу коммивояжёра, просто описав её

Пожалуй, наиболее популярной парадигмой программирования является императивное программирование. Но это не единственный вид программирования, широко известны функциональное и логическое программирование. Constraint Programming (Программирование в ограничениях/Ограниченное программирование) не так популярно. Но это очень мощный инструмент для решения комбинаторных задач. Вместо реализации алгоритма, который решает задачу, с последующей тратой кучи времени на его отладку, рефакторинг и оптимизацию, программирование с ограничениями позволяет вам просто описать модель в специальном синтаксисе, а особая программа (решатель - solver) найдет решение за вас (или скажет, если их нет). Впечатляет, не правда ли? Мне кажется, каждый программист должен знать о такой возможности.

     15.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Релизы

django-etc 1.3.0 — пользовательские формы в админке Django

Как быстро и просто создать страницу с пользовательской формой для административного интерфейса Django.

     14.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Как мы в СберМаркете боремся с товарами-призраками

В офлайне покупатель видит полки магазина и сам может понять, чего нет в наличии, а что можно положить в корзину и купить прямо сейчас. В онлайне«‎глазами»‎ пользователя становится каталог: он всегда должен быть актуальным. 

 

     14.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Мы опубликовали современный Voice Activity Detector и не только

Для решения задачи детекции голоса (Voice Activity Detector, VAD) существует довольно популярный инструмент от Google — webRTC VAD. Он нетребовательный по ресурсам и компактный, но его основной минус состоит в неустойчивости к шуму, большом числе ложноположительных срабатываний и невозможности тонкой настройки. Понятно, что если переформулировать задачу не в детекцию голоса, а в детекцию тишины (тишина — это отсутствие и голоса и шума), то она решается весьма тривиальными способами (порогом по энергии, например), но с теми же минусами и ограничениями. Что самое неприятное — зачастую такие решения являются хрупкими и какие-то хардкодные пороги не переносятся на другие домены.

     14.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Скрапинг современных веб-сайтов без headless-браузеров

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

Для его демонстрации вместо Selenium, Puppeteer или любого другого решения на основе безголовых браузеров мы просто используем запросы на Python. Я объясню, как можно скрапить информацию из публичных API, которые потребляет на фронтэнде большинство современных веб-сайтов.

     14.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Соревнование KAGGLE по определению риска дефолта заемщика. Разработка признаков

Соревнования Kaggle с использованием структурированных данных очень часто выигрывают специалисты по разработке признаков: побеждают те, кто может создавать наиболее полезные признаки из данных. Это представляет собой одну из закономерностей в машинном обучении: разработка признаков дает больший возврат инвестиций, чем построение модели и настройка гиперпараметров. Как говорит один из ведущих ученых в области машинного обучения – Эндрю Ын: «Прикладное машинное обучение — это в основном разработка признаков».

 

     14.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Вопросы и обсуждения
     13.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи
     12.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Пора избавляться от мышки или Hand Pose Estimation на базе LiDAR за 30 минут

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

     12.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Стилометрия, или как отличить Акунина от Булгакова с помощью 20 строк кода?

Довольно интересным направлением "прикладной статистики" и NLP (Natural Languages Processing а вовсе не то что многие сейчас подумали) является анализ текста. Появилось это направление задолго до компьютеров, и имело вполне практическую цель: определить автора того или иного текста. С помощью ПК это впрочем, гораздо легче и удобнее, да и результаты получаются весьма интересные. Посмотрим, какие закономерности можно выявить с помощью совсем простого кода на Python.

     11.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Релизы

fpdf2 2.2.0

fpdf2 is a minimalist PDF creation library

     11.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи
     11.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Статьи

Подборка статей о машинном обучении: кейсы, гайды и исследования за декабрь 2020

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