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

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

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Приватные методы без нижнего подчеркивания и интерфейсы в Python

Недавно угорел по дизайну — модификаторам доступа и интерфейсам, потом перенес это на язык программирования Python. Прошу под кат — делюсь результатами и как это работает. Для заинтересовавшихся в конце статьи есть ссылка на проект на Github.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

10 шагов к успешному Python-проекту

Материал, перевод которого мы сегодня публикуем, посвящён инструментам, которые позволяют оснащать Python-проекты средствами форматирования кода, тестирования, непрерывной интеграции и анализа зависимостей. Это помогает ускорить процесс разработки, способствует повышению качества, единообразия и безопасности кода. Предполагается, что у читателя этого материала уже есть некоторый опыт Python-разработки и проект на Python, с которым он, в ходе чтения, будет экспериментировать. Если такого проекта у вас нет — здесь можно узнать о том, как подготовить среду разработки и создать Python-пакет. Примеры, которые будут здесь приводиться, подготовлены с использованием macOS и Python 3.7.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Подборка @pythonetc, февраль 2019

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

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Инкапсуляция в Python 3

Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «Концепты в языках программирования» при перечислении основных концептов в ООП упоминает только абстракцию — термин который принято считать близким к инкапсуляции по значению, но все-же более обширным и высокоуровневым. С другой стороны, Роберт Мартин в его книге «Чистая архитектура» явно говорит о том, что инкапсуляция, наследование и полиморфизм считается фундаментом ООП.

 

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

     18.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs

ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распространён в нашей обычной жизни, и с ним многие сталкиваются: в сотовой, телефонной, VoIP связи (UMTS, LTE, WiMAX, SS7, H.323), в сетевых протоколах (LDAP, SNMP, Kerberos), во всём, что касается криптографии (X.509, CMS, PKCS-стандарты), в банковских картах и биометрических паспортах, и много где ещё.

В этой статье рассматривается PyDERASN: Python ASN.1 библиотека активно применяющаяся в проектах связанных с криптографией в Атласе.

     18.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Знакомство с Тестированием в Python. Ч. 3

До сих пор вы проводили тесты для одной версии Python с помощью виртуальной среды с определенным набором зависимостей. Но всегда может возникнуть потребность проверить работу приложения на нескольких версиях Python или нескольких версиях пакета. Tox — приложение, автоматизирующее тестирование в нескольких средах.

     16.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Большое O: что это такое, почему это важно, и почему это не важно.

Очень интересная статья Shen Huang о нотации Большое O: Big O notation: why it matters, and why it doesn’tВ статье присутствует

     15.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Доступ к linux серверу с помощью Telegram-бота на Python

Довольно часто происходят ситуации, когда доступ к серверу нужен здесь и сейчас. Однако, не всегда подключение по SSH является наиболее удобным способом, потому что под рукой может не оказаться SSH клиента, адреса сервера или связки «пользователь/пароль». Конечно, есть Webmin, который упрощает администрирование, но он также не даёт моментальный доступ.

     15.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

И снова чат

После прочтения постов про по созданию чат приложений, я решил попробовать написать свой чат (ну как свой, вот исходники) и прикрутить к нему GUI. Может кому нибудь пригодится, и так начнем. Я использовал Python 3.7 + PyQt5.

     15.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Flightradar24 — как это работает? Часть 2, ADS-B протокол

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

     14.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Создаем бота для несложной отчетности при помощи Python и Google BigQuery

Есть ли у вас задачи, которые повторяются изо дня в день, из недели в неделю? Например, написание отчетов. Вы запрашиваете данные, проводите анализ, визуализируете (делаете графики, диаграммы), а затем отправляете начальнику. Но что, если все это автоматизировать?

В этом туториале мы создадим бота для Telegram, который поможет автоматизировать отчетность. А самое классное — вся программа будет состоять всего из 50 строк кода! Если вы создаете бота для Telegram впервые, то стоит прочитать еще вот этот пост.

     14.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

История типизации на примере одного большого проекта

Эта история началась задолго до хайпа о typing в python3.5, более того, она началась внутри проекта, написанного еще на python2.7.

