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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     24.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Telegram bot на aiogram + Google Analytics 4

Дело в том, что гугл объявил о закрытии Universal Analytics и полном переходе на Google Analytics 4. Погуглив стало ясно что инфы про новую аналитику крайне мало, а о её работе с питоном инфы в принципе нет.

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

     23.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Обратная сортировка списка в Python

Рассмотрим все возможные способы обратной сортировки списков в Python

     22.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

KiCad: Скругление дорожек и каплевидные пады, часть 2

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

     21.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Отправка SMS кириллицей с AT-модема

Оперативное информирование клиентов, когда их достаточно много для ручного обзвона, но недостаточно много для подключения массового сервиса, вроде sms.ru (на самом деле сервис хорош, но недавняя политика некоторых мобильных операторов создала определённые финансовые сложности ввиду заградительных тарифов на использование услуг sms-рассылок с/без использования имён) родило потребность в применении независимого инструмента.

     21.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Скрипты по сусекам: как создать инструмент для контроля числа серверных комплектующих на складе

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

     21.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Синхронизируем данные с yarsync

yarsync - Yet Another Rsync - предназначен для синхронизации данных между несколькими устройствами, более точно - между файловыми системами в Unix-подобных средах. yarsync обладает интерфейсом, похожим на git, и является Python-обёрткой вокруг программы rsync. Программа доступна под свободной лицензией GPL v3.0 на github (я автор).

 

     20.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Ускорение производительности Python в 3.11

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

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

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Сравнение алгоритмов детекции лиц

Очень часто я на просторах интернета натыкаюсь на такой вопрос: «А какое готовое решение по детекции лиц лучше всего использовать?» Так вот, я отобрал 5 решений с Github, которые показались мне хорошими, относительно новыми и лёгкими в использовании, и хотел бы сравнить их между собой. Всем, кому интересно, что из этого вышло, добро пожаловать под кат!

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

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

 

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 5

На прошлом уроке я рассказал о том, как повысить контрастность изображения и как выделить на изображении особе точки. Затем мы попробовали работать с найденными особыми точками. В частности, превратили эти точки в список  координат и попытались объединить близкие точки в одну, так как у нас получилось очень много точек рядом. В статье был предложен следующий алгоритм: при составлении списка, перед добавлением в список очередной точки проверять, находится ли она близко от последней, если да, то добавлять в тот же список, если нет, то начинать новый список.  Только проблема в том, что обход точек был через развертку, и могло получиться так, что близкие точки попадают в разные списки. Поэтому объединение точек получилось «криво».  Сегодня мы исправим этот недочет.

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Подбор синонимов для терминов с использованием Викиданных (python)

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

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

A Better, Faster, and Stronger Object Detector (YOLOv2)

Detection frameworks have become increasingly fast and accurate, as seen in our last post on YOLOv1; however, most detection methods are still constrained to a small set of objects like 20 classes in PASCAL VOC and 80 classes in Microsoft COCO.

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Статьи

Автоматическая суммаризация текстов с помощью трансформеров Hugging Face. Часть 1

В июле 2020 года компания OpenAI выпустила свою модель машинного обучения третьего поколения, GPT-3, ориентированную на генерирование текстов. Тогда я понял, что мир уже не будет прежним. Эта модель задела меня за живое. Те системы такого рода, что выходили раньше, у меня подобных ощущений не вызывали. И вот ещё неожиданность — о новой системе начали говорить мои друзья и коллеги, в принципе интересующиеся технологиями, но не особенно обращающие внимание на последние достижения машинного обучения (Machine Learning, ML) и искусственного интеллекта (Artificial Intelligence, AI). Об этом написала даже газета Guardian. А если точнее — статью написала сама модель, а в Guardian её лишь отредактировали и опубликовали. Совершенно очевидно то, что выход модели GPT-3 стал поворотным моментом в развитии искусственного интеллекта.

     18.04.2022       Выпуск 435 (18.04.2022 - 24.04.2022)       Видео

Moscow Python Podcast. Из проектирования в разработчики (level: all)

В гостях у Moscow Python Podcast Python QA-инженер компании Genesys Юрий Польников. Обсудили с Юрием его путь из инженера в сфере строительства и преподавателя в разработчики.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Анализ данных виртуальных велотренировок

