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

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

     30.12.2019       Выпуск 315 (30.12.2019 - 05.01.2020)       Статьи
     29.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи
     28.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Реализация строкового типа в CPython

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

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Принимаем и декодируем аналоговое ТВ с помощью SDR и Python

Сегодня мы продолжим тему SDR-приема и обработки сигналов. Приемом аналогового ТВ я заинтересовался совершенно случайно, после вопроса одного из читателей. Однако это оказалось не так просто, из-за банального отсутствия образцов сигнала — во многих местах аналоговое ТВ уже отключено. Читатель даже прислал запись с RTL-SDR, однако ширина записи у RTL порядка 2МГц, в то время как полоса ТВ-сигнала занимает около 8МГц, и на записи было ничего не понятно. В итоге, тема была надолго заброшена, и наконец, только сейчас, в очередную поездку к родственникам я взял с собой SDRPlay, и настроившись на частоты ТВ-каналов, увидел на экране искомый сигнал.

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Автогенерация и заливка элементов конфигураций сетевых устройств с помощью Nornir

Недавно тут проскочила статья Mikrotik и Linux. Рутина и автоматизация где подобную задачу решали ископаемыми средствами. И хотя задача совершенно типовая, на Хабре про нее как то ничего подобного и не находится. Осмелюсь предложить уважаемому ИТ-сообществу свой велосипед.

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Отправляем письма с помощью asyncio и aiohttp из Django приложения

Я занимаюсь разработкой и поддержкой сервиса уведомлений. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отписки у нас работают лучше подписок) пользователям, давшим на это согласие. Со временем база активных получателей разрослась до более миллиона адресов, к чему почтовый сервис не был готов. Я хочу рассказать о том, как новые возможности Python позволили ускорить массовые рассылки и сэкономить ресурсы и с какими проблемами нам пришлось столкнуться при работе с ними.

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Джедайская техника уменьшения сверточных сетей — pruning

Перед тобой снова задача детектирования объектов. Приоритет — скорость работы при приемлемой точности. Берешь архитектуру YOLOv3 и дообучаешь. Точность(mAp75) больше 0.95. Но скорость прогона всё еще низкая. Черт.

 

Сегодня обойдём стороной квантизацию. А под катом рассмотрим Model Pruning — обрезание избыточных частей сети для ускорения Inference без потери точности. Наглядно — откуда, сколько и как можно вырезать. Разберем, как сделать это вручную и где можно автоматизировать. В конце — репозиторий на keras.

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Обзор Keras для TensorFlow

Перевод обзорного руководства с сайта Tensorflow.org. Это руководство даст вам основы для начала работы с Keras. Чтение займет 10 минут.

     24.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Юнит-тесты на Python: Быстрый старт

Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть они гарантируют, что система будет вести себя согласно сценарию, когда добавятся новые функциональные возможности или изменятся существующие.

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

     24.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Короче, сделал столетний блокбастер цветным

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

     23.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи
     23.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи
     23.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Junos PyEZ на примере задачи по поиску свободных подсетей ipv4

Статья о работе с Junos PyEZ — “Python microframework that enables you to manage and automate devices running Junos OS” автоматизация и управление, все как мы любим. Написание скрипта описанного в этой статье преследовало несколько целей — изучение Python и автоматизация задач по сбору информации или изменения конфигурации на оборудовании под управлением Junos OS. Выбор именной этой связки Python + Junos PyEZ был сделан из-за низкого порога вхождения в язык программирования Python и простоты использования библиотеки Junos PyEZ, которая не требует экспертных знаний Junos OS.

     23.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Шаблоны проектирования в Python

Оригинальная статья: Darinka Zobenica  – Design Patterns in Python

     23.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Порождающие шаблоны в Python

Оригинальная статья: Darinka Zobenica – Creational Design Patterns in Python 

Первая статья в небольшой серии статей, посвященных шаблонам проектирования в Python.

     19.12.2019       Выпуск 313 (16.12.2019 - 22.12.2019)       Статьи

Нас Django вкус волнует и манит

Прошло уже несколько недель, как официально вышла 3 версия Django. Я работал с этой версией ещё до публикации официального релиза и, к сожалению, заметил, что развитие Django сильно замедлилось. Версия 1.3 от 1.7 отличается в разы, а вот 3 версия содержит косметические изменения ветки 2 и не более.

     19.12.2019       Выпуск 313 (16.12.2019 - 22.12.2019)       Статьи

Сортировка слиянием (Merge Sort) в Python

Сортировка слиянием (Merge Sort) – один из самых известных алгоритмов сортировки. Если вы изучаете информатику, Merge Sort вместе с Quick Sort, вероятно, является первым эффективным алгоритмом сортировки общего назначения, о котором вы слышали. Это также классический пример алгоритма «разделяй и властвуй» (divide-and-conquer).