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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

«Удаление» объектов в Django

Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Python. DTO + аннотации типов

Ингода динамическая типизация Python позволяет писать код, который просто писать, но довольно сложно читать и, как следствие, поддерживать.

В этой статье я хочу рассмотреть паттерн Data Transfer Object (DTO) который зачастую помогает сделать код более читабельным.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Подборка @pythonetc, январь 2019

Это восьмая подборка советов про Python и программирование из моего авторского канала @pythonetc.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Как мы делали мониторинг сети на 14 000 объектов

У нас было 14 000 объектов, zabbix, api, python и нежелание добавлять объекты руками. Под катом — о том, как сетевиками внедрялся мониторинг с автоматическим добавлением узлов сети, и немного про боль, через которую пришлось пройти.

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

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Микрооптимизации для Python 3.8

Работа над повышением производительности Питона продолжается.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Разбираем протокол пейджерных сообщений POCSAG, ч2

В первой части был рассмотрен протокол обмена пейджерными сообщениями POCSAG. Были рассмотрены цифровые сообщения, перейдем теперь к более «полноценным» сообщениям в формате ASCII. Тем более, что декодировать их интереснее, т.к. на выходе будет читаемый текст.

     03.02.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1

В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) — MicroPython, и начал делать. Взял готовую плату на esp8266 и выделил час свободного времени на это. Но, как это бывает с не очень популярными и не обкатанными проектами, задача немного затянулась.

 

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

     03.02.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Разбираем протокол пейджерных сообщений POCSAG, ч1

Давным-давно, когда мобильный телефон стоил 2000$ и минута звонка стоила 50 центов, была такая популярная штука как пейджинговая связь. Затем связь стала дешевле, и пейджер сначала превратился из престижного атрибута делового человека в непрестижный атрибут курьера или секретаря, а затем эта технология практически и вовсе сошла на нет.

     03.02.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

SciPy, алгоритмы на графах

Рассмотрим применение пакета scipy.csgraph на примере детской игры "Лесенки слов", придуманной Льюисом Кэрроллом в Рождество 1877 года. В этой игре нужно найти путь между словами, проводя замену по одной букве за раз.

     03.02.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Python + Raspberry Pi + Pixhawk и квадрокоптер. Или как не надо делать роботов

Каждый год у нас проводится конкурс новогодних украшений, и каждый раз мы ничего не украшаем, а пилим всякие технологичные штуки. В этот раз скрестили дрон и Smart TV-приложение. А что из этого получилось — читайте ниже.

Идея была вполне реализуема. Хотели сделать квадрокоптер в виде саней Деда Мороза, который бы сам и под музыку развозил по офису подарки для сотрудников. При этом ориентироваться в пространстве он должен был с помощью анализа ArUco-меток, взаимодействуя с приложениями для телевизоров («сдувание» работающими винтами дыма из труб, выбегание зверушек для встречи/провожания квадрокоптера).

     03.02.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

SciPy, ввод и вывод в MATLAB

SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave, R-Lab и SciLab. В этом посте я хотел бы рассказать о возможностях пакета ввода/вывода scipy.io, который позволяет работать с файлами данных Octave и MATLAB.

     31.01.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Кортеж здорового человека

Эта статья — об одном из лучших изобретений Python: именованном кортеже (namedtuple). Мы рассмотрим его приятные особенности, от известных до неочевидных. Уровень погружения в тему будет нарастать постепенно, так что, надеюсь, каждый найдёт для себя что-то интересное. Поехали!

     29.01.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Предиктивная аналитика данных — моделирование и валидация

Представляю вашему вниманию перевод главы из книги Hands-On Data Science with Anaconda
«Предиктивная аналитика данных — моделирование и валидация»

     28.01.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Делаем рейтинг городов России по качеству дорог

Как при помощи Яндекс.Панорам, Python и Keras - объективно оценить ситуацию с качеством дорог в нашей стране.

     28.01.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Учим компьютер различать звуки: знакомство с конкурсом DCASE и сборка своего аудио классификатора за 30 минут

Работая в Центре Речевых Технологий в Санкт-Петербурге, мы накопили немного опыта в решении задач классификации и детектирования акустических событий и решили, что готовы им с вами поделиться. Цель этой статьи — познакомить вас с некоторыми задачами и рассказать о соревновании по автоматической обработке звука “DCASE 2018”.

     28.01.2019       Выпуск 267 (28.01.2019 - 03.02.2019)       Статьи

Бэкап для Linux не пишет писем

Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста.

На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление пользователя: «Ну как же так? Cервер не пишет писем о том, что он забэкапился!». Причём, со слов аналитиков, он не один такой, иначе бы не появился тред на форуме. А раз люди пишут — значит, это кому нибудь нужно!

В статье я поясню, почему этой функции в продукте нет. Но на этом мы не остановимся, мы эту функцию добавим! Мы ж программисты, так что напишем письмо и сгенерируем отчёт в виде html страницы.

     26.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи
     25.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи

Как использовать вложенные формы в Django Django

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

     24.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи

Безопасность алгоритмов машинного обучения. Атаки с использованием Python

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

 

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

     24.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи

Распознавание номеров. Практическое пособие. Часть 1

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

И в один прекрасный день МВД Украины открыло доступ к реестру транспортных средств. Теперь по номерному знаку стало возможным проверять некоторую информацию про автомобиль (марку, модель, год выпуска, цвет и т.д. )! Скучная рутина линейного программирования померкла перед новой свехзадачей — считывать номера по всей базе фото и валидировать эти данные с теми, что указывал пользователь. Сами знаете как это бывает «глаза загорелись» — вызов принят, все остальные задачи на время стали скучны и монотонны… Мы принялись за работу и получили неплохие результаты, чем, собственно и решили поделиться с сообществом.