В предыдущей статье я рассказал о том, как получить данные о персональных тренировках из набора FIT-файлов, которые создаются при использовании носимых устройств (фитнес-браслеты, часы, смартфоны, велокомпьютеры).

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Денис Толкачев, Сбер,Лаборатория Нейронаук. Производственный брак. Ищем некрасивую рыбу на конвейере

Как разработать систему распознавания рыб на конвейерной ленте, имея на руках только видеозаписи рыб с ленты, raspberry pi и python. При этом хотим близкое к real-time быстродействие системы на rpi и не сойти с ума. Требования к модели: уметь отличать рыбу от остальных предметов, определять вид рыбы, положение рыбы на ленте (головой в сторону движения или хвостом, хребтом вправо или влево), брак. В данном докладе хотелось бы рассказать слушателям про путь в данной задаче: Поиск похожих решений: их достоинства и недостатки, Как формировали собственное решение: Детекция - Сегментация - Выбор моделей, Разметка, Обучение, Первые попытки и интеграции, Попытки обучить «легкие» модели и переразметка имеющихся данных.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Павел Мальцев, Speechki. Redis, сова и глобус

Все мы привыкли, что Redis простой инструмент, который прекрасно подходит для кеширования в формате Key-Value. Однако в нём есть более весёлые структуры данных, которые могут сделать нашу жизнь веселее и приятнее. Залезем в кроличью нору и найдём в документации списки, хеши, множества и другие структуры. Покажу несколько кейсов из реального продакшена, где эти структуры полезны и как использовать их особенности себе на пользу. Строим свой велосипед на двух колёсах.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Станислав Фатеев, CVisionLab. Pydantic: валидируй это. Как работать с данными быстро и без боли

Вы уверены, что приходящие к вам данные соответствуют вашим ожиданиям? Добавим немного определённости в нашу жизнь с помощью Pydantic. В своём докладе я расскажу о том, как сериализовать и валидировать данные и почему это важно. Поделюсь тем, как мы значительно упростили процесс поддержки и парсинг параметров production приложения. И как использование Pydantic помогло нам: улучшить структурированность параметров, настроить версионирование и проверку в CI текущей схемы на наличие изменений, получить автоматическое построение документации параметров минимальными усилиями. И в целом расскажу о преимуществах, недостатках и полезных особенностях Pydantic. Как уйти от работы со словарями к классам. А также затрону нетривиальные возможности и случаи использования.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Матвей Коняев, Точка. Как писать тесты дешевле

Доклад поможет раскрыть несколько важных моментов, которые помогут написать тесты дешево, быстро и правильно: Общая архитектура приложения, при которой удобно использовать интеграционные тесты Общая архитектура тестов Использование pytest и mocker На реальном примере покроем приложение сначала юнит-тестами и убедимся, что такой подход к тестированию не совсем корректный и в итоге пропускает ошибки в функционале. Параллельно посмотрим, что наличие исключительно интеграционных тестов тоже несет не всегда позитивные последствия. На примере доклада рассмотрим подход к разработке, который находится между TDD и "разработал и после покрыл тестами". Помимо всего прочего, сможем посмотреть, как можно тестировать код на максимальную глубину, даже захватывая базовые классы Слушатели смогут убедиться, что высокий процент покрытия тестами — это не всегда хорошо. А так же смогут понять, что разработка и параллельное тестирование собственного кода — это сбалансированный подход в плане качества кода, стоимости разработки. Мы сможем посмотреть на реальном примере, что писать тесты с хорошей архитектурой не так сложно и долго.

     15.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Видео

Данил Ахтаров, Тинькофф. Почему питон не будет функциональным и почему нафиг никому это не нужно

На питоне можно писать так и эдак, но когда ты в команде, кто-то "старший" решает, как лучше это делать. Вы могли слышать, что "этот код не питонячий", "так на питоне не пишут". Стоит разобраться почему. Я совсем недавно открыл для себя функциональное программирование, и мне понравился этот стиль. В основном композиция функций на языке Хаскель. Так как мой основной стек это Python, я предполагал, что такое можно сделать и на нем. Но почему все используют императивный подход в разработке и внедрить в свой рабочий проект новые идеи очень сложно. Если все таки захотим использовать функциональный стиль, с какими проблемами можем столкнуться? Если честно, в питоне мало фичей для ФП, но можно использовать диалекты, с помощью которых ваш код будет декларативным и более читаемым для людей. Но есть свои недостатки, которые нельзя игнорировать. В своем докладе я предлагаю познакомиться с этой темой и, возможно, вы отметите для себя что-то интересное.