Я занимался проектом Partners в Ostrovok.ru – этот сервис отвечал за все, что связано с партнерскими интеграциями, бронированиями, статистикой, личным кабинетом. У нас использовались как внутренние API для других микросервисов компании, так и внешнее API для наших партнеров.

В какой-то момент в команде сформировался следующий подход к написанию обработчиков HTTP ручек или какой-либо бизнес логики

     13.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Python vs. Scala для Apache Spark — ожидаемый benchmark с неожиданным результатом

Apache Spark на сегодняшний день является, пожалуй, наиболее популярной платформой для анализа данных большого объема. Немалый вклад в её популярность вносит и возможность использования из-под Python. При этом все сходятся на том, что в рамках стандартного API производительность кода на Python и Scala/Java сопоставима, но касательно пользовательских функций (User Defined Function, UDF) единой точки зрения нет. Попробуем разобраться в том, насколько увеличиваются накладные расходы в этом случае, на примере задачи проверки решения SNA Hackathon 2019.

     13.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Получаем ссылки на профили Vk из выдачи SearchFace с помощью Python (но это не точно)

Сегодня мы поговорим о лёгком распознавании лиц с помощью доступных инструментов.
Используются: Python 3.6, searchface.ru, внешний сервис для преобразования ссылок на фото в id (бот в телеграме, на текущий момент)

     12.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Криптографические токены PKCS#11: просмотр и экспорт сертификатов, проверка их валидности

В комментариях к статье «Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509» было пожелание от пользователя Pas иметь не только «парсинг сертификатов», но и получать «цепочки корневых сертификатов и проводить PKI-валидацию, хотя бы для сертификатов на токенах с неизвлекаемым ключом». О получении цепочки сертификатов рассказывалось в одной из предыдущих статей. Правда там речь шла о сертификатах, хранящихся в файлах, но мы обещали добавить механизмы для работы с сертификатами, хранящимися на токенах PKCS#11. И вот что в итоге получилось.

     12.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Почему программисты продолжают использовать многословный Java, хотя есть лаконичный Python

[Осторожно, это наброс на вентилятор]

Java и Python — одинаково популярные языки программирования. Однако Python более продуктивен: в нем меньше объем кода, нужного для решения задачи. Почему же программисты до сих пор работают с Java там, где можно применить Python? Давайте разбираться. Читать дальше →

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Python & Arduino. Просто, быстро и красиво

Очень часто, у начинающих и не только разработчиков возникают вопросы. Как управлять с Arduino с компьютера? А если компьютер — не Raspberry Pi, а обычный домашний компьютер? А если не хочется мучится с ESP8266 и управлять через веб интерфейс? Неужели надо каждый раз открывать Arduino IDE и отправлять команды через Монитор порта? Именно о том, как создать своё собственное приложение с графическим интерфейсом для управления Arduino я сейчас и расскажу.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

[Перевод] Управление памятью в Python

Вы когда-нибудь задумывались как Python за кулисами обрабатывает ваши данные? Как ваши переменные хранятся в памяти? В какой момент они удаляются?
В этой статье мы углубимся во внутреннее устройство Python, чтобы понять, как происходит управление памятью.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Что позволено Jupyter?

Наша история началась с, казалось бы, несложной задачи. Нужно было настроить аналитические инструменты для для data science специалистов и просто аналитиков данных. С таким заданием к нам обратились коллеги из подразделений розничных рисков и CRM, где исторически высока концентрация data science-специалистов. У заказчиков было простое желание —  писать код на Python, импортировать продвинутые библиотеки (xgboost, pytorch, tensorflow и пр.) и запускать алгоритмы на данных, поднятых с hdfs-кластера.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Говорит и показывает: отличается ли риторика кандидатов в президенты?

Можно ли по цитате определить, кто из политиков ее автор? Украинская НКО Vox Ukraine делает проект VoxCheck, в рамках которого проверяет высказывания наиболее рейтинговых политиков. Недавно они выложили всю базу проверенных цитат. Я как раз слушаю курсы по NLP и решила проверить, насколько точно по тексту цитаты можно определить ее автора.

Disclaimer. Эта статья написана из интереса к теме и желания опробовать изученный материал на практике, без претензий на максимально точный и детальный анализ.