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

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

     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

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

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

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

Датаклассы в Python 3.7

Иногда нам нужны классы просто для того, чтобы удобно хранить в них данные.

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

Moscow Python Conf++ 2019 — первая конференция, где мы готовим часть спикеров с нуля сами

Как обычно делается — открывается Call for Papers (вот он, открыт, ничего с ним не случилось), месяца полтора-два организаторы уговаривают топовых спикеров предложить доклады, те отбиваются работой и семьей, а затем из сотни-другой поступивших докладов выбирается несколько десятков в программу, и все выдыхают. Хороший способ, с одним ма-а-а-аленьким недостатком: много случайностей.

Не факт, что даже опытный спикер сможет сделать сильный доклад по предложенной теме. Я решил попробовать пойти по пути Goblin Slayer и не кидать кубиков вообще: сам приходить в гости к компаниям, сам проводить интервью, выбирать темы и с нуля готовить спикеров. Видели бы вы их глаза от такого предложения… Фоток не будет, но под катом расскажу что получилось.

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

Несколько подводных камней статической типизации в Python

Думаю, мы все потихоньку уже привыкаем, что у Python есть аннотации типов: их завезли два релиза назад (3.5) в аннотации функций и методов (PEP 484), и в прошлом релизе (3.6) к переменным (PEP 526).

 